советник не работает на счете, хотя в тестере отрабатывает, огромная просьба посмотреть код
- странное условие для реальной жизни "if(Volume[0]>1) return;"
- далее "if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;" просто выбивает перебор ордеров по малейшему шороху
- странное условие для реальной жизни "if(Volume[0]>1) return;"
- далее "if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;" просто выбивает перебор ордеров по малейшему шороху
Первая строка похожа на организацию работы 1 раз на бар. Высока вероятность, что на первом тике свечи Volume[0]<2. Возможно, в тестере это всегда выполняется, а на реале при интенсивной торговле иначе. Есть смысл перед этой строкой вставить Alert("Volume[0] = ",Volume[0]); и понаблюдать.
Заменяю строку if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; на if(!OrderSelect(i,SELECT_BY_POS)) continue;
в функции CheckForClose объявил bool cl; Убрал bool пониже. Ошибки и предупреждения исчезли.
Цикл for(int i=0;i<OrdersTotal();i++) заменил на for(int i=OrdersTotal()-1;i>=0;i--) уже пояснял в сообщении №20 ошибочность этой обработки ордеров
прикрепите правленный пожалуйста
Бросьте эти еврейские штучки. Вам подробно все пояснили. Думайте сами.
прикрепите правленный пожалуйста
Может, это кому-нибудь пригодится. Много лет назад, когда я еще пользовался тестером стратегий, применял такой тест:
вешал на демке советник и проверял в тестере.
Если на демке и в тестере сделки открываются синхронно, тогда код написан верно.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования