Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 298

 
Vitaly Muzichenko:

По коду.

Сделайте просто return если малый объём, то есть прерывайте исполнение дальнейшего кода


Мне нужно условие, опция в настройках, если там выбираешь true: при свече [1] с растущим объёмом открывается сделка только,  и понять бы, как его правильно со скобками вписывать в робота. То есть целиком bool или что там нужно в начале) 


А на счёт скриншота - так мне показалось виднее)) 

 
Tigerfreerun:

Мне нужно условие, опция в настройках, если там выбираешь true: при свече [1] с растущим объёмом открывается сделка только,  и понять бы, как его правильно со скобками вписывать в робота. То есть целиком bool или что там нужно в начале) 


А на счёт скриншота - так мне показалось виднее)) 

Так?

extern bool AllowVolume = true;

void OnTick()
 {

 if(AllowVolume && Volume[2] > Volume[1]) return;
 // код открытия

 }
 
Vitaly Muzichenko:

Так?


Да, спасибо. В том случае, если написать его в начале советника будет блокироваться все что дальше, в том числе и графические отображения, верно? Либо разово запустив - отображение будет работать дальше? 

 
Tigerfreerun:

Да, спасибо. В том случае, если написать его в начале советника будет блокироваться все что дальше, в том числе и графические отображения, верно? Либо разово запустив - отображение будет работать дальше? 

Перенесите код открытия в самый низ, и его блокируйте

 
Vitaly Muzichenko:

Перенесите код открытия в самый низ, и его блокируйте

Каким образом - блокировать? 

 
Tigerfreerun:

Каким образом - блокировать? 

Перенесите разрешение на открытие в if

ну или ещё раз перечитайте

Вариантов несколько 

Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
Любые вопросы новичков по MQL4, помощь и обсуждение по алгоритмам и кодам
  • 2017.09.05
  • www.mql5.com
В этой ветке я хочу начать свою помощь тем, кто действительно хочет разобраться и научиться программированию на новом MQL4 и желает легко перейти н...
 
Dmitriy Voevodkin:

Init никак нельзя запускать, он автоматически запускается один раз при запуске индикатора/эксперта как и DeInit.

Как вариант, можно сделать статическую булевую переменную и использовать совместно с IsConnected(). И при восстановлении связи с приходом нового тика запускать сначала какую-то собственную функцию инициализации. Правда IsConnected() нужно будет применять не в OnCalculate(), а в OnTimer(), а свою функцию инициализации в самом начале OnCalculate().

OnInit() - это самая обыкновенная функция, которую можно запускать из любого места кода. Кто мешает? Не обманывайте пожалуйста людей, которые пришли учиться - зачем? Или сами подучитесь.

 
Victor Nikolaev:

Исправьте ошибку в этой строке

Для вставки кода используйте кнопку SRC


исправил

 

" все-таки comma txpected " перед началом текста остается

 

кроме того, есть предупреждение также перед текстом

" implicit cjnvertion from 'string' to 'number'

не ошибка, конечно, но тоже неприятно!




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