Не могу отправить на проверку Cоветник. Ошибка валидации: no trading operations. - страница 3

 
Vladislav Andruschenko:

в том то и дело, что по правилам маркета: не должно быть никаких ограничений. 

мда... 

В том то и дело, что когда пишешь продукт и в последствии продаешь его, хочешь сделать его комфортным и удобным для покупателя, а не объяснять ему потом, что по условиям торговой стратегии необходимо использовать определённые параметры тех же самых индикаторов. Тоже самое как при покупке любого продукта в нашей повседневной жизни.

Как то неразумно на мой взгляд. 

 
Evgeniy Lapkin:

В том то и дело, что я и есть тот самый программист ))).

Я походу понял в чем проблема невозможности прохождения валидатора. Я видимо с лукавил, сказав, что у меня нет никакого ограничения. Если я правильно пониманию, валидатор тестирует на конкретном тайме без подгрузки других. Когда как у меня в метаквотоском тестере при прохождении тестирования, к примеру EURUSD H1, используются другие таймы и по логике советника он их также использует и открывает позиции. Если мое понимания тестирования валидатора верное, тогда встает вопрос, как писать советники с учетом аналитики разных таймов как со стороны построения уровней, каналов, так и со стороны использования индикаторов. Про индикаторы тоже получается песня: если с МА можно подстроиться под разные таймы, то что делать, к примеру, с RSI? 

Если же валидатор при тестировании использует все таймы, тогда мне не понятно почему мой советник не может его пройти.

Прошу помощи.

МА и RSI в плане доступа к разным периодам и таймфрмам никак не отличаются.

Вам надо разобраться с причинами отсутствия сделок. Какие ограничения присутствуют в коде. Одна из причин на которую я однажды попал, ещё до введения автовалидатора: имя индикатора содержало пробел и было ограничение на переименование, а при размещении в маркет пробел заменяется на нижнее подчёркивание... Имя индикатора не соответствует, ничего не рисуется и манагер маркета пишет что ничего не рисуется... Я дошёл до "белого каления" отправил открытый код ему... Он-то и прояснил ситуацию. Но это только в качестве воспоминаний, а не намёк на имя вашего советника...

 
Alexey Viktorov:

МА и RSI в плане доступа к разным периодам и таймфрмам никак не отличаются.

Вам надо разобраться с причинами отсутствия сделок. Какие ограничения присутствуют в коде. Одна из причин на которую я однажды попал, ещё до введения автовалидатора: имя индикатора содержало пробел и было ограничение на переименование, а при размещении в маркет пробел заменяется на нижнее подчёркивание... Имя индикатора не соответствует, ничего не рисуется и манагер маркета пишет что ничего не рисуется... Я дошёл до "белого каления" отправил открытый код ему... Он-то и прояснил ситуацию. Но это только в качестве воспоминаний, а не намёк на имя вашего советника...

Спасибо за наводку. 

Я пытаюсь пройти валидацию на второй версии советника и в ней добавилась лишь функция установки стоп лосса после открытия сделки и ее сдвиг в случае выполнения условий. В остальном она идентична с первой версией. Поэтому изменения в прохождении валидации какие то присутствуют, но какие я и пытаюсь понять. 

По поводу MA и RSI. Предлагаю на примере разобрать разницу по таймфреймам:

По логике, если использовать МА на M15, то для того, чтобы на H1 получить это же значение надо поделить период МА на 4. Я могу ошибаться, поэтому и пытаюсь разобраться. Могу не видеть элементарного.

Смотрю текущие значения:

GBPJPY период М15, период МА 256, Simple, Price Close, зафиксированное значение на данный момент - 145,779 

GBPJPY период H1, период МА 64, Simple, Price Close, зафиксированное значение на данный момент - 145,782

Значения разнятся, но не критично.

А вот с RSI всё гораздо хуже, там ведь тоже идет подсчет средних, но используемые периоды меньше. К примеру, на М15 период 14, то для H1 необходимо использовать - 3,5. Учитывая, что период нельзя задавать дробным, но даже если взять М15 со значением 16, Н1 получается 4, значения индикатора очень сильно разнятся. 

Опять же повторюсь, могу не видеть очевидного. Не хочу в комментариях к программе потенциальным покупателям объяснять, что необходимо использовать определенный период, да и ошибиться покупатель тоже может на раз.

 
Evgeniy Lapkin:

Спасибо за наводку. 

Я пытаюсь пройти валидацию на второй версии советника и в ней добавилась лишь функция установки стоп лосса после открытия сделки и ее сдвиг в случае выполнения условий. В остальном она идентична с первой версией. Поэтому изменения в прохождении валидации какие то присутствуют, но какие я и пытаюсь понять. 

По поводу MA и RSI. Предлагаю на примере разобрать разницу по таймфреймам:

По логике, если использовать МА на M15, то для того, чтобы на H1 получить это же значение надо поделить период МА на 4. Я могу ошибаться, поэтому и пытаюсь разобраться. Могу не видеть элементарного.

Смотрю текущие значения:

GBPJPY период М15, период МА 256, Simple, Price Close, зафиксированное значение на данный момент - 145,779 

GBPJPY период H1, период МА 64, Simple, Price Close, зафиксированное значение на данный момент - 145,782

Значения разнятся, но не критично.

А вот с RSI всё гораздо хуже, там ведь тоже идет подсчет средних, но используемые периоды меньше. К примеру, на М15 период 14, то для H1 необходимо использовать - 3,5. Учитывая, что период нельзя задавать дробным, но даже если взять М15 со значением 16, Н1 получается 4, значения индикатора очень сильно разнятся. 

Опять же повторюсь, могу не видеть очевидного. Не хочу в комментариях к программе потенциальным покупателям объяснять, что необходимо использовать определенный период, да и ошибиться покупатель тоже может на раз.

Если анализ мА по ценам закрытия баров то деление вам не поможет. 
 
Vladislav Andruschenko:
Если анализ мА по ценам закрытия баров то деление вам не поможет. 

Если не сложно, можно на примере. 

Я понимаю это так:

берем период МА = 60 на таймфрейме М15 и пусть цены закрытия будут все равному 100. сумма закрытий = 6000, делим на период = 60 и получаем 100

поделим период МА на 4 для Н1. Период МА = 15, все цены закрытия также равны 100. сумма закрытий = 1500, делим на период 15 и получаем также 100.

 
Evgeniy Lapkin:

Если не сложно, можно на примере. 

Я понимаю это так:

берем период МА = 60 на таймфрейме М15 и пусть цены закрытия будут все равному 100. сумма закрытий = 6000, делим на период = 60 и получаем 100

поделим период МА на 4 для Н1. Период МА = 15, все цены закрытия также равны 100. сумма закрытий = 1500, делим на период 15 и получаем также 100.


а попробуйте теперь сделать так, чтобы не все цены закрытия были 100

 

M15 период МА 60, цены закрытия будут кратны 10 начниная с 10,20,30,40... до общего количества 60 штук, сумма закрытий = 18300, делим на период = 60 и получаем 305

H1 период МА 15 (60/4),  цены закрытия будут соответствовать каждой 4-й позиции (закрытие свечи), сумма закрытий = 4800, делим на период = 15 и получаем 320

Да, действительно, Вы правы.


Что же делать тогда с валидацией, если при тестировании отсутствует котировки других таймфреймов? К примеру, есть два фильтрующих параметра, которые используют закрытие баров разных таймфреймов и цены закрытия для индикаторов также для разных таймфреймах. Ставить их в значение Period(), то сломается логика работы.

 
Roman Starostin:

Здравствуйте. 


Уже час пытаюсь отправить советник на проверку на маркет, постоянно выпадает эта ошибка, хотя не могу понять, в чем тут ошибка, если по паре просто нет сигнала на вход, нет сделок.

К примеру, мой советник сделан для М15 и меньших ТФ. Проверка гоняет его на Н1, что уже не верно. Ок, скачал котировки Н1, прогнал на своем компе - торгует в минус, но сделки есть.

Внес в код все виды проверок, что указаны на сайте, с ними предыдущие версии советника принимали, все было нормально.

Сейчас пропала кнопка общения с модератором. В Сервердиск можно написать только по финансовым проблемам, поэтому приходится проблему выносить на всеобщее обозрение. Не понимаю, что происходит с сайтом MQL5.

Предлагаю как минимум в окне выбора спреда для тестирования советника добавить выбор ТФ (можно галочками). Убрать проверку на 0 сделок на высоких ТФ, если на низких при проверке были сделки. По хорошему еще бы и выбор пар, потому что у меня была проблема с золотом и серебром при проверке, которыми я в жизни не торговал, уже и не помню, какой костыль сделал, чтобы ее избежать. 

Убирайте ограничения  и будут вам счастье. 

 
Evgeniy Lapkin:

Спасибо за наводку. 

Я пытаюсь пройти валидацию на второй версии советника и в ней добавилась лишь функция установки стоп лосса после открытия сделки и ее сдвиг в случае выполнения условий. В остальном она идентична с первой версией. Поэтому изменения в прохождении валидации какие то присутствуют, но какие я и пытаюсь понять. 

По поводу MA и RSI. Предлагаю на примере разобрать разницу по таймфреймам:

По логике, если использовать МА на M15, то для того, чтобы на H1 получить это же значение надо поделить период МА на 4. Я могу ошибаться, поэтому и пытаюсь разобраться. Могу не видеть элементарного.

Смотрю текущие значения:

GBPJPY период М15, период МА 256, Simple, Price Close, зафиксированное значение на данный момент - 145,779 

GBPJPY период H1, период МА 64, Simple, Price Close, зафиксированное значение на данный момент - 145,782

Значения разнятся, но не критично.

А вот с RSI всё гораздо хуже, там ведь тоже идет подсчет средних, но используемые периоды меньше. К примеру, на М15 период 14, то для H1 необходимо использовать - 3,5. Учитывая, что период нельзя задавать дробным, но даже если взять М15 со значением 16, Н1 получается 4, значения индикатора очень сильно разнятся. 

Опять же повторюсь, могу не видеть очевидного. Не хочу в комментариях к программе потенциальным покупателям объяснять, что необходимо использовать определенный период, да и ошибиться покупатель тоже может на раз.

Абсолютно не верно. В любом техническом индикаторе есть параметр

double  iMA(
   string       symbol,           // имя символа
   int          timeframe,        // таймфрейм
   int          ma_period,        // период
   int          ma_shift,         // сдвиг средней
   int          ma_method,        // метод усреднения
   int          applied_price,    // тип цены
   int          shift             // сдвиг
   );

Этот параметр и отвечает за значение индикатора на указанном периоде.

 
Evgeniy Lapkin:

Что же делать тогда с валидацией, если при тестировании отсутствует котировки других таймфреймов? К примеру, есть два фильтрующих параметра, которые используют закрытие баров разных таймфреймов и цены закрытия для индикаторов также для разных таймфреймах. Ставить их в значение Period(), то сломается логика работы.

Отсутствуют другие таймфреймы, это как? у вас явно проблемы с матчастью и с пониманием того как работает терминал - в настройках советника можно привязать индикатор к конкретному тф и всё работает и проходит тестирование и валидацию на ура

Причина обращения: