Собери нормальную функцию с возвратом лота, а не проверкой true/false
А ему нравиться делать лишние проверки. Нужно ведь проверить не тестер стратегий ли это, потом дополнительно проверить что вернула функция по проверке лота (CheckVolumeValue)...
А no trading operation может быть от настроения тестера :-) - дада он бывает не в настроении (обновляется, спит, выходной) и он не совершает операций.
Достаточно попробовать другой спред или подождать сутки и он снова в настроении все пропускает.
Я проверку прохожу без проблем, функции работают отменно. Убрал проверку на минимальный лот, было так, что если минимально разрешённый более 0.01, то не торгуем. В валидаторе видать лот больше 0.01, поэтому не торговал.
Ну смотрите, у меня сов первый лот берет из настроек а это значит что меньше допустимого он может быть только если пользователь ошибся при введении лота.
Например пользователь допустил опечатку и написал 0.005 а хотел торговать лотом 0.05 - при вашей проверке сов начнет торговать лотом 0.01 (допустим что 0.01 это мин лот)
а при моей проверке пользователю выдаст принт про неверно введенный лот, можно и алерт добавить а то мало ли.
Я считаю что здесь уже дело личного решения, кто как хочет так и....
К стати, вот часть кода (я тоже раньше писал) при котором проверка тоже не проходилась:
double CheckVolumeValue(double volume)
{
double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
if(volume<min_volume)
{
Print("Volume is less than the minimum");
return(min_volume);
}
double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
if(volume>max_volume)
{
Print("Volume is greater than the maximum");
return(max_volume);
}
......
}
Ну смотрите, у меня сов первый лот берет из настроек а это значит что меньше допустимого он может быть только если пользователь ошибся при введении лота.
Например пользователь допустил опечатку и написал 0.005 а хотел торговать лотом 0.05 - при вашей проверке сов начнет торговать лотом 0.01 (допустим что 0.01 это мин лот)
а при моей проверке пользователю выдаст принт про неверно введенный лот, можно и алерт добавить а то мало ли.
Я считаю что здесь уже дело личного решения, кто как хочет так и....
К стати, вот часть кода (я тоже раньше писал) при котором проверка тоже не проходилась:
Сначала делать нужно всё, а уж потом проверять на мин/мах
double CheckVolumeValue(double volume)
{
double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
...
if(volume<min_volume)
{
Print("Volume is less than the minimum");
return(min_volume);
}
if(volume>max_volume)
{
Print("Volume is greater than the maximum");
return(max_volume);
}
}
Сначала делать нужно всё, а уж потом проверять на мин/мах
double CheckVolumeValue(double volume)
{
double min_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MIN);
double max_volume=SymbolInfoDouble(Symbol(),SYMBOL_VOLUME_MAX);
...
if(volume<min_volume)
{
Print("Volume is less than the minimum");
return(min_volume);
}
if(volume>max_volume)
{
Print("Volume is greater than the maximum");
return(max_volume);
}
}
ну и сразу при возврате делать нормализацию
return(NormalizeDouble(volume,LotDigit(symb)));
У вас идёт проверка сразу на мин/мах, а потом расчёты, так вот в расчёте уже может быть что угодно. Нужно после расчётов проверять на мин/мах, а не ДО
Собери нормальную функцию с возвратом лота, а не проверкой true/false
А ему нравиться делать лишние проверки. Нужно ведь проверить не тестер стратегий ли это, потом дополнительно проверить что вернула функция по проверке лота (CheckVolumeValue)...
А ты читаешь по диагонали?
Еще ко мне вопросы есть?
Где там твой грааль когда сигнал увидим?
ты советники же не скидывал в Маркет, судя по составу продуктов
так что...
адью
;)
Ну так не должно быть проблем с этим тогда.
такой же мультивалютник, проходит тест.
А no trading operation может быть от настроения тестера :-) - дада он бывает не в настроении (обновляется, спит, выходной) и он не совершает операций.
Достаточно попробовать другой спред или подождать сутки и он снова в настроении все пропускает.
Я проверку прохожу без проблем, функции работают отменно. Убрал проверку на минимальный лот, было так, что если минимально разрешённый более 0.01, то не торгуем.
В валидаторе видать лот больше 0.01, поэтому не торговал.
ты советники же не скидывал в Маркет, судя по составу продуктов
так что...
адью
;)
Как бы скидывал. так что опять облом. Тебе ссылку в личку кинуть или ты сам найдешь?
Где там твой грааль когда сигнал увидим?
Даже работу для чела делал
Ну смотрите, у меня сов первый лот берет из настроек а это значит что меньше допустимого он может быть только если пользователь ошибся при введении лота.
Например пользователь допустил опечатку и написал 0.005 а хотел торговать лотом 0.05 - при вашей проверке сов начнет торговать лотом 0.01 (допустим что 0.01 это мин лот)
а при моей проверке пользователю выдаст принт про неверно введенный лот, можно и алерт добавить а то мало ли.
Я считаю что здесь уже дело личного решения, кто как хочет так и....
К стати, вот часть кода (я тоже раньше писал) при котором проверка тоже не проходилась:
Как бы скидывал. так что опять облом. Тебе ссылку в личку кинуть или ты сам найдешь?
Где там твой грааль когда сигнал увидим?
с охотниками за чужими идеями предпочитаю не разговаривать на подобные темы
с охотниками за чужими идеями предпочитаю не разговаривать на подобные темы
А почему тогда разговариваешь ? )
Ты меня утомил. Мы все ждем сигнала с просчитанными объемами с CME. А на CME клиринга нет?
Ну смотрите, у меня сов первый лот берет из настроек а это значит что меньше допустимого он может быть только если пользователь ошибся при введении лота.
Например пользователь допустил опечатку и написал 0.005 а хотел торговать лотом 0.05 - при вашей проверке сов начнет торговать лотом 0.01 (допустим что 0.01 это мин лот)
а при моей проверке пользователю выдаст принт про неверно введенный лот, можно и алерт добавить а то мало ли.
Я считаю что здесь уже дело личного решения, кто как хочет так и....
К стати, вот часть кода (я тоже раньше писал) при котором проверка тоже не проходилась:
Сначала делать нужно всё, а уж потом проверять на мин/мах
ну и сразу при возврате делать нормализацию
Сначала делать нужно всё, а уж потом проверять на мин/мах
ну и сразу при возврате делать нормализацию
В общем ладно, пора заканчивать эту беседу.
Какие-то мнимые недочеты вы увидели сразу а суть (я писал о возврате лота) осталась без вашего внимания...
Всем спасибо за помощь!
В общем ладно, пора заканчивать эту беседу.
Какие-то мнимые недочеты вы увидели сразу а суть (я писал о возврате лота) осталась без вашего внимания...
Всем спасибо за помощь!
Максим, вы меня слышите?
Перечитайте код, который Я дал и к нему сообщение
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Маркет: no trading operations
Vitaly Muzichenko, 2020.01.27 18:37
Сначала делать нужно всё, а уж потом проверять на мин/мах
ну и сразу при возврате делать нормализацию
У вас идёт проверка сразу на мин/мах, а потом расчёты, так вот в расчёте уже может быть что угодно. Нужно после расчётов проверять на мин/мах, а не ДО
---------------------------
А вот моё)