Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1395

 

SanAlex:

Sospecho que no todo el mundo entiende de qué estamos hablando. - El beneficio es una cosa, pero los beneficios de cada par son diferentes.

Por eso hay que instalar el Asesor Experto en cada par.

No es necesario descargar todos los gráficos.

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

y añadir a la función de borrar y cerrar órdenes

//+--------------------------------------------------------------------------------------------------------------------+
//| Функция удаления и закрытия ордеров                                                                                |
//+--------------------------------------------------------------------------------------------------------------------+
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:

No tienes que descargar todos los gráficos, sólo tienes que ponerlo en un gráfico y escribir en el código

y añadir a la función de borrar y cerrar órdenes

¿Y una señal de apertura?

 
SanAlex:

¿Y las señales de apertura?

¿De qué estás hablando?
 
MakarFX:
¿Qué quieres decir?

estas funciones son auxiliares - y para que un experto trabaje correctamente, también debe abrir

 
SanAlex:

Estas funciones son auxiliares: para que el Asesor Experto funcione correctamente, también debe abrir

Originalmente, la pregunta era: "¿Quién tiene una función para cerrar órdenes de divisas específicas según el beneficio total?

La creación de un Asesor Experto en toda regla estaba descartada))

 
MakarFX:

La pregunta original era "quién tiene la función de cerrar las órdenes de divisas dadas por el beneficio total".

No se trataba de crear un Asesor Experto en toda regla))

esta función no funciona para usted. ¿Quizás funcione para los beneficios totales? - Si es así, estamos hablando de funciones diferentes

La instantánea no se cierra

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

Me pregunto cómo aparecerá su beneficio - abriendo aquí y allá en 2 pares

Acabo de ver su código - así es como se abre.

 
SanAlex:

¿esta función no funciona para usted? ¿quizás funciona por el beneficio total?

MakarFX:

La pregunta original era "quién tiene la función de cerrar las órdenes de divisas dadas por el beneficio total".

 
MakarFX:

OK! He instalado otra característica - ¡¡¡Perdón!!!

 
SanAlex:

¡¡¡Lo siento!!!

Está bien))) Este es un foro para todos.

 
Veo que estamos teniendo una verdadera discusión. Alex, tú también estás involucrado en ella:)) Bueno, señores programadores, ¿tienen un consenso? Miren, la función principal es cerrar órdenes del mismo tipo en base a la ganancia total. Se han abierto 4 posiciones, 2 en EURUSD (compra y venta) y 2 en USDCHF (compra y venta).Si las órdenes de compra obtienen un beneficio las cierra, deja la orden de venta sola o deja la orden de venta sola.