Помогите опубликовать советник в Маркете

 
Всем привет! Хочу опубликовать советник но он не проходит валидацию, вот такую ошибку выдает:

test on EURUSD,H1
 2016.04.26 00:07:15  BandStochNight__1 EURUSD,H1: OrderSend error 131

Помогите разабраться!!!

 

Вопрос ко всем. А стоит-ли пытаться публиковать что-то в маркете если разобраться с ошибками не можете?

Максим, ничего личного и нет желания вас обидеть, но это ведь так...

 
Alexey Viktorov:

Вопрос ко всем. А стоит-ли пытаться публиковать что-то в маркете если разобраться с ошибками не можете?

Максим, ничего личного и нет желания вас обидеть, но это ведь так...

Может вы и правы, но я написал неплохой советник который, по моему мнению, может принести прибыль (как мне так и другим), а вот опыта нехватает что бы сделать все без ошибок. Вот я и хочу научится, ведь я только начинаю программировать. Сделать это самому, без посторонней помощи очень тяжело...
 
Maksim Neimerik:
Может вы и правы, но я написал неплохой советник который, по моему мнению, может принести прибыль (как мне так и другим), а вот опыта нехватает что бы сделать все без ошибок. Вот я и хочу научится, ведь я только начинаю программировать. Сделать это самому, без посторонней помощи очень тяжело...

Вот тут и кроется ответ.

Может принести, а может и не принести. Вы для начала опубликуйте сигнал с работой этого чудо-эксперта, если результат достойный, тогда и будет повод о чём-то говорить.

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

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

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

Рано вам ещё смотреть в сторону маркета. ИМХО

 

Сутки назад у меня произошла вот такая ситуация на реал-счёте при торговле роботом.

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

Замечу то, что бот работает с 2015 года, и эта ошибка появилась впервые, за всю историю его работы. Это мой косяк, и благо, что продукт не в маркете, если кто и пострадает из-за моей ошибки, то это буду только Я, а не десятки покупателей, кто заплатил за это деньги, и получил в итоге программу с ошибкой.

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

Я был в этот момент у компьютера, и смог в итоге запретить ему торговать, избежав тем самым проблем с ДЦ, но если-бы он стоял на ВПС, то результат мог быть плачевным по моей глупой и тупой ошибке


 
Maksim Neimerik:

131 ошибка это не верные объемы. Авто-валидатор дает ссылку на статью как их исправить.
 
Vitaly Muzichenko:

Сутки назад у меня произошла вот такая ситуация на реал-счёте при торговле роботом.

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

Замечу то, что бот работает с 2015 года, и эта ошибка появилась впервые, за всю историю его работы. Это мой косяк, и благо, что продукт не в маркете, если кто и пострадает из-за моей ошибки, то это буду только Я, а не десятки покупателей, кто заплатил за это деньги, и получил в итоге программу с ошибкой.

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

Я был в этот момент у компьютера, и смог в итоге запретить ему торговать, избежав тем самым проблем с ДЦ, но если-бы он стоял на ВПС, то результат мог быть плачевным по моей глупой и тупой ошибке



Немного сгустили тучи насчет проблем с ДЦ. )) При такой ошибке запрос дальше терминала не уходит. Так что тут проблема лишь в размере лога. Хотя не спорю - такие ошибки нужно обрабатывать, уменьшая частоту запросов и выводя только первый Алерт, сообщающий о начале получения ошибки, и последний Алерт, сообщающий об исчезновении ошибки.
 
Ihor Herasko:

Немного сгустили тучи насчет проблем с ДЦ. )) При такой ошибке запрос дальше терминала не уходит. Так что тут проблема лишь в размере лога. Хотя не спорю - такие ошибки нужно обрабатывать, уменьшая частоту запросов и выводя только первый Алерт, сообщающий о начале получения ошибки, и последний Алерт, сообщающий об исчезновении ошибки.
Как не уходит? Ошибку 131 возвращает сервер в ответ на OrderSend(). Это-же не mql5 где сначала проверяются параметры позиции.
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
 
Maksim Neimerik:


Необходимо проверить что объем в приказе:

- не меньше минимально разрешенного лота - SYMBOL_VOLUME_MIN, для этого символа

- не больше максимально разрешенного лота - SYMBOL_VOLUME_MAX

- кратен шагу лотности - SYMBOL_VOLUME_STEP

Также хочу напомнить, что в коммерческом продукте вы должны осуществлять проверку и грамотную отработку ВСЕХ возможных ошибок!

https://docs.mql4.com/ru/constants/errorswarnings/enum_trade_return_codes

В кодобазе вы найдете и метод нормализации торгового объема и способы обработки ошибок (они есть даже в стандартных библиотеках)

Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
  • docs.mql4.com
Коды возврата торгового сервера - Коды ошибок и предупреждений - Стандартные константы, перечисления и структуры - Справочник MQL4
 
Alexey Viktorov:
Как не уходит? Ошибку 131 возвращает сервер в ответ на OrderSend(). Это-же не mql5 где сначала проверяются параметры позиции.

Вот так, не уходит. И это правильно. Зачем нагружать сеть, если ошибка может быть проверена уже на этапе отсылки приказа? То же касается и некоторых других ошибок, которые в справке озаглавлены как "Коды возврата торгового сервера".
 
Maksim Neimerik:


Поставьте проверку на объём лота и средства

void start() 
{
if (Lot*MarketInfo(Symbol(),MODE_MARGINREQUIRED)>AccountEquity())  //Проверка свободной маржи
{Print("Trade stop is not enough free margin to begin");Comment("Trade stop is not enough free margin to begin"); return;}

if (Lot < MarketInfo(Symbol(), MODE_MINLOT))  //Проверка объема лота
{Print("Trade stop invalid lot size");Comment("Trade stop invalid lot size"); return;}
}
Причина обращения: