Ayuda a la codificación - página 20

 

base de salida MACD

Sr. gurú, puede ayudarme a hacer esta base de cierre EA en MACD cruzar 0.

Tengo editar pero demasiado difícil 4 mí ... muchas gracias

Archivos adjuntos:
1428maplus.mq4  30 kb
 

Busco ayuda para escribir un código sin cobertura

Hola,

Estoy esperando para obtener un poco de ayuda con un trozo de código. Tengo un sistema de soporte y resistencia y estoy tratando de editar el ea para incluir la opción de cobertura. (Ya que vivo en Estados Unidos y estoy con un broker sin cobertura).

Sé que cuando mi EA se activa y tengo una orden abierta, la orden pendiente opuesta se elimina automáticamente. El problema es que no puedo hacer un backtest adecuado y ajustar el sistema porque el Probador de Estrategias no tiene opciones de cobertura/no cobertura.

Así que estoy tratando de editar el código para incluir esa opción. Obviamente tengo que poner en un bool y establecerlo en falso (que he hecho), pero no estoy seguro de dónde ir desde allí.

El EA es un típico EA de soporte/resistencia. Coloca órdenes pendientes a x distancia del soporte o de la resistencia. Usando un ejemplo, si el mercado está en una tendencia a la baja y golpea mi venta pendiente y la convierte en una orden de mercado, y luego la tendencia se invierte, tengo que eliminar las órdenes de compra pendientes (o no permitir las órdenes de compra pendientes) hasta que la orden de venta se cierre.

El EA también borra las órdenes pendientes en un temporizador de vencimiento y al final de las horas de negociación introducidas. No estaba seguro de si podría modificar parte de ese código para hacer lo que estoy pensando.

Este es el código del EA que borra las órdenes pendientes. ¿Hay alguna manera de que pueda modificar esto para hacer lo que estoy tratando de hacer, o si no puede alguien que me apunte en la dirección correcta?

void deletebuypending(int magic)

{

for(i=0;i<OrdersTotal();i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_BUYSTOP)

{

OrderDelete(OrderTicket());

}

}

}

void deletesellpending(int magic)

{

for(i=0;i<OrdersTotal();i++)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() &&

OrderMagicNumber()==magic &&

OrderType()==OP_SELLSTOP)

{

OrderDelete(OrderTicket());

}

}

}

Se agradece cualquier ayuda o indicación en la dirección correcta.

 

Gracias por tratar de ayudarme (moviendo de nuevo mi hilo sin comentarios). Leí este hilo, pero no vi nada relacionado con lo que estaba preguntando. Empecé a intentar escribir el código yo mismo.

Creo que voy por el buen camino. He escrito este trozo de código, pero lo que ocurre es que las órdenes de venta pendientes ( órdenes de stop de venta) se borran en cuanto se colocan, haya o no una orden de compra activa.

Espero que alguien pueda ayudarme.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

int type=OrderType();

int type1=OP_BUY;

int type2=OP_BUYSTOP;

int type3=OP_SELL;

int type4=OP_SELLSTOP;

if(type==type2 && type1>0)

{

OrderDelete(OrderTicket());

}

if(type==type4 && type3>0)

{

OrderDelete(OrderTicket());

}

}

}

 

Hola Gregwendland,

Supongo que se puede decir entonces que este es mi comentario tardío, tratamos de mantener las cosas un poco organizadas en el foro, y parecía que necesitaba ayuda de codificación por lo que es donde te moví, la sección de ayuda de codificación, la razón por la que no comenté fue pensando en donde te moví hablaría por sí mismo y no podía ofrecer ninguna ayuda a su pregunta de codificación, de todos modos espero que encuentres a alguien que te ayude.

 

Gracias, MrTools.

Se lo agradezco. Entendí lo que hacías al mover mi hilo. Es que no encontré respuestas en los posts anteriores. Sigo trabajando en ello. Creo que lo he conseguido. Parece ser que permite una orden activa y borra la orden pendiente opuesta. Así como cambiar entre las dos.

if (hedge==false)

{

int total = OrdersTotal();

for(m=total-1;m>=0;m--)

{

OrderSelect(m, SELECT_BY_POS);

if(OrderType()==OP_BUY)

{

deletesellpending(magic);

}

if(OrderType()==OP_SELL)

{

deletebuypending(magic);

}

}

}

[/PHP]

Now, it sort of brings up another question. The EA places objects and connecting lines to show where an order was opened and closed. With setting up the deletepending this way, My chart actually gets filled with continuous Sell/Buy Stop indicators immediately followed by closing/deleted indicators. This continues until there is no longer an open position.

So, what I'd like to try now is to figure out if I can put in a check at the ordering function to stop a pending order from even being placed. This will create a cleaner chart screen for me.

I know I figured that one out on my own, but I'm still looking for help since I am not very good with programming languages.

This is the Order Function:

[PHP]

if((count(OP_BUYSTOP,magic)+count(OP_BUY,magic))<maxtrades && buy && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_BUYSTOP,ilots,resistance+distance*pt,slippage*mt,sl,tp,comment+"Bid: "+DoubleToStr(Bid,5),magic,expire,Blue);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tps++;

Print("Order opened : "+Symbol()+" Buy @ "+Ask+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

if((count(OP_SELLSTOP,magic)+count(OP_SELL,magic))<maxtrades && sell && tpb<tradesperbar && IsTradeAllowed())

{

// -- Taken out coding to shorten post

ticket=OrderSend(Symbol(),OP_SELLSTOP,ilots,support-distance*pt,slippage*mt,sl,tp,comment+"Ask: "+DoubleToStr(Ask,5),magic,expire,Red);

if(ticket<=0)

{

Print("Error Occured : "+errordescription(GetLastError()));

}

else

{

tpb++;

Print("Order opened : "+Symbol()+" Sell @ "+Bid+" SL @ "+sl+" TP @"+tp+" ticket ="+ticket);

}

}

Estaba pensando si pongo algo como && OP_SELL==false (u OP_BUY==false en la sección de órdenes de venta ). ¿Es esa la idea correcta?

 

Contador de barras para MT4 - IndicatorCounter

Hola a todos.

Este es mi primer post.

Necesito ayuda de quien pueda.

He desarrollado mi primer EA para MT4 usando un generador de código más modificándolo después de compilarlo y estoy tratando de:

1. Después de la entrada, salir del comercio después de, por ejemplo, 15 bares.

2. El número de barras para salir se puede cambiar en la sección "extern int".

El EA opera en los parámetros RSI especificados y actualmente sale en TP, SL y TS (trailing stop).

Me gustaría salir también, por ejemplo, cuando hayan transcurrido 10 o 15 barras.

Lo he intentado como un loco pero no consigo que funcione.

Agradezco mucho si alguien me puede ayudar por favor.

He adjuntado el EA para que alguien le eche un vistazo.

Saludos y un gran placer.

cj

Archivos adjuntos:
 
freefreecj:
Hola a todos.

Este es mi primer post.

Necesito ayuda de quien pueda.

He desarrollado mi primer EA de MT4 utilizando un generador de código más modificándolo después de compilarlo y estoy tratando de:

1. Después de la entrada, salir del comercio después de, por ejemplo, 15 bares.

2. El número de barras para salir se puede cambiar en la sección "extern int".

El EA opera en los parámetros RSI especificados y actualmente sale en TP, SL y TS (trailing stop).

Me gustaría salir también, por ejemplo, cuando hayan transcurrido 10 o 15 barras.

Lo he intentado como un loco pero no consigo que funcione.

Agradezco mucho si alguien me puede ayudar por favor.

He adjuntado el EA para que alguien le eche un vistazo.

Un saludo y un gran placer.

cj

Hola Cj,

Te he movido aquí, espero que encuentres una solución aquí en este hilo o que alguien se pase por aquí y te ayude.

 

Gracias MrTools

Gracias MrTools

 

Hola a todos,

Necesito un indicador que pueda dar una alerta sonora y de caja para

a) Comprar cuando los Bajos cruzan por encima de la 34 EMA de los Altos hacia arriba

b) Vender cuando los máximos crucen la EMA 34 de los mínimos hacia abajo

¿Puede alguien ayudarme por favor?

Cualquier tipo de ayuda será apreciada.

Gracias de antemano

saludos

Sahilsri

 

...

Mladen...¿por qué Squize MA no muestra las bandas donde está la flecha...a mi entender tiene que mostrar las bandas cuando las MA's se acercan a cierta distancia entre sí?

Archivos adjuntos:
a.tpl  2 kb
a_2.jpg  161 kb