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

 
Dmitriy Voevodkin:

работайте с историей сделок через

OrdersHistoryTotal()

OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)


Спасибо за ответ. Я понимаю,что если ордер закрылся, его нужно выбирать из истории (как последний в истории).Только как написать это условие не знаю.И главное как указать( после того как мы его найдём), что, если он закрылся по тейкпрофиту ,то..., если по стоплосс то...?

 

Доброго времени суток, вопрос знамо такой.... Почемуто думал что функция в советнике Init () запускается не только в момент прикрепления советника или компиляции, но и во время обрыва связи, вернее после востановления обрыва связи, однако это не так. Подскажите как грамотно запустить функцию init() после востановления связи????

 
Подскажите пожалуйста, как здесь правильно и где расставить какие скобки. И верно ли указанно bool? В чем его отличие от external bool? (или как-то так) 

"
Bool Volumes 

If (Volume [1 ]> Volume  [2])  f=true; else f=false ;
If (f) торгуем; else не торгуем 
Файлы:
 
Tigerfreerun:
Подскажите пожалуйста, как здесь правильно и где расставить какие скобки. И верно ли указанно bool? В чем его отличие от external bool? (или как-то так) 

"
Bool Volumes 

If (Volume [1 ]> Volume  [2])  f=true; else f=false ;
If (f) торгуем; else не торгуем 

поставьте курсор на Volume и нажмите F1. 

Volume - это оператор.

переменная bool f;

В принципе вы можете на любой оператор наводить курсор и нажимать F1 - там всё подробно описано.
 
Dmitriy Voevodkin:

поставьте курсор на Volume и нажмите F1. 

Volume - это оператор.

переменная bool f;

В принципе вы можете на любой оператор наводить курсор и нажимать F1 - там всё подробно описано.
Вопрос был про скобки, где какие поставить "{,} " не понимаю этого алгоритма расстановки скобок. Написал все в точности как вы сказали и 4 ошибки со словом "global scope"  
 
Mihail Marchukajtes:

Доброго времени суток, вопрос знамо такой.... Почемуто думал что функция в советнике Init () запускается не только в момент прикрепления советника или компиляции, но и во время обрыва связи, вернее после востановления обрыва связи, однако это не так. Подскажите как грамотно запустить функцию init() после востановления связи????


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

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

 
Dmitriy Voevodkin:

поставьте курсор на Volume и нажмите F1. 

Volume - это оператор.

переменная bool f;

В принципе вы можете на любой оператор наводить курсор и нажимать F1 - там всё подробно описано.
Скриншот ошибки 
Файлы:
 
Tigerfreerun:
Скриншот ошибки 

Первый раз вижу такой скриншот =)

У вас нет возможности сделать скрин штатными средствами Windows?

 

По коду.

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

if(Volume[0] < 1000) return;
 
Tigerfreerun:
Скриншот ошибки 

нарушен синтаксис MQL. В данном случае лишние точка с запятой после bool Volume и ещё компилятор захочет скобки (), но я вам уже писал, что в данном случае это логика, а не код для эксперта.