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

 
MatveySt #:
Написал ему в личку. Может ответит. Подскажите может есть где почитать?
Вызов функции надо почитать)))
 
Valeriy Yastremskiy #:
Вызов функции надо почитать)))

Благодарю.

 
Valeriy Yastremskiy #:

По одному в блокноте или в метаэдиторе.))) Дефайны в помощь так же)

Так и делаю)) задолбался

К сожалению, пока не соображаю в дефайнах, инклудах и тд.

f1nik #:

Может подойдет Notepad++ ? Там и регулярные выражения и фильтры есть, не автоматом конечно, но удобно.

Оказывается можно и автоматизировать плагином, если разобраться https://stackoverflow.com/questions/10036705/how-to-automate-a-series-of-search-and-replace-operation-in-notepad

Спасибо! Попробую

 
OnTick() и OnTimer() в одной очереди или они могут одновременно исполниться?
 
У меня иногда не закрываются некоторые ордера в сеточном списке открытых ордеров, банально потому что не хватает пару пунктов из-за спреда, ошибок нет, но не закрытые болтаются и нарушают ход дальнейшего алгоритма, возникла такая идея, Как написать следующую функцию: если один из ордеров закрылся по TP или SL, то закрыть все открытые ордера, которые не закрылись(для mt4)
 
Konstantin Kulikov #:
OnTick() и OnTimer() в одной очереди или они могут одновременно исполниться?
Только одна очередь
 
Порт-моне тв #:
У меня иногда не закрываются некоторые ордера в сеточном списке открытых ордеров, банально потому что не хватает пару пунктов из-за спреда, ошибок нет, но не закрытые болтаются и нарушают ход дальнейшего алгоритма, возникла такая идея, Как написать следующую функцию: если один из ордеров закрылся по TP или SL, то закрыть все открытые ордера, которые не закрылись(для mt4)

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

 
Tretyakov Rostyslav #:

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

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

При открытии ордера(например покупка) суммируешь кол=во ордеров в "cnt_buy"

   ticket=OrderSend(_Symbol,OP_BUY, Lots,Ask,Slippage,0,0,"",Magic,0,clrBlue);
   if(ticket!=-1)cnt_buy+=1;

Затем в OnTick() сравниваешь текущее кол-во ордеров с "cnt_buy"

   if(CountOrders(OP_BUY)<cnt_buy)

и если один ордер закрылся по TP/SL то "cnt_buy" будет больше CountOrders(OP_BUY),

тогда закрываешь все ордера на покупку и сбрасываешь на "0"  cnt_buy

   if(CountOrders(OP_BUY)<cnt_buy)
     {CloseOrder1(OP_BUY); cnt_buy=0;}
 
Tretyakov Rostyslav #:

При открытии ордера(например покупка) суммируешь кол=во ордеров в "cnt_buy"

Затем в OnTick() сравниваешь текущее кол-во ордеров с "cnt_buy"

и если один ордер закрылся по TP/SL то "cnt_buy" будет больше CountOrders(OP_BUY),

тогда закрываешь все ордера на покупку и сбрасываешь на "0"  cnt_buy


Благодарю за ответ, но если честно не совсем ясно как это решение относиться к определению закрытия по SL/TP, можете пояснить саму логику? 
Причина обращения: