Избранное трейдера Ramil Shahattudinov
Здравствуйте, подскажите пожалуйста, прописываю вот такой код:
firmid = «XXXXXXXXX»;
client_code = XXXX;
limit_kind = 2;
cena = getPortfolioInfoEx (firmid,client_code,limit_kind, portfolio_value)
message (""..cena)
Но выдает ошибку:
attempt to concatenate a nil value (global 'cena')
Подскажите в чем проблема
У меня есть несколько статей на SL, из которых можно проследить мой путь создания стратегии и рабочего торгового алгоритма. Если коротко, можно посмотреть здесь. Если хочется больше, то можете полистать блог и ещё почитать статьи на VC, там тоже есть несколько полноценных статей.
Давайте расскажу кратко для тех кому лень. Несколько лет я работал над алгоритмом для торговли на фьючерсном рынке, изначально делал все под Brent. Сделал торгового бота под QUIK, набрал небольшой пул людей с SL, начало тестировать на живых деньгах. После этого я написал первую статью на VC и мне удалось привлечь несколько крупных инвесторов.
Крупные инвесторы предложили уйти на американский рынок. Я согласился, мы переписали алгоритм под API EXANTE и полностью перешли на американский рынок и активно занялись фьючерсами.
function main() local Trades = {} local comission = 0 SearchItems('trades', 0, getNumberOf('trades')-1, function (class_code, trade_num, flags, exchange_comission) if class_code == 'SPBFUT' or class_code == 'SPBOPT' then -- Учитываем только сделки на срочной секции comission = comission + exchange_comission local t = {flags & 0x4, exchange_comission} if Trades[class_code] then Trades[class_code][trade_num] = t else Trades[class_code] = {[trade_num] = t} end end return false end, 'class_code,trade_num,flags,exchange_comission') local total = 0 local maker = 0 local taker = 0 local comission2 = 0 SearchItems('all_trades', 0, getNumberOf('all_trades')-1, function (class_code, trade_num, flags, sec_code) if Trades[class_code] then local t = Trades[class_code][trade_num] if t then total = total + 1 if flags & 0x1 ~= 0 then if t[1] == 0 then maker = maker + 1 else taker = taker + 1 comission2 = comission2 + t[2] end elseif flags & 0x2 ~= 0 then if t[1] == 0 then taker = taker + 1 comission2 = comission2 + t[2] else maker = maker + 1 end else comission2 = comission2 + t[2] end end end return false end, 'class_code,trade_num,flags,sec_code') message(string.format('total: %u\nmaker: %u\ntaker: %u\n\ncomission\nсейчас: %.2f\nскальпинг: %.2f\nстанет: %.2f', total, maker, taker, comission, comission / 2, comission2 * 3)) end
Еще недавно образ идеального трейдера был таким: молодой, без семьи и финансовых обязательств, ничем не обремененный любитель компьютерных игр. Но мы в Live Investing сразу начали бороться с этим стереотипом. Среди наших трейдеров много тех, кто начал торговать в более зрелом возрасте, много ребят с семьями, с детьми. Торгуют они так же успешно, как и более молодые трейдеры.
Мы уверены, что трейдер в первую очередь должен быть разумным, трудолюбивым и упорным. Как мы говорили не раз, трейдинг — самый долгий и сложный путь к быстрым деньгам. Без упорства здесь не обойтись.
И нужно быть готовыми к тому, что на изучение трейдинга вам потребуется несколько лет. Почему-то никто не жалуется на то, что нужно учиться в школе 9-11 лет, в институте — 5 лет. Все принимают данные факты как должное. Но изучить трейдинг многие хотят за месяц, и, желательно, сразу достичь каких-то невероятных результатов — например, сделать миллион. Но зачастую требуется время и усилия, чтобы прийти к хорошему заработку на бирже.