Добрый день. Прошу подсказки.
Вывел выставление заявки в отдельную функцию (из main), но столкнулся с тем, код выставив заявку, обратно в функцию main не возвращается (код выключается). В чем может быть дело? И еще вопрос, в этом случае (выставление заявки не в функции main) будут ли функции обратного вызова отрабатывать нормально, смогут ли они (например) нормально отлавливать исполнение заявки по номеру?Буду благодарен за любые комментарии по сути
Ниже выдержка из кода. Прошу игнорировать детали не имеющие отношение к вопросу. Спасибо
Вывел выставление заявки в отдельную функцию (из main), но столкнулся с тем, код выставив заявку, обратно в функцию main не возвращается (код выключается). В чем может быть дело? И еще вопрос, в этом случае (выставление заявки не в функции main) будут ли функции обратного вызова отрабатывать нормально, смогут ли они (например) нормально отлавливать исполнение заявки по номеру?Буду благодарен за любые комментарии по сути
Ниже выдержка из кода. Прошу игнорировать детали не имеющие отношение к вопросу. Спасибо
| Код |
|---|
function MarketOrderBuyF(QuantityFigure, Id_B_Order, Circle,Status_B_Order,State_B_Order)
local MarketOrderBuy = {
["ACTION"] = "NEW_ORDER",
["ACCOUNT"] = Depo,
["OPERATION"] = "B",
["CLASSCODE"] = "SPBFUT",
["SECCODE"] = SecCode,
["PRICE"] = "0",
["QUANTITY"] = tostring(QuantityFigure),
["TRANS_ID"] = tostring(Id_B_Order),
["TYPE"] = "M",
}
local Err_Order = sendTransaction(MarketOrderBuy)
while Status_B_Order == nil and Err_Order == "" do
sleep(10)
end
if Status_B_Order == 3 then -- ждем когда в переменную State_B_Order запишется значение, от того запишется ли значение зависит величина take profit
while State_B_Order ~= "ИсполненаПокупка" do
sleep(10)
end
end
return State_B_Order
end
function main()
local Enter_in_pos = "no"
while Enter_in_pos == "no" do
MarketOrderBuyF(1,Id_B_Order,1,Status_B_Order,State_B_Order) -- выставление заявки на покупку по рыночной цене передаю в функцию
if State_B_Order == "ИсполненаПокупка" then -- если исполнена покупка, выставляю take profit
while Trade_B == nil do-- ждем пока в переменную trade_B запишется значение - от trade _B зависит величина Take profit
sleep(10)
end
message("State_B_Order"..State_B_Order)
Enter_in_pos = "Yes"
end --
sleep(1000) |