Никто тут не поможет. Проблема скрыта от глаз присутствующих. Можно посмотреть есть-ли сегодня опубликованные советники. Если есть, то проблема в коде. Её надо искать, а как искать при отсутствии кода?
Как может быть проблема в коде, если в тестете от Метакровтов торгует, а в валидаторе нет операций?
Как может быть проблема в коде, если в тестете от Метакровтов торгует, а в валидаторе нет операций?
Так бывает. В валидаторе заложен режим идиота. Он подставляет немыслимые параметры и загоняют нормального человека в тупик. В советнике должна быть "Защита от дурака", сообщения о неадекватных параметрах. Если какие-то неадекватные параметры можно привести к нормальным при инициализации советника, то это надо сделать.
Так бывает. В валидаторе заложен режим идиота. Он подставляет немыслимые параметры и загоняют нормального человека в тупик. В советнике должна быть "Защита от дурака", сообщения о неадекватных параметрах. Если какие-то неадекватные параметры можно привести к нормальным при инициализации советника, то это надо сделать.
Согласен с каждым словом. Кажется, я понял в чем дело. Сейчас если валидатор пройдет, напишу.
Ан нет, не прошло. Думал, Bid и Ask нельзя так писать. Было:
у меня были такие траблы переодически с торговлей в автовалидаторе.
и то же самое - в тестере торгует , в автовалидаторе нет.
после внедрения всех "проверок" из статьи - все стало на свои места, торговля есть.
а причины могут быть разные - Вы проверяли на минусовое значение всех переменных?
Все нужные проверки у меня загружены. переменных только 2 - Лот и Дистанция. Дистанция если минусовая то будет ошибка открытия ордера, с ценой что-то не так. Лот тоже самое.
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку, так как небольшая ошибка в логике советника или индикатора может привести к убыткам на торговом счете. Именно поэтому нами разработана серия базовых проверок, призванных обеспечить необходимый уровень качества продуктов Маркета. Если в процессе проверки...
Все нужные проверки у меня загружены. переменных только 2 - Лот и Дистанция. Дистанция если минусовая то будет ошибка открытия ордера, с ценой что-то не так. Лот тоже самое.
вот смотрите, Вы поняли статью буквально и вставили просто код?
bool CheckVolumeValue(double volume,string &description)
{
//--- минимально допустимый объем для торговых операцийdouble min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
if(volume<min_volume)
{
description=StringFormat("Объем меньше минимально допустимого SYMBOL_VOLUME_MIN=%.2f",min_volume);
return(false);
}
//--- максимально допустимый объем для торговых операцийdouble max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
if(volume>max_volume)
{
description=StringFormat("Объем больше максимально допустимого SYMBOL_VOLUME_MAX=%.2f",max_volume);
return(false);
}
//--- получим минимальную градацию объемаdouble volume_step=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_STEP);
int ratio=(int)MathRound(volume/volume_step);
if(MathAbs(ratio*volume_step-volume)>0.0000001)
{
description=StringFormat("Объем не является кратным минимальной градации SYMBOL_VOLUME_STEP=%.2f, ближайший корректный объем %.2f",
volume_step,ratio*volume_step);
return(false);
}
description="Корректное значение объема";
return(true);
}
но тут же видно, что если объем меньше минимального, то функция просто возвращает false без попытки проверки и нормализации лота и привидение его к минимальному.
Это же не правильно. ? с одной стороны! с другой стороны правильно.
Никто тут не поможет. Проблема скрыта от глаз присутствующих. Можно посмотреть есть-ли сегодня опубликованные советники. Если есть, то проблема в коде. Её надо искать, а как искать при отсутствии кода?
Как может быть проблема в коде, если в тестете от Метакровтов торгует, а в валидаторе нет операций?
Как может быть проблема в коде, если в тестете от Метакровтов торгует, а в валидаторе нет операций?
Так бывает. В валидаторе заложен режим идиота. Он подставляет немыслимые параметры и загоняют нормального человека в тупик. В советнике должна быть "Защита от дурака", сообщения о неадекватных параметрах. Если какие-то неадекватные параметры можно привести к нормальным при инициализации советника, то это надо сделать.
Так бывает. В валидаторе заложен режим идиота. Он подставляет немыслимые параметры и загоняют нормального человека в тупик. В советнике должна быть "Защита от дурака", сообщения о неадекватных параметрах. Если какие-то неадекватные параметры можно привести к нормальным при инициализации советника, то это надо сделать.
Согласен с каждым словом. Кажется, я понял в чем дело. Сейчас если валидатор пройдет, напишу.
Ан нет, не прошло. Думал, Bid и Ask нельзя так писать. Было:
Стало
Все равно нет операций. Странно.
Согласен с каждым словом. Кажется, я понял в чем дело. Сейчас если валидатор пройдет, напишу.
Ан нет, не прошло. Думал, Bid и Ask нельзя так писать. Было:
Я попробовал пройти проверку. Уже опубликованной версией, просто версию поменял. Получил ту-же ошибку. Стоит отдохнуть и подождать похоже =)
с валидатором все спокойно, ничего не поменялось.
С первыми советниками у меня были проблемы, а потом уже каждый советник нормально проходит валидацию,
сегодня публиковал - все нормально.
@Evgeniy Zhdan у меня к Вам вопрос:
Вы когда публиковали своих роботов раньше, с модератором, у Вас не было проблем? ну там разбор кода, почему автовалидатор не пускает робота в маркет?
Я вот когда общался с модераторами, очень трудно было выявить ошибку, а они были прям совсем простые.
например минусовое значение переменной.
с валидатором все спокойно, ничего не поменялось.
С первыми советниками у меня были проблемы, а потом уже каждый советник нормально проходит валидацию,
сегодня публиковал - все нормально.
@Evgeniy Zhdan у меня к Вам вопрос:
Вы когда публиковали своих роботов раньше, с модератором, у Вас не было проблем? ну там разбор кода, почему автовалидатор не пускает робота в маркет?
Я вот когда общался с модераторами, очень трудно было выявить ошибку, а они были прям совсем простые.
например минусовое значение переменной.
Были проблемы поначалу. Потом просто в код добавлял нужные функции из статьи "Как правильно публиковать.." и все, проблем не возникало.
Сейчас если делаю вот так:
То торгует....
Были проблемы поначалу. Потом просто в код добавлял нужные функции из статьи "Как правильно публиковать.." и все, проблем не возникало.
Сейчас если делаю вот так:
То торгует....
у меня были такие траблы переодически с торговлей в автовалидаторе.
и то же самое - в тестере торгует , в автовалидаторе нет.
после внедрения всех "проверок" из статьи - все стало на свои места, торговля есть.
а причины могут быть разные - Вы проверяли на минусовое значение всех переменных?
у меня были такие траблы переодически с торговлей в автовалидаторе.
и то же самое - в тестере торгует , в автовалидаторе нет.
после внедрения всех "проверок" из статьи - все стало на свои места, торговля есть.
а причины могут быть разные - Вы проверяли на минусовое значение всех переменных?
Все нужные проверки у меня загружены. переменных только 2 - Лот и Дистанция. Дистанция если минусовая то будет ошибка открытия ордера, с ценой что-то не так. Лот тоже самое.
У меня просто нет операций.
Вот сейчас отпарвил без функции CheckVolumeValue
Получил кучу ошибок, что логично:
А с этой функцией вообще нет ордеров. Т.е. валидатор не может залезть в CheckVolumeValue
Вот так у меня сделано:
Но повторяю - нет ордеров ТОЛЬКО ВАЛИДАТОРЕ, в тестере на сервере Метаквотов торгует без ошибок с любыми параметрами, адекватнымиВсе нужные проверки у меня загружены. переменных только 2 - Лот и Дистанция. Дистанция если минусовая то будет ошибка открытия ордера, с ценой что-то не так. Лот тоже самое.
У меня просто нет операций.
Вот сейчас отпарвил без функции CheckVolumeValue
Получил кучу ошибок, что логично:
А с этой функцией вообще нет ордеров. Т.е. валидатор не может залезть в CheckVolumeValue
Вот так у меня сделано:
Но повторяю - нет ордеров ТОЛЬКО ВАЛИДАТОРЕ, в тестере на сервере Метаквотов торгует без ошибок с любыми параметрами, адекватнымино если написано no trading operation - это нее значит, что нет попыток открытия ордера :-)
Значит у Вас есть выход из функции, если есть ошибка.
Вы уже нашли, что проблема может быть с лотом, что еще?
вот смотрите, Вы поняли статью буквально и вставили просто код?
но тут же видно, что если объем меньше минимального, то функция просто возвращает false без попытки проверки и нормализации лота и привидение его к минимальному.
Это же не правильно. ? с одной стороны! с другой стороны правильно.