¿Cómo codificar? - página 215

 

Un poco de ayuda en programación

Hola a todos,

¡Este es mi primer post!

Llevo unos 3 meses intentando programar un EA que reconozca un patrón de velas concreto y abra una orden de compra o de venta después de ese patrón, pero he fracasado estrepitosamente.

No sé cómo publicar imágenes aquí, así que voy a tener que describirlo.

Para una señal de compra / comercio que he estado tratando de programa:

Close[3] < Close[4],

Close[2] < Close[3],

High[2] < Open[3],

Bajo[1] > Bajo[2] y

Cierre[1] >= Apertura[3]

Para la señal de venta / comercio es lo contrario de la compra.

Probablemente es muy simple pero no puedo hacerlo.

¿Hay alguna persona amable y generosa que esté dispuesta a programar esto para mí?

Gracias

 
Cgage2491:
Hola a todos,

Para una señal de compra / comercio he estado probando el programa:

Close[3] < Close[4],

Close[2] < Close[3],

High[2] < Open[3],

Bajo[1] > Bajo[2] y

Cierre[1] >= Apertura[3]

Para la señal de venta / comercio es lo contrario de la compra.

Gracias

Hola Cgage....

Sin tu código no sé cuáles son tus variables pero puedes probar a modificar esto... puede que te funcione.

bool BuyCondition = false ;

bool SellCondition = false ;

//--------- BuyCondition ----------

if (Close[3] < Close[4] && Close[2] < Close[3] && High[2] Low[2] && Close[1] >= Open[3]) BuyCondition = true ; else BuyCondition = false;

Para la señal de venta / comercio es lo contrario de la compra.

//--------- SellCondition ----------

if (Close[3] > Close[4] && Close[2] > Close[3] && High[2] > Open[3] && Low[1]< Low[2] && Close[1] <= Open[3]) SellCondition = true ; si no SellCondition = false;

Buena suerte.

Robert

 
cosmiclifeform:
Hola Cgage....

Sin tu código no sé cuáles son tus variables pero puedes intentar modificar esto... puede que te funcione.

bool BuyCondition = false ;

bool SellCondition = false ;

//--------- BuyCondition ----------

if (Close[3] < Close[4] && Close[2] < Close[3] && High[2] Low[2] && Close[1] >= Open[3]) BuyCondition = true ; else BuyCondition = false;

Para la señal de venta / comercio es lo contrario de la compra.

//--------- SellCondition ----------

if (Close[3] > Close[4] && Close[2] > Close[3] && High[2] > Open[3] && Low[1]< Low[2] && Close[1] <= Open[3]) SellCondition = true ; si no SellCondition = false;

Buena suerte.

Robert

Gracias por la respuesta.

He intentado algo así, he probado muchas cosas.

Los problemas que he tenido han sido múltiples operaciones por barra, operaciones en cada barra, no reconocer el patrón en absoluto, etc.

Entiendo la parte lógica de las cosas pero no sé cómo programarlo.

¡He intentado cortar y pegar de otros indicadores / EAs pero no puedo conseguir que haga lo que quiero!

Básicamente, si la lógica de la condición de compra = true entonces abrir una operación de compra y si la lógica de la condición de venta = true entonces abrir una operación de venta.

Cualquier ayuda apreciada.

 
Enforcer:
by OrderType( )

OP_BUY - posición de compra,

OP_SELL - posición de venta,

OP_BUYLIMIT - posición pendiente de límite de compra,

OP_BUYSTOP - posición pendiente de stop de compra,

OP_SELLLIMIT - posición pendiente de límite de venta,

OP_SELLSTOP - posición pendiente de stop de venta.

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

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() == OP_BUY) {...do some thing....}

if(OrderType() == OP_SELL) {...do other thing....}

}

[/PHP]

Esta es su solución. Necesitas contar las órdenes existentes para que EA sepa que existen y no siga creando más

Cgage2491:

Los problemas que he tenido han sido múltiples operaciones por barra, operaciones en cada barra, no reconocer el patrón en absoluto, etc.

Ver lo que he dicho arriba. También puede probar algo similar a esto:

[PHP]int i, entrada;

int total = OrdersTotal();

double totallongs=0, totalshorts =0;

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

{

OrderSelect(i, SELECT_BY_POS );

if ( OrderComment() == ExpertName )

{

int type = OrderType();

if ( OrderSymbol() == Symbol() && (type == OP_BUY )) {totallongs=totallongs+1;}

if (( OrderSymbol() == Symbol() && (type= OP_SELL )) {totalshorts=totalshorts+1;}

if (( OrderSymbol() == Symbol() && (type == OP_BUYLIMIT || OP_BUYSTOP )) {totallongs=totallongs+1;}

if (( OrderSymbol() == Symbol() && (type == OP_SELLLIMIT || OP_SELLSTOP )) {totalshorts=totalshorts+1;}

}

}
 

Gracias chicos,

Mucho mejor, ahora no está negociando cada barra.

He conseguido acercarme a lo que quería pero de momento no encuentra el patrón que buscaba.

Sólo unos pocos ajustes lógicos creo.

 

Indicador de porcentaje de resistencia

¿Alguien tiene o puede codificar el indicador de porcentaje de resistencia?

 

¿Cómo encontrar el máximo y el mínimo de donde se encuentra el ratón?

Hola Gurús por ahí, me gustaría que un indicador me mostrara cual es el rango de la barra/periodo actual de donde se encuentra mi ratón y comentarlo en la pantalla.

Puede alguien guiarme para extraer los valores que se encuentran en la barra de estado de MT4 mostrando los valores altos y bajos.

Gracias de antemano.

Saludos

Stardome

 
codersguru:
samahdi,

1- ¿Podría ver el código y decirme qué quiere hacer?

2- El número mágico es un número que asignas a tu (s) pedido(s) como referencia que te permite distinguir entre los diferentes pedidos.

Usted debe esperar la tercera parte de la lección de asesor experto para saber más sobre la codificación de asesores expertos.

Hola,

Me podrías ayudar a añadir la función "Time to trade" a este maravilloso EA. Tengo que ser capaz de establecer el "tiempo para el comercio" en la EA. Por favor, codifique esto para mí. He adjuntado el EA. Gracias.

Archivos adjuntos:
 

¡Por favor, ayúdenme a editar este EA!

newdigital:
Todo lo que sé que en la mayoría de los casos no está ayudando.

Hola,

¿Podría ayudarme a añadir la función "Tiempo para operar" a este maravilloso EA? Tengo que ser capaz de establecer el tiempo para el comercio en la EA. Por favor, codifique esto para mí. He adjuntado el EA. Gracias.

Archivos adjuntos:
 

Obtener el pedido original del historial

Hola a todos,

¿Es posible obtener el valor original del stop loss de una orden que ha sido modificada varias veces (es decir, el trailing stop)?

Gracias,

Chris

Razón de la queja: