Функцию частичного закрытия?
LockAllOrders - частичное перекрытие
CloseLock - закрытие лока
void LockAllOrders(double PercentClose) { double Digits_=MarketInfo(Symbol_,MODE_DIGITS); double LotBUY_GBPUSD=0.0; double LotBUY_EURUSD=0.0; double LotSELL_GBPUSD=0.0; double LotSELL_EURUSD=0.0; for (int k=OrdersTotal()-1;k>=0;k--) { //RefreshRates(); if (OrderSelect(k,SELECT_BY_POS)==true&&OrderMagicNumber()==Magik) { int cmd=OrderType(); string OrderSymbol_=OrderSymbol(); if (cmd==OP_BUY) { if(OrderSymbol_==Symbol_) { LotBUY_EURUSD=LotBUY_EURUSD+OrderLots(); } } if (cmd==OP_SELL) { if(OrderSymbol_==Symbol_) { LotSELL_EURUSD=LotSELL_EURUSD+OrderLots(); } } } } int res=(-1); if(LotBUY_EURUSD>0) { while(res<0&&!IsStopped()) { res=OrderSend(Symbol_,OP_SELL,NormalizeLots(LotBUY_EURUSD*PercentClose,MarketInfo(Symbol_,MODE_LOTSTEP)),NormalizeDouble(MarketInfo(Symbol_,MODE_BID),Digits_),3,0,0,NULL,(0-Magik)); RefreshRates(); } res=(-1); } if(LotSELL_EURUSD>0) { while(res<0&&!IsStopped()) { res=OrderSend(Symbol_,OP_BUY,NormalizeLots(LotSELL_EURUSD*PercentClose,MarketInfo(Symbol_,MODE_LOTSTEP)),NormalizeDouble(MarketInfo(Symbol_,MODE_ASK),Digits_),3,0,0,NULL,(0-Magik)); RefreshRates(); } } } void CloseLock() { while(true) { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS)==false)continue; if(OrderMagicNumber()==(0-Magik)) { break; } } int i1=0; if(i>=0) { if(OrderMagicNumber()==(0-Magik)) { int cmd=OrderType(); int res=OrderTicket(); string Symbol_=OrderSymbol(); if(cmd==OP_BUY) { for(i1=OrdersTotal()-1;i1>=0;i1--) { if(OrderSelect(i1,SELECT_BY_POS)==false)continue; { if(OrderMagicNumber()==Magik&&OrderType()==OP_SELL&&Symbol_==OrderSymbol()) { if(OrderCloseBy(res,OrderTicket()))break; } } } } if(cmd==OP_SELL) { for(i1=OrdersTotal()-1;i1>=0;i1--) { if(OrderSelect(i1,SELECT_BY_POS)==false)continue; { if(OrderMagicNumber()==Magik&&OrderType()==OP_BUY&&Symbol_==OrderSymbol()) { if(OrderCloseBy(res,OrderTicket()))break; } } } } } } else { break; } } }
sanyooooook:
Функцию частичного закрытия?
Функцию частичного закрытия?
sanyooooook,spasibo!
Wy oshiblis nushno ne sakrytie a naoborot otkrytie-open Buy ili open Sell
po logike! Eto nushno pri bolshich dvishenijach kursa-dolivatj do pariteta!
Esli kurs idet naverch to ostajutsa toljko Sell positii.Poetomu nado dolivatj
Buy positions!
privet
pansa
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Привет, форум!
кто мог бы помогать funktion Haписat kotoraja orders добавило бы
(controlliert) и заботится для order paritet.
Масса Buy=Buy, масса Sell=Sell, Pos_Dif=Buy-Sell.
Если бы Buy+ Sell>=max (максимально)-Nichewo ne delat
Если бы Pos_Dif == 0 Nichewo ne delat
Если бы Pos_Dif < 0 покупал тогда Buy
Если бы Pos_Dif > 0 покупал тогда Sell
С приветами
pansa