Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 673

 
Hola,¿Qué código debo añadir para que las alertas de cualquier indicador aparezcan en el EA?

¿Cómo detectar las alertas a través de iCustom?

¿Quizás conozca indicadores/asesores ya existentes para ello?
 
RichLux:

Estoy escribiendo un EA que funciona en base a la martingala.

¿Cómo puedo hacer que cierre todas las órdenes que ha abierto cuando se alcanza la pérdida máxima en pips en un par de divisas?

Si realmente lo necesitas en pips y no en dinero, aquí tienes una función para aplicar al igual que la anterior

//===============================================================================================
//------------------ Возвращает суммарный профит открытых позиций в пунктах --------------------+
//===============================================================================================
double GetProfitOpenPosInPoint(string symb="0", int type=-1, int mg=-1) {
double p=0, prb=0, prs=0, pr=0;
  if(symb=="0") { symb=Symbol();}
   for(int i=0; i<OrdersTotal(); i++) {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
     if((OrderSymbol()==symb||symb=="")&&(type<0||OrderType()==type)&&(mg<0||OrderMagicNumber()==mg)) {
       p=MarketInfo(OrderSymbol(), MODE_POINT)*Sign;
        if(OrderType()==OP_BUY) {
          prb+=((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
        }
        if(OrderType()==OP_SELL) {
          prs+=((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
        }
       pr=prb+prs;
     }
}}
  return(pr);
}
 
greeng2016:
Hola,¿Qué código debo añadir para que las alertas de cualquier indicador aparezcan en el EA?

¿Cómo detectar las alertas a través de iCustom?

¿Quizás conozca indicadores/asesores ya existentes para ello?
Que yo sepa, no se puede seguir la aparición de la ventana de alerta.
 
Hola. Quería abrir el archivo.ex4 con mt4.exe y configurarlo para que lo use para todos los archivos. ¿Cómo puedo recuperar la "biblioteca de shell general de windows"? por alguna razón mt4 no puede ver este experto (robot) ahora.
Archivos adjuntos:
pui_mqhrx2.png  40 kb
 
VSEVPOTOLKI:
Hola. Quería abrir el archivo.ex4 con mt4.exe y configurarlo para que lo use para todos los archivos. ¿Cómo puedo revertir la "biblioteca de shell general de Windows"? por alguna razón mt4 no ve este EA (robot) ahora.

No te lo vas a creer, pero todo el mundo!!! quiere abrir un archivo .ex4, el problema es que nunca se ha abierto para editarlo, y no se abre.

Los archivos editables son sólo .mq4, los ejecutables son .ex4

 

Eventos del terminal del cliente

Init

Inmediatamente después de que el terminal cliente cargue un programa (Asesor Experto o indicador personalizado) y comience la inicialización de las variables globales, se enviará un evento Init que se gestiona mediante OnInit(), si está disponible. Este evento también se genera después de un cambio de valor y/o de período del gráfico, después de recompilar el programa en el MetaEditor, después de un cambio de parámetros de entrada de un Asesor Experto o de una ventana de configuración de indicadores personalizados. El Asesor Experto también se inicializa después de cambiar la cuenta. El evento Init no se genera para los scripts.


¿Y si no es "por la ventana"? Por ejemplo, durante el modo de optimización en el Probador de Estrategias ? ¿Dónde leer sobre ello?

 
Leo59:

Eventos del terminal del cliente

Init

Inmediatamente después de que el terminal cliente cargue un programa (Asesor Experto o indicador personalizado) y comience la inicialización de las variables globales, se enviará un evento Init que se gestiona mediante OnInit(), si está disponible. Este evento también se genera después de un cambio de valor y/o de período del gráfico, después de recompilar el programa en el MetaEditor, después de un cambio de parámetros de entrada de un Asesor Experto o de una ventana de configuración de indicadores personalizados. El Asesor Experto también se inicializa después de cambiar la cuenta. El evento Init no se genera para los scripts.


¿Y si no es "por la ventana"? Por ejemplo, durante el modo de optimización en el Probador de Estrategias ? ¿Dónde leer sobre ello?

En el modo de optimización, cada pase con nuevos parámetros no es más que un nuevo inicio del programa. El evento OnInit() se ejecuta en consecuencia después del inicio.
 
Vladimir Karputov:
En el modo de optimización, cada pase con nuevos parámetros no es más que una nueva ejecución del programa. En consecuencia, después de iniciar el evento OnInit() pasa.
(¡Gracias, Vladimir! Lo entiendo)). ¿Pero dónde está escrito en la documentación? Si pongo Print, Alert y Comment en init(), no se muestra nada en el registro ni en la pantalla. ¿Cómo podemos estar seguros de lo que sabemos?
 
Leo59:
¡Gracias Vladimir! Lo entiendo)). ¿Pero en qué parte de la documentación está escrito? Si pongo Print, Alert, Comment en init(), no se escribe nada ni en el diario ni en la pantalla. ¿Cómo podemos estar seguros de lo que sabemos?

Y para asegurarnos - inicie la depuración en el historial y establezca un punto de interrupción en OnInit().

 

No consigo imprimir algo() en el registro del probador. ¿Cómo se hace esto?