Ayuda a la codificación - página 226

 

Estimados grandes programadores,

por favor ayúdenme a modificar esta Ea para hacer la posibilidad de abrir sólo la compra o sólo la orden de venta en el inicio de cada ciclo.

Perdón por mi inglés.

Gracias

Mark010breakouthedge.mq4

Archivos adjuntos:
 
Mark010:
Estimados grandes programadores,

por favor ayudenme a modificar esta Ea para que exista la posibilidad de abrir solo orden de compra o solo orden de venta al inicio de cada ciclo.

Perdón por mi inglés.

Gracias

Mark010breakedge.mq4

Mark010

¿Tienes el código fuente original? Ese es un código descompilado y dudo que consigas ayuda con los cambios de código descompilados

 

No lo tengo.

Gracias de todos modos

 
mladen:
elcomepips Aquí tienes

Hola mladen,

He visto que lo has codificado muy bien. Que buffers tengo que importar con iCustom() para hacer un EA de eso. Solo quiero saber si tengo que ir en largo o en corto.

Gracias de antemano.

 
arroganzmaschine:
hey mladen,

He visto que lo has codificado muy bien. Que buffers tengo que importar con iCustom() para hacer un EA de eso. Solo quiero saber si tengo que ir en largo o en corto.

Gracias de antemano.

arroganzmaschine

Puedes usar el buffer 2 para eso. Cuando el valor en él es 1, entonces la tendencia es alcista, si el valor es -1 entonces la tendencia es bajista. El código podría ser así:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

 
mladen:
arroganzmaschine

Para ello puedes utilizar el buffer 2. Cuando el valor en él es 1, entonces la tendencia es alcista, si el valor es -1 entonces la tendencia es bajista. El código podría ser así:

double currentTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,1);

double previousTrend = iCustom(NULL,0,"MA crosses arrows_alerts mtf","",FastMa,FastMaShift,FastMAMethod,FastMAPrice,SlowMa,SlowMaShift,SlowMAMethod,SlowMAPrice,2,2);

if (currentTrend != previousTrend)

{

if (currentTrend == 1) // buy signal

if (currentTrend == -1) // sell signal

}

¿Cómo tengo que definir FastMa etc? Eso no funciona, porque no existe.

 
arroganzmaschine:
¿Cómo tengo que definir FastMa etc? Eso no funciona, porque no existe.

Tienes que declararlos como variables externas (exactamente igual que en los parámetros del indicador). Así :

extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

Utiliza los valores por defecto que quieras en lugar de los del código anterior

 
mladen:
Tienes que declararlas como variables externas (exactamente igual que en los parámetros del indicador). Así :
extern int FastMa = 5;

extern int FastMaShift = 0;

extern int FastMAMethod = MODE_LWMA;

extern int FastMAPrice = PRICE_CLOSE;

extern int SlowMa = 13;

extern int SlowMaShift = 0;

extern int SlowMAMethod = MODE_LWMA;

extern int SlowMAPrice = PRICE_CLOSE;

usa los valores por defecto que quieras en lugar de los del código anterior

Muchas gracias. ¿Cómo puedo hacer una sola orden si el currentTrend==1?

No quiero abrir órdenes masivas.

 
arroganzmaschine:
¡Muchas gracias! ¿Cómo puedo hacer una sola orden si el currentTrend==1? No quiero abrir órdenes masivas.

O bien utilizar OrdersTotal() < 1 o utilizar alguna función de recuento de órdenes para el símbolo actual y el número mágico

 

Hola Mladen.Usted hizo la versión este indicador. Quiero pedir para hacer aquí por separado media móvil, como en el ejemplo de otro indicador si es posible.

Gracias.

Archivos adjuntos:
Razón de la queja: