daytrader
Full Member
Сообщений: 174
|
|
« : 11.05.2011, 16:04:26 » |
|
function onATFOrder(var id) этой функцией я получаю ID заявки выставленную ATF могу ли я по этому ID ее снять и как? версия ATF 1.8 PS пробую через trade_action::cancelOrder(id) но то ли сама функция не работает на 1.8, то ли не могу ее корректно передать в calc() nxz, здесь order - это структура, а не идентификатор.
В качестве параметра указывается либо идентификатор заявки, либо сам объект заявки, при этом заявка сниманиется по номеру, и лишь в случае, если номер заявки не указан, используется идентификатор как здесь структуру тогда делать? какая она? Из учебника как-тоне очень понял что указывать... точнее понятно что можно ID но снимается по номеру. Но если номера нет то по ID - замкнутый круг прям ...
|
|
« Последнее редактирование: 11.05.2011, 16:41:59 от daytrader »
|
Записан
|
|
|
|
|
|
daytrader
Full Member
Сообщений: 174
|
|
« Ответ #3 : 13.05.2011, 13:48:57 » |
|
делаю вот что: function onATFOrder(var id) { var order = getOrder(id); } получили ID заявки но в function calc() я не могу ее передать видимо, ибо когда пишу в ней: if (id !=0) { trade_action::cancelOrder(id) }
ничего не происходит - заявка на месте. Когда же я убрал условие if - ATF ругается что переменная id не задана. Я так понимаю что я ее задаю в первой функции но как передать ее во вторую? в общем запутался на этом месте.
|
|
« Последнее редактирование: 13.05.2011, 13:52:44 от daytrader »
|
Записан
|
|
|
|
|
|
|
|
daytrader
Full Member
Сообщений: 174
|
|
« Ответ #8 : 15.05.2011, 09:44:27 » |
|
Heller спасибо! я конечно наглею наверное - но с примерами намного удобнее PS для условных (стопов) это будет работать? PPS еще вопрос: if (trnid) или все таки if (trnid !=0)
|
|
« Последнее редактирование: 15.05.2011, 14:38:16 от daytrader »
|
Записан
|
|
|
|
|
|
|
|
Heller
Разработчики
Hero Member
Сообщений: 1277
|
|
« Ответ #13 : 20.05.2011, 11:53:09 » |
|
Логика тут такая: при выставлении заявки из скрипта ATF, ее идентификатор запоминается в списке заявок этого скрипта (!). Когда происходят какие-то изменения в состоянии заявки, если ее идентификатор находится в этом списке, то вызывается функция onATFOrder(), в противном случае - onClientOrder().
Таким образом не важно как снимается заявка - важно лишь то, как она была выставлена. Причем список связанных со скриптом заявок - это именно список, который запоминается внутри индикатора. При любых действиях, которые приводят к перерасчеты индикатора, он теряется, так как скрипт фактически начинает работать заново.
|
|
|
Записан
|
|
|
|
|