Добрый день. Прошу подсказки.
Вывел выставление заявки в отдельную функцию (из 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) |