Проблемы с запуском советника

 
Только начал разбираться с MQL4. Пробую поработать с различными примерами советников. Ни один не запускается. Что-то, вероятно, упускаю. Помогите разобраться. Пример:

Текст советника ("рыбы") в прикрепленном файле.
Компилирую без ошибок. Создается файл ex4.
В MT4 из Навигатора перетаскиваю советника на график EURUSD, M15.
/Запускаю на рабочем (не пустом) счете./
В появляющемся окне настроек отмечаю:
   Long & Short  позиции
   Разрешить сигналы
   Разрешить импорт из внешних экспертов
Котировки меняются, терминал работает.
Но ничего не происходит: ордер не открывается, сообщения из Print в журнал Эксперта не выводятся.
Что делаю не так?



 
Файлы:
empty_buy.mq4  2 kb
 

Lots=??? то есть 0

 
Integer:

Lots=??? то есть 0

Там была эта ошибка. (в новом прикрепленном файле ее нет.) Но после ее исправления ничего не меняется. 
Ордер не открывается и в журнал Эксперта информация из Print не выводится.

Файлы:
 

В руки вам функцию Print() и определяйте какие участки кода выполняются, какие не выполняются и почему. Может он и не должен ничего открывать в ваших условиях.

 
Astor:
Integer:

Lots=??? то есть 0

Там была эта ошибка. (в новом прикрепленном файле ее нет.) Но после ее исправления ничего не меняется.
Ордер не открывается и в журнал Эксперта информация из Print не выводится.


возможно Ваш ДЦ не работает с лотом=0.01 или как то иначе его отражает.
 
rid:
Astor:
Integer:

Lots=??? то есть 0

Там была эта ошибка. (в новом прикрепленном файле ее нет.) Но после ее исправления ничего не меняется.
Ордер не открывается и в журнал Эксперта информация из Print не выводится.


возможно Ваш ДЦ не работает с лотом=0.01 или как то иначе его отражает.
Вернее всего так и есть. Я поменял ордер на 0.1 и все заработало.
 
Бывает так! Просто надо, наверное, соотносить, как отражается в терминале тип счета с размером лота. Бывает из-за такой подобной ерунды дело намертво встанет. И ходишь весь день злой, как собака. А потом уж дойдет ....
 
во всех случаях спасает Print()!!!
 
rid:
Бывает так! Просто надо, наверное, соотносить, как отражается в терминале тип счета с размером лота. Бывает из-за такой подобной ерунды дело намертво встанет. И ходишь весь день злой, как собака. А потом уж дойдет ....

Так в логах и была ошибка 131. Можно было посмотреть.
 

Так мона вытащить минимальный размер лота для валютной пары

MarketInfo(Symbol(),MODE_MINLOT);

 
Vinin:
rid:
Бывает так! Просто надо, наверное, соотносить, как отражаетсяв терминале тип счета с размером лота. Бывает из-за такой подобнойерунды дело намертво встанет. И ходишь весь день злой, как собака.А потом уж дойдет ....

Так в логах и была ошибка 131. Можно было посмотреть.
Спасибо. Советы помогли и в других, не связанных с этим вопросах. А проблема с запуском программы оказалась в настройках советника в MT4. Они сбивались, возможно из-за того, что работаю не в реальном Windows, а в его эмуляторе на Макинтоше. Вероятно, нужно будет переходить на PC, будет надежнее. Жалко, что MT4 не работает на MACе.

Но возникла другая проблема. При выставлении ордера по рынку не удается установить Stop Loss и Take Profit. Не зависимо от их значений (в том числе и более 15-30 пунктов от текущей цены). Для уже открытого ордера Stop Loss и Take Profit устанавливаются.
То же самое и при работе советника. При попытке советника открыть ордер появляется сообщение "Ошибка 130", т.е. "неправильные стопы".
В чем может быть причина?

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