"KILL_ALL_FUTURES_ORDERS"

Страницы: 1
RSS
"KILL_ALL_FUTURES_ORDERS", Снятие всех активных заявок на FORTS
 
Здравствуйте!

Подскажите, пожалуйста, почему не работает нижеприведенный скрипт на QLua на одномоментное снятие всех активных лимитированных заявок из таблицы заявок.
Пробовала и на 32-х и на 64-х разрядных версиях Quik?
Обязательные параметры «CLASSCODE», «TRANS_ID», «ACTION», «ACCOUNT» проставлены (Руководство пользователя QUIK (Раздел 6. Совместная работа с другими приложениями, 6.9. Импорт транзакций).).
Скрипт не запускается, но при этом не ссылается на ошибки.
Что не так?

IsRun = true;

function main()

   Killer = {  
       ACCOUNT = '******',
       ACTION = "KILL_ALL_FUTURES_ORDERS",
       TRANS_ID = tostring(8),
       CLASSCODE = 'SPBFUT'  
               }
       Err_Killer = sendTransaction(Killer)    

end             -- оператор завершения function main  

function OnStop()
IsRun = false
return 5000
end
               
 
Елена Сидорова,  добрый день.

Для транзакции KILL_ALL_FUTURES_ORDERS необходимо указать также параметр BASE_CONTRACT - идентификатор базового актива фьючерсов, по которым необходимо снять заявки.
 
Спасибо, Антон, за оперативный ответ!

Прошу прощения, за наивные вопросы, но я только начинаю программировать на QLua.

У меня с десяток активных лимитированных заявок на FORTS на разные контракты.
И, при достижении определенного профита, мой робот продает все купленные контракты по рынку.
А выставленные роботом ранее на продажу лимитированные заявки необходимо все разом снять.
Это у меня пока не получается.
Подскажите, пожалуйста, в каком формате писать базовый контракт, например, на золото и юань. Не смогла найти примеры.
Их в скрипте перечислять последовательно?

BASE_CONTRACT = GOLD,
BASE_CONTRACT = CNYRUB_TOM
и т.д.


И как прописывать в этом случае TRANS_ID = ???
В моем простеньком роботе на покупку для всех контрактов стоит TRANS_ID = tostring(8).

Заранее, спасибо!
Елена.
 
Здравствуйте!

Написала вот такой скрипт для удаления лимитированной заявки GZZ3.
Quik версии 7.19.3.1.
Window 7 32-х разрядный.

Все равно не работает(

IsRun = true;

function main()

   K = {  
       ACCOUNT = '*******',
       ACTION = 'KILL_ALL_FUTURES_ORDERS',
       TRANS_ID = tostring(8),
       OPERATION = S,
       BASE_CONTRACT = GAZR,
       CLASSCODE = 'SPBFUT'  
               }
       Err_K = sendTransaction(K)  

end  

function OnStop()
IsRun = false
return 5000
end

Вообще, ничего не понимаю!
 
Может быть тут найдете ответ
https://quik2dde.ru/viewtopic.php?id=124
 
Спасибо, Владимир, за ссылку.
С ней я знакома.
Прежде, чем задать вопрос здесь, перерыла много чего.

Я научилась снимать конкретную активную лимитированную заявку.
Но это работает только в 64-х разрядной Win 7 с последней версией Quik, из-за длинного номера активной заявки.
Это не работает в 32-х разрядной Win 7 - там не поддерживаются длинные номера заявок.

У меня не получается снять сразу ВСЕ активные лимитированные заявки в 32-х разрядной Win 7 с Quik версии 7.19.3.1.
Скрипт - проще некуда. У всех сносит все заявки без проблем.
А у меня не сносит. Хоть-бы ругался на что-то. А то, молча, не работает, и всё!

Где-то заковыка в самом тексте скрипта, но я ее не вижу!

Может, кто опытный посмотрит, вся надежда на это.

Елена.  
Страницы: 1
Читают тему
Наверх