Обсуждение статьи "Какие проверки должен пройти торговый робот перед публикацией в Маркете" - страница 20

 
Fernando Carreiro #:

Нет! Советник должен торговать. Если он этого не делает, то это не советник.

Если он только рассчитывает и отображает линии поддержки и сопротивления, то это индикатор и должен быть закодирован как таковой с использованием OnCalculate(), а не OnTick().

Вы можете продавать на рынке оба варианта. Сделайте этот советник настоящим индикатором и продавайте его как индикатор. Затем в будущем опубликуйте советник для него отдельно.


Если вы используете WebRequest, то это должен быть советник. У меня есть советник, который я использую для загрузки и обработки данных, но он не выполняет никаких торговых операций. Значит, я никогда не смогу вывести его на рынок, потому что он не торгует, даже если я вынужден писать его как советник?

Из документации MQL4 по WebRequest:

Функция может быть вызвана только из советников и скриптов, так как они работают в собственных потоках выполнения. Если вы попытаетесь вызвать функцию из индикатора, GetLastError() вернет ошибку 4060 - "Функция не разрешена для вызова".


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

Или есть процесс проверки, который не зависит от автоматической торговли? Как советник, который реализует WebRequest, но не торгует, может пройти проверку?

 
D Armond Lee Speers #:


Если вы используете WebRequest, то это должен быть советник. У меня есть советник, который я использую для загрузки и обработки данных, но он не выполняет никаких торговых операций. Значит, я никогда не смогу вывести его на рынок, потому что он не торгует, даже если я вынужден писать его как советник?

Из документации MQL4 по WebRequest:


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

Или есть процесс проверки, который не зависит от автоматической торговли? Как советник, который реализует WebRequest, но не торгует, может пройти проверку?

Конечно, вы можете публиковать неторгующие советники на Маркете. Просто выберите правильный тип и категорию.
 
@D Armond Lee Speers # Если вы используете WebRequest, то это должен быть советник. У меня есть советник, который я использую для загрузки и обработки данных, но он не выполняет никаких торговых операций. Значит, я никогда не смогу вывести его на рынок, потому что он не торгует, даже если я вынужден писать его как советник?

Тогда классифицируйте его как "Утилиту", а не как советник.

 
D Armond Lee Speers #: У меня есть несколько советников, которые я написал, которые предоставляют своего рода приборную панель открытых сделок и дают пользователю возможность закрывать сделки, делать частичные закрытия и т. д.

Их тоже следует отнести к категории "Утилиты".

Вы никогда не замечали, что в Маркете в разделе "Утилиты" есть и приборные панели, и торговые помощники, и т. д.?

 
Fernando Carreiro #:

Их тоже следует отнести к категории "Коммунальные услуги".

Вы никогда не замечали, что на рынке в раздел "Утилиты" входят приборные панели, торговые помощники и т. д.?

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

Спасибо за разъяснение!

 

Обнаружилось, что советники с void OnTesterInit() не оптимизируются, если скачена демо версия.

Планируется ли это исправлять? И, почему не давать бы предупреждение об этом разработчику при валидации продукта.

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

 
Я получил проблему, затем изменил свою ea теперь, как повторно отправить для проверки?
 
ошибок в советнике нету а при проверке есть... не могу понять что делать , ошибок нету проверял как тут описано в журнале 
 

2019.03.13 02:46:14 не удалось мгновенно продать 0,2 XAUUSD по 1304,17, закрытие #2 купить 0,2 XAUUSD 1304,11

пожалуйста, помогите мне с этой ошибкой. как я могу решить это?


 
Itumeleng Mohlouwa Kgotso Tladi #: 2019.03.13 02:46:14 не удалось мгновенно продать 0.2 XAUUSD по 1304.17, закрытие #2 купить 0.2 XAUUSD 1304.11. пожалуйста, помогите мне с этой ошибкой. как мне ее решить?

Вы написали не в том разделе, поэтому я перенес ваше сообщение. Ваш вопрос относится к MQL5, а не к MQL4.

Ответ находится здесь, в этой теме. Прочитайте его, а также основную статью и примените к своему коду.

Статьи

Проверки, которые должен пройти торговый робот перед публикацией на Маркете

MetaQuotes, 2016.08.01 09:30

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