Я новичок, мне нужно знать как отправлять заявку по текущей цене(купля).

Страницы: 1
RSS
Я новичок, мне нужно знать как отправлять заявку по текущей цене(купля).
 
Привет, мне нужно покупать по текущей цене(купля).Но пишет: Неправильно указана цена: "nil". Вот код:
is_run=true

function main()
buy = {
           CLASSCODE='SPBFUT',
           SECCODE='EDH1',
           ACTION='NEW_ORDER',
           ACCOUNT='xxxj',
           CLIENT_CODE='xxx',
           TYPE='L',
           OPERATION='B',
           QUANTITY=tostring(1),
           PRICE=tostring(price_buy),
           TRANS_ID=tostring(1)
     }


res=sendTransaction(buy)
message(res,1)
end
function OnQuote(class, sec)
     if class=="SPBFUT" and sec=="EDH1" then
     ql2 = getQuoteLevel2Ex('SPBFUT', 'EDH1')
     i = tonumber(ql2.bid_count)
     price_buy=ql2.bid[i].price
   
     end

end
 
Так у вас скрипт сразу же после запуски пытается купить, но OnQuote еще не получил price_buy
Вот и получается, что отправляете транзакцию с пустой ценой
 
По цене рынка покупка производится с параметром TYPE='M', стоимость указывается как '0' (кроме FORTS где надо указывать максимально невыгодную цену).
 
Коля, добрый день!

Как верно заметили ранее, если необходимо выставить заявку по рыночной (текущей цене), то в параметре TYPE необходимо указать "M", а параметр PRICE указать равным 0.
В случае приведенного Вами кода, Вы подаете лимитированную заявку, ничего при этом не указав в параметре PRICE (так как, опять же, заметили в данной теме ранее, при запуске скрипта сразу же отправляется транзакция, не успев получить значение цены).
Страницы: 1
Читают тему
Наверх