Всмсле правильно? правильно "Да", или правильно "Нет" ???
Сделал так как у тебя, выдаёт как и положено: "Нет OrderComment()". Наверно у тебя какой-то сбой с терминалом, попробуй переустанови.
И кстати ещё ошибочку исправь в цикле: i<total (но проблема конечно не из-за этого)
Скорее всего что терминалом, а какая версия у тебя стоит? У меня 215
Проверил. Код работает правильно, т.е. так, как написан, так и работает.
1. Рекомендую вместо Print указать Alert. Тогда на каждом тике будете прямо на экран получать вывод инфо.
2. В заголовке оператора цикла вместо i<=total указать i<total или i<=total-1
3. Строки сравниваются правильно и вылавливаются правильно. Наверное, Вы не туда помотрели. Иначе объяснить не могу. Или были ещё ордера с другим MN.Дело в том что я через OrderComment() указиваю на каком уровне Фибо были установленны ордера . Для последующей их фильтрации, так,как с комментом творится что то не ладное, я решил перейти на меджик, который я пока решил не трогать, так вот такая последовательность:
for(i=total;i>=0;i--) { OrderSelect(i-1, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol()==Symbol()) int tickdel=OrderTicket(); if ((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) if(magic != -123)//если это не наши уже ранее уст.ордера то мы их удаляем if(magic != 123) { Print(tickdel," ",total," ",i," ",magic); del(tickdel);// то мы их удаляем } }напрочь сносит уже установленные ордера, если вместо " != " поставить " == " то нетрогает . шас переставлю терминал посмотрим
напрочь сносит уже установленные ордера, если вместо " != " поставить " == " то нетрогает . шас переставлю терминал посмотрим
То что сносит ордера - это и не удивительно :) Чему у тебя равно значение переменной magic?
Та же самая история
{// если есть установленные отложенники for(i=total;i>=0;i--) { OrderSelect(i-1, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol()==Symbol()) int tickdel=OrderTicket(); if ((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) if(magic != -123)//если это не наши уже ранее уст.ордера то мы их удаляем if(magic != 123) { Print(tickdel," ",total," ",i," ",magic); del(tickdel);// то мы их удаляем } } }
Приводит к вот этому
00:36:26 FiboZigZagIsx01_04 GBPUSD,M5: 7084681 2 2 0 00:36:26 FiboZigZagIsx01_04 GBPUSD,M5: 7084681 00:36:33 FiboZigZagIsx01_04 GBPUSD,M5: delete #7084681 sell stop 0.10 GBPUSD at 1.9858 sl: 1.9874 tp: 0.0000 ok 00:36:33 FiboZigZagIsx01_04 GBPUSD,M5: 7084680 2 1 0 00:36:33 FiboZigZagIsx01_04 GBPUSD,M5: 7084680 00:36:33 FiboZigZagIsx01_04 GBPUSD,M5: delete #7084680 buy stop 0.10 GBPUSD at 1.9906 sl: 1.9890 tp: 0.0000 ok"Меняем проигрыш на выигрыш"
{ OrderSelect(i-1, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol()==Symbol()) int tickdel=OrderTicket(); if ((OrderType()==OP_BUYSTOP)||(OrderType()==OP_SELLSTOP)) if(magic == -123)//если это не наши уже ранее уст.ордера то мы их удаляем if(magic == 123) { Print(tickdel," ",total," ",i," ",magic); del(tickdel);// то мы их удаляем } } }И... получаем ( блин все замерло, ни одного тика...)
00:45:08 FiboZigZagIsx01_04 GBPUSD,M5: loaded successfully 00:45:08 FiboZigZagIsx01_04 GBPUSD,M5 inputs: ExtDepth=21; ExtDeviation=13; ExtBackstep=34; slkoff=1; tpkoff=1; dCoeff=2; dk=2; lots=0.1; tral=true; bTrlinloss=true; Tprofit=false; coment=true; pips=true; sound=true; delay=0; 00:45:08 FiboZigZagIsx01_04 GBPUSD,M5: initializedВот это и никто никого не трогает, но ведь должно быть наооборот!!!???
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
А теперь Создадим ордер, и в коммент впишем например "123.6" . И напишем такую :
Получаем: Может мне кто нибудь обьяснит, чего я не понимаю?