[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 564

 

Ya te he dado el código para eliminar la exp del gráfico. Dado que sólo puede haber uno (por gráfico), la llamada a esta función con su propio mango hará que el exp se borre a sí mismo

 
FAQ:


...para darse la orden de ser eliminado


Gracias, funciona.

P.D.

#include <WinUser32.mqh>
 
No hace falta decirlo. Cuando trabaje con funciones importadas, recuerde conectar las exportaciones de las aplicaciones correspondientes.
 
Ayuda, ¿por qué no funciona?

Gracias.

//-----
  static bool First = true;
  static int PreOrdersTotal = 0;
  int NowOrdersTotal = CountTrades();
  if(First)
  {
    PreOrdersTotal = NowOrdersTotal;
    First = false;
    return(0);
  }
  if(UseSound == true && NowOrdersTotal < PreOrdersTotal) {PlaySound(CloseSound);}
  PreOrdersTotal = NowOrdersTotal;
//-----

 
FAQ:

Cierra tu ventana, date una orden de borrar...

PostMessageA(WindowHandle(Symbol(),Period()), WM_COMMAND, 33050, 0);

Por lo tanto, MQL4 no proporciona una forma estándar para terminar el Asesor Experto. Sólo a través de un uso directo de la API de Win32.

Entendido, gracias.

 
takeda:

Por lo tanto, MQL4 no proporciona una forma estándar para terminar un Asesor Experto. Sólo mediante el uso directo de la API Win32.

Ya veo, gracias.

Biblioteca. Muchas funciones útiles para la gestión de MT4. Incluyendo la eliminación del Asesor Experto está allí.
 
Zhunko:
Biblioteca. Muchas funciones útiles para la gestión de MT4. Incluyendo la eliminación del Asesor Experto está allí.

He echado un vistazo (hasta ahora de forma superficial). ¡Maravillosa biblioteca!

Gracias.

 

Buenas tardes.

La modificación de la orden funciona parcialmente, ayúdame a averiguar cuál es el problema.

Se adjunta el código y el registro. He escrito en el registro lo que funciona y lo que no.....

void AllSellLockBuyModifi()
{
 double sell_sl = 0.0;
 double sell_tp = NormalizeDouble((AllAvP()-TakeProfit*Point),Digits);
 int spread = MarketInfo(Symbol(),MODE_SPREAD);
 double lock_buy_tp = NormalizeDouble((LastSellLockBuyAvP()+TakeProfit*Point),Digits);
 double last_sell_sl = NormalizeDouble((lock_buy_tp+spread*Point),Digits);
 double lock_buy_sl = NormalizeDouble((sell_tp-spread*Point),Digits);     
 Print("AllAvP = ",AllAvP()," sell_tp = ",sell_tp," lock_buy_tp = ",lock_buy_tp," last_sell_sl = ",last_sell_sl," lock_buy_sl = ",lock_buy_sl);
 for (int i = 0; i <= OrdersTotal(); i++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol()!=Symbol())continue;
     if (OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
     if (OrderType()==OP_SELL)
       {Print("Find Sell Order");
        if (OrderOpenPrice()==!LastSellPrice()) sell_sl = 0;
        if (OrderOpenPrice()==LastSellPrice()) sell_sl = last_sell_sl;
        Print("Мод-ция ордера SELL № ",OrderTicket());
        OrderModify (OrderTicket(),OrderOpenPrice(),sell_sl,sell_tp,0,CLR_NONE);
        error=GetLastError();
        if (error != 0) Print("Мод-ция ордера SELL № ",OrderTicket()," ошибка № ",error);
       }         
         else 
             { Print("Find BUY Order");       
              if (OrderType()==OP_BUY)
                {
                 Print("Мод-ция ордера LOCK BUY");
                 OrderModify (OrderTicket(),OrderOpenPrice(),lock_buy_sl,lock_buy_tp,0,CLR_NONE);
                 error=GetLastError();
                 if (error != 0) Print("Мод-ция ордера LOCK BUY № ",OrderTicket()," ошибка № ",error);
                }
             }
    }
 return(0);
}
Archivos adjuntos:
log.txt  4 kb
 
TEXX:

Buenas tardes.

La modificación de la orden funciona parcialmente, ayúdame a averiguar cuál es el problema.

Se adjunta el código y el registro. En el registro he escrito lo que funciona y lo que no.....


Para empezar, corrige estas líneas:

for (int i = 0; i <= OrdersTotal(); i++)
    {
     OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

en estos:

for (int i = 0; i < OrdersTotal(); i++)
   if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
 
PapaYozh:


Para empezar, corrige estas líneas:

a estos:


no ayudó...
Razón de la queja: