Проблема с валидацией советника на маркете - страница 19

 
Konstantin Nikitin:
Andrey Khatimlianskii: ну это не очень вариант.Лучше знать больше информации, чтоб не попадать лишний раз в подобные ситуации. Хочется проходить валидацию с первого раза.

К сожалению, это не возможно. Дело не в советнике, а в валидаторе.

 
Александр:
Всем привет, проблема с валидацией советника!!! Советник ограничен торговать по всем парам кроме EURAUD. Скрин прилагаю. Ума не приложу что значит это сообщение об ошибке и как его обойти.  Не проходит автоматическую валидацию.
Та же самая проблема.
Три дня "имел любовь" с попыткой публикации робота, потом написат чек-бот в котором НИЧЕГО кроме открывашки нет - результат тот же: "Нет торговых операций"
Переписал с нуля функцию проверки объема - проверяет шаг лота, минимальный и максимальный объем, допустимый объем по свободной марже. Максимально допустимое количество сделки+ордера тоже проверил.
Написал все "как в первом классе (еще на МТ3) учили" - любые ошибки исключены.
Результат тот же:  "Нет торговых операций"
 

У меня то же самое и тоже не знаю что и где искать

Очень Крутой Валидатор 

 
Александр:
Да Владимир, все есть. Я кажется нашел в чем причина)). Ошибка в логах теста ModifyOrder error 1 - скорее всего ошибка возникает при модифицировании ордера, в момент сравнения цен (старой и новой). Так как я не нормализую цены через NormalizeDouble у меня получаются они одни и те же. Попробую исправить)
Нет, это не оно.
Я на самом деле написал не один, а штук надцать проверочно-одноклеточных роботов с прицелом на локализацию ошибки.
В последнем было только 2 входящих параметра: объем лота и шаг открытия.
Открывает он (в тестере, ессно) бай и селл по первому тику, потом вверх и вниз по сетке, пока депозит не сольется.
Никаких ТП и СЛ. Вообще ничего кроме Сто Раз Проверенной открывашки.
А результат все тот же - Нет торговых операций.
Volumes - Индикаторы объемов - Справка по MetaTrader 5
Volumes - Индикаторы объемов - Справка по MetaTrader 5
  • www.metatrader5.com
Для рынка Форекс индикатор Volumes (объемы) представляет собой показатель количества изменений цены в течение каждого периода выбранного таймфрейма. Для биржевых инструментов данный индикатор является показателем реально торгуемых объемов (контракты, деньги, штуки и т.д.). Бары индикатора раскрашиваются в два...
 
Vitaly Muzichenko:

Вы же сами выложили отчёт(журнал) с ошибками, и там явно указано, что нет торговых операций. Допишите десяток строк в код, чтоб делал торговые операции везде, кроме нужной пары, для которой написан эксперт. Можете сделать простейший, открытие каждый вторник, стоп и профит по 20 пунктов. Всё

Добавлено: Вообще, любой паттерн можно встретить на любом символе и таймфрейме, нет таких которые есть только на евро/долл, или на йене/франк 

Виталий,
Прежде чем давать советы другим, вы бы любой свой бот СЕЙЧАС на валидацию заслали.
И тон вашим реплик изменится...

 
Александр:
Вопрос в том, какие данные изменяют на меркете  при тесте? Депозит и лотность? Маркет меняет только переменные которые вынесены в настройки я так понимаю? Просто делает симуляция человека, так ведь?

Валидатор, когда его запустили, работал ка часы.
Я был счастлив - с машиной я находил общий язык в десять раз быстрее чем с живым модератором. + самостоятельный перевод на английский и бот публиковался моментально.
То что имеем сейчас это результат какого-то "усовершенствования".
судя по актуальности темы (этот топик далеко не единственный) скоро таки поправят.
Желательно в в 2021, не позже ;)

 
Programmer4896 Vasily Temchenko:

Виталий,
Прежде чем давать советы другим, вы бы любой свой бот СЕЙЧАС на валидацию заслали.
И тон вашим реплик изменится...

Клон, зачем подымать моё сообщение 4-х летней давности СЕЙЧАС?

 
Народ!
Есть лекарство - только что дошло и уже проверил.
Пишите в функции проверки объема/шага:



if(lot<minLot) lot=minLot;

Ессно ,СВОИМИ буквами, у вас другие имена переменных.
 
Programmer4896 Vasily Temchenko:
Народ!
Есть лекарство - только что дошло и уже проверил.
Пишите в функции проверки объема/шага:



if(lot<minLot) lot=minLot;

Ессно ,СВОИМИ буквами, у вас другие имена переменных.

Это обязано быть в коде по-умолчанию, так-же как и:

if(lot>maxLot) lot=maxLot;

 
Vitaly Muzichenko:

Это обязано быть в коде по-умолчанию, так-же как и:

if(lot>maxLot) lot=maxLot;

Это КОСТЫЛЬ.
В отличие от МаксЛот Этого Быть Не Должно.
Даже совсем наоборот, правильно всегда было: 

  if(lot<minLot)  return(0);