¡Pide! - página 136

 

suspender la orden

Hola amigos

con respecto a la programación en MQL4 soy un verdadero novato, pero estoy aprendiendo cada día. Actualmente estoy probando lo siguiente:

en el bucle principal de mi EA, cuando se cumplen ciertas condiciones, se abre una orden. Esta orden es con una entrada, stoploss y takeprofit dados usando la función OrderSend.

Sólo se permite una orden a la vez:

total = OrdersTotal();

if(total < 1)

{ etc etc

Lo que me gustaría construir es que cuando el stoploss o takeprofit de la orden sea alcanzado, el EA espere con la toma de nuevas órdenes hasta que la barra horaria actual (la barra dentro del stoploss o takeprofit sea alcanzada) termine.

El problema de momento es que en cuanto se alcanza el stoploss o takeprofit, inmediatamente se toma otra orden en el bucle principal.

¿Pueden ayudarme, por favor?

FXX

 

Combine EA necesita ayuda

Hola a todos,

¿Alguien sabe cómo combinar 2 EA diferentes en 1 EA? Por favor, muéstreme paso a paso cómo hacerlo.

Gracias de antemano por su ayuda.

 

Depende de la lógica del EA

Cada EA tiene una lógica diferente, por lo que el método para combinar dos ea's depende de su lógica..

Entonces, ¿dónde están los EA que desea combinar?

Bill FX:
Hola a todos,

¿Alguien sabe cómo combinar 2 EAs diferentes en 1 EA? Por favor, muéstreme paso a paso cómo hacer esto?

¡Gracias de antemano por su ayuda !
 

¿Cómo clasificar los valores? Necesito ayuda

Alguien puede ayudarme a crear la función de rango

por ejemplo tengo algunos valores dobles como theese:

a=3.0; b=4.0; c=5.0; d=2.0; e=1.0; f=6.0; g=0.0;

de mayor a menor valor (6.0, 5.0, 4.0, 3.0, 2.0, 1.0, 0.0)

o el valor de (f,c,b,a,d,e,g)

Así que los rangos deberían ser así

número de rango: (th)

f=1 ; c=2; b=3; a=4; d=5; e=6; g=7;

Lo que necesito es una función que devuelva el rango si introduzco el valor

int rango (valor doble)

{

procesa todos los valores;

devuelve (el rango de un valor de todos los valores)

}

Sé que es fácil si hacemos una función como esta

por ejemplo valor de "a"

int rango (valor doble)

{

if(a>b && a>c && a>d && a>e && a>f && a>g)

devuelve (1);

.

.

.

if(a<b && a<c && a<d && a<e && a<f && a<g)

return(7);

}

El Problema es que cuando las variaciones de valor son 2 la combinación es poca, pero cuando las variaciones aumentan por ejemplo 5,7 o 10 etc entonces la combinación para hacer el rango será muy muy..

Espero que alguien pueda ayudarme con este tipo de problema.

Gracias, lo siento por mi pobre inglés, pero estoy aprendiendo...

Pj...

 

Utiliza un array y echa un vistazo a la función ArraySort().

Buena suerte

Lux

 

Stoch OBOS

Me gusta mucho este stoch indi, pero necesito ayuda para cambiarlo, porque necesito la alerta cuando el stoch toca sobre el área de compra y venta. Y cuando la alerta, puede mostrar lo que la moneda también.

Gracias de antemano.

Archivos adjuntos:
 
luxinterior:
Utiliza un array y echa un vistazo a la función ArraySort().

Buena suerte

Lux

Lo he intentado pero sigo confundido,

necesito a alguien que pueda enseñarme o mostrarme cómo hacer esa cosa..

Tal vez usted podría Lux?

Gracias de antemano

 
primajaya:
Cada EA tiene una lógica diferente, así que el método para combinar dos ea's depende de su lógica... Así que ¿Dónde están los ea's que te gustaría combinar?

Hola primajaya,

Gracias por tus comentarios. Me refiero a la 1 ª EA es operaciones abiertas y la 2 ª EA es cerrar las operaciones, si la 1 ª EA operaciones abiertas y tiene algunos beneficios y quiero la 2 ª EA cerrar el comercio en XXX beneficios, así que ¿cómo debo hacer? Ellos son el trabajo si se adjunta en 2 chats, pero quiero combinar 2 en 1 que sólo necesito abrir 1 EA solamente.

Gracias por su ayuda.

 
Bill FX:
Hola primajaya,

Gracias por sus comentarios. Me refiero a la 1 ª EA es operaciones abiertas y la 2 ª EA es cerrar las operaciones, si la 1 ª EA operaciones abiertas y tiene algunos beneficios y quiero la 2 ª EA cerrar el comercio en XXX beneficios, así que ¿cómo debo hacer? Si me adhiero a 2 chats, pero quiero combinar 2 en 1, sólo necesito abrir 1 EA.

¡Gracias por tu ayuda!

Todavía no sé acerca de la lógica 1 º y 2 º EA para abrir las operaciones ...

Pero tal vez esto puede ayudar a usted ..

Trate de combinar los dos ea en una sola EA ..

Así que la EA debe tener dos señales para abrir operaciones:

La primera señal de la primera EA y la segunda señal de la segunda EA ...

puede utilizar OrderMagicNumber() como la identidad para cada comercio abierto hecho por dos señales...

por ejemplo:

si las operaciones abiertas por la 1ª señal entonces -- el número mágico es 1111

si las operaciones abiertas por la 2ª señal entonces -- el número mágico es 2222

Así que si queremos cerrar la operación de la segunda señal podemos utilizar OrderMagicNumber() como identidad para cerrar:

Espero que ayude...

Pj

 

10 puntos3

¡POR FAVOR, PROGRAMADORES!

Necesitamos en 10points3 EA, que cuando se abra la tercera operación, se cierre la primera, lo estoy intentando pero sigue cerrando todas las posiciones.

en realidad tenemos:

if (PreviousOpenOrders>OpenOrders)

{

for(cnt=OrdersTotal();cnt>=0;cnt--)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

mode=Tipo de orden();

if (OrderSymbol()==Symbol() && OrderMagicNumber() == Magic)

{

if (mode==OP_BUY) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Blue); }

if (mode==OP_SELL) { OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),slippage,Red); }

return(0);

}

}

}

Estaba pensando en hacer esto

1. cambiar el número mágico de la primera operación cuando se abra la segunda, por ejemplo magicnumber+1

2. cuando se abra la tercera operación, cerrar la primera, con el número mágico+1 asignado.

¿Estoy en lo cierto?

¿o de que otra forma puedo identificar la primera operación abierta para cerrarla después?

Si me pueden guiar o hacer los cambios, mejor porque no soy programador, solo estoy aprendiendo.

¡¡¡Este cambio sería el inicio del Santo Grial!!!

Archivos adjuntos:
10p3v0.03_1.mq4  12 kb
Razón de la queja: