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

 

SanAlex:

Что то я подозреваю - что не все понимают о чём речь. - по общей прибыли это одно - а есть ещё по профиту на каждой паре свой.

По этому нужно эксперт устанавливать на каждую пару.

Не обязательно загружать все графики, ставишь на один график и в коде прописываешь

//+--------------------------------------------------------------------------------------------------------------------+
//| Expert tick function                                                                                               |
//+--------------------------------------------------------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Open_Pr("EURUSD")>MyProfit)DelOrders("EURUSD");
   if(Open_Pr("GBPUSD")>MyProfit)DelOrders("GBPUSD");
   //...и так все нужные пары 
//---
  }

а в функции удаления и закрытия ордеров добавить

//+--------------------------------------------------------------------------------------------------------------------+
//| Функция удаления и закрытия ордеров                                                                                |
//+--------------------------------------------------------------------------------------------------------------------+
void DelOrders(string sy="")
  {
   while(true)
     {
      bool find_order=false;
      //----
      if (sy == "0") sy = Symbol();
      for(int pos=OrdersTotal()-1;pos>=0;pos--)
      if(OrderSelect(pos,SELECT_BY_POS)==true)
      if(OrderSymbol() == sy || sy == "")
        {
         find_order=true;
         //----
         if(OrderType()==OP_BUY)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Bid,slip,clrBlue)==false){}
           }
         //----
         if(OrderType()==OP_SELL)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Ask,slip,clrRed)==false){}
           }
         //----
         if(OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
         if(OrderDelete(OrderTicket(),clrRed)==false){}
         //----
         if(OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
         if(OrderDelete(OrderTicket(),clrBlue)==false){}
         Alert("Все ордера закрыты!");
        } 
      if(find_order==false) Alert("Нет ордеров!");break;
     } 
  }
 
MakarFX:

Не обязательно загружать все графики, ставишь на один график и в коде прописываешь

а в функции удаления и закрытия ордеров добавить

А сигналы на открытия ?

 
SanAlex:

А сигналы на открытия ?

Ты о чем?
 
MakarFX:
Ты о чем?

эти функции вспомогательные - а что бы полноценно работал эксперт, нужно что бы он ещё открывал  

 
SanAlex:

эти функции вспомогательные - а что бы полноценно работал эксперт, нужно что бы он ещё открывал  

Изначально вопрос был - "у кого есть функция закрытия ордеров заданных валют по общей прибыли."

О создании полноценного эксперта речи не было)))

 
MakarFX:

Изначально вопрос был - "у кого есть функция закрытия ордеров заданных валют по общей прибыли."

О создании полноценного эксперта речи не было)))

ну не работает у тебя эта функция ! может она работает по общей прибыли ? - тогда мы о разных функциях говорим 

Снимок не закрывает

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Интересно как у него прибыль появится - открыв туда и сюда на 2 парах

я просто видел его код - он так у него и открывает. 

 
SanAlex:

ну не работает у тебя эта функция ! может она работает по общей прибыли ?

MakarFX:

Изначально вопрос был - "у кого есть функция закрытия ордеров заданных валют по общей прибыли."

 
MakarFX:

ну не чё! я подогнал ещё одну функцию - Извиняйте!!!

 
SanAlex:

Извиняйте!!!

Все норм))) Здесь форум для всех.

 
О смотрю дискусия развернулась.Alex и ты подключился.:))Ну что господа программисты консенсус то есть?Смотрите Задача функция состоит в закрытии ордеров одинакового типа по общей прибыли.Пример Открыты 4 позиции 2 по EURUSD бай и сел и 2  по USDCHF бай и сел.И нужно повторяюсь Нужно что бы експерт закрыл Или бай ордера или селл ордера.Ни бай и сел.Тобиж если ордера бай получили профит он их закрыл.Не трогай сел ордера.Или сел закрыл не трогай бай.По общей прибыли закрыть все 4 ордера не получиться ее ни когда не будет.
Причина обращения: