if(MQLInfoInteger(MQL_OPTIMIZATION)) { if(Эквити Или Баланс<5.0) { ExpertRemove(); } }
Можно конечно, сделайте остановку торговли если убыток превысил допустимый
OnTick() { double Bal=AccountInfoDouble(ACCOUNT_BALANCE); if (Bal<1000)return;
И после указанного убытка тест быстро окончится
Спасибо за быстрые ответы !
структура у меня такая
double Lot=0.02; void OnTick() { if (Lot<0.01)return; Lot=...вычисление лота..; Buy.... Sell.... }
разницы нет что с
if (Lot<0.01)return;
что без.
Может я делаю что-то не правильно, но и так:
double Lot=0.02; void OnTick() { if(MQLInfoInteger(MQL_OPTIMIZATION)) { if (Lot<0.01) { ExpertRemove(); } } Lot=...вычисление лота..; Buy.... Sell.... }
без изменений.
Странно
... в режиме оптимизации конечно, с птичкой у "оптимизации" и в настойках перед параметрами которые хочу оптимировать.
Советник работает, я только закончил оптимизацию на двух недельный срок, что длилось часов 10.
А вот один проход 5и лет длится у меня 9минут 35 секунд, еслиб стало быстрее я бы заметил, так как в начале на первых проходах советник сливается за 15 секунд.
Может в настройках MT4 надо что-то выставить ? или декларировать ?
я оптимирую свой советник на 5 последних лет, и слившись, за пару первых месяцев торговли, оптимизация не переходит на следующие параметры, а так и продолжает что-то считать до достижения этих 5 лет и только потом меняет параметры.
Есть решение: https://www.mql5.com/ru/forum/227400
- 2018.02.11
- www.mql5.com
Спасибо конечно, но это тоже самое что уже было предложено выше.
Это мне тоже известно и я этим пользуюсь, давно.
https://c.mql5.com/3/172/2__4.PNG?0.24069903421977812
это решение которое я искал(Спасибо Евгению), но оно почему-то не работает у меня
if(MQLInfoInteger(MQL_OPTIMIZATION)) { if (Lot<0.01) { ExpertRemove(); } }
Спасибо конечно, но это тоже самое что уже было предложено выше.
Это мне тоже известно и я этим пользуюсь, давно.
https://c.mql5.com/3/172/2__4.PNG?0.24069903421977812
это решение которое я искал(Спасибо Евгению), но оно почему-то не работает у меня
Не работает у Вас это условие, явно:
if (Lot<0.01)
Попробуйте:
if (Lot<=0.01)
Привет всем !
я оптимирую свой советник на 5 последних лет, и слившись, за пару первых месяцев торговли, оптимизация не переходит на следующие параметры, а так и продолжает что-то считать до достижения этих 5 лет и только потом меняет параметры.
Можно как нибудь из OnTick() или OnTester() подействовать на то, что бы тестер переходил на новые параметры ?
Спасибо
Lot я расчитываю с учётом баланса и StopOut 100%
я тут с Print() поработал и заметил, что при работе советник не запрыгивает в if(..) потому что Lot не успевает стать меньше 0,01 как советник вырубается сам c StopOut либо с Error 134.
StopOut это ещё понятно.
А вот что тестер при балансе 170 EUR не может открыть сделку в 0,01 лот и вылетает с Error 134 мне не понятно.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем !
я оптимирую свой советник на 5 последних лет, и слившись, за пару первых месяцев торговли, оптимизация не переходит на следующие параметры, а так и продолжает что-то считать до достижения этих 5 лет и только потом меняет параметры.
Можно как нибудь из OnTick() или OnTester() подействовать на то, что бы тестер переходил на новые параметры ?
Спасибо