¿Cómo codificar? - página 162

 

Necesito ayuda sobre un error de codificación

Hola

Soy bastante nuevo en el comercio de divisas, así como en la codificación en MQL4. Necesito ayuda en la creación de ordersend para SellLimit órdenes y órdenes BuyLimit. Este es mi código, pero sigo recibiendo un error Ordersend 130 o 3. No sé qué es lo que falla en el código.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Por favor, ¿alguien puede ayudarme? Gracias

 

Este es un lugar fantástico para aprender

Sólo quiero aprovechar la oportunidad para dar las gracias a todas las personas que hacen posible este foro y a todos los demás comerciantes que están dispuestos a compartir sus conocimientos libremente con todos los demás. Gracias, he aprendido bastante y todavía me siento como si no supiera nada.

 
simonkoen:
Hola

Soy bastante nuevo en el comercio de divisas, así como en la codificación en MQL4. Necesito ayuda en la configuración de ordersend para SellLimit órdenes y órdenes BuyLimit. Este es mi código, pero sigo recibiendo un error Ordersend 130 o 3. No sé qué es lo que falla en el código.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Por favor, ¿alguien puede ayudarme? Gracias

El precio de la orden SellLimit debe ser mayor que el precio real, no menor.

 

Gracias

Gracias Roger9. Ahora estoy usando seelstop y buystopp y funciona bien.

 

obtener marco de tiempo actual() ?

Una simple pregunta - ¿alguien puede decirme cómo obtener el marco de tiempo actual / período que se está viendo? Por ejemplo, 1 hora, 4 horas, 1 día, etc.

He buscado en los documentos, etc. y no lo he encontrado.

Gracias.

 
djl:
Una simple pregunta: ¿alguien puede decirme cómo obtener el marco de tiempo/período actual que se está viendo? Por ejemplo, 1 hora, 4 horas, 1 día, etc.

He buscado en los documentos, etc., y no lo he encontrado.

Gracias.

Esta función puede ayudarte.

int Periodo( )

Devuelve la cantidad de minutos que determinan el período utilizado(marco de tiempo del gráfico).

Ejemplo:

Print("El periodo es ", Period());

 

Dos preguntas más

Hola a todos.

Perdón por mi mala ortografía de ayer.

Me gustaría como hacer para que cuando abro una posición de compra o venta y al mismo tiempo un stopsell o stopbuy como hago para asignar el mismo número a las órdenes para que si se dispara una se cierre automáticamente la otra orden. Sé que se debe poder hacer con el número mágico pero también algo sobre el tiempo en el número mágico? La segunda pregunta. Cuando coloco el código en mi sección de órdenes, fuerzo al programa a abrir sólo una orden en esa barra, pero cuando hago esto, las órdenes Ea no se activan cuando se cumplen las condiciones para abrir órdenes. ¿Alguna idea de por qué esto es así? Aquí está el código.

if(CurrBar != iTime(NULL,0,0))

{

double HighEnvelope = iEnvelopes(Symbol(),0,EnvelopePeriods,MODE_EMA,0,PRICE_MEDIAN,EnvelopeDev,MODE_UPPER,0);

si (Oferta >= SobreAlto && TotalOrdenes() <=MaxAllowable_Trades)

{

OrderSend(Symbol(),OP_SELL,lotMM,(Bid),Slippage,(0),0," Sell Order ",MagicNumber,0,White);

OrderSend(Symbol(),OP_BUYSTOP,lotMM,Bid+EmergencyProfit*Point,0,0,0," Pending Buy Order ",MagicNumber,0,DodgerBlue);

CurrBar = iTime(NULL,0,0);

}

}

volver;

}

Gracias de antemano por su paciencia y apoyo.

 

Gracias.

 

Digamos que Period() =5. ¿Cómo puedo leer los ticks del minuto y los segundos de la operación actual dentro de ese Periodo? Ejemplo: Minuto =3, Segundos=42.

Lo que quiero hacer es comprobar una condición dentro de mi ea cada 4 minutos 50 segundos en el período de 5 minutos - ¡Puede ayudar!

Dave

 
1Dave7:
Digamos que Period() =5. ¿Cómo puedo leer los ticks actuales de los minutos y segundos de la operación dentro de ese Periodo? Ejemplo: Minuto =3, Segundos=42.

¡Lo que quiero hacer es comprobar una condición dentro de mi ea cada 4 minutos 50 segundos en el período de 5 minutos - ¿Puede ayudar!

Dave

En un timeframe de 5min, creo que sólo se puede comprobar alguna situación en un momento determinado es cuando surge un nuevo tick. Podrá ver si el tiempo transcurrido desde la barra abierta es el tiempo que desea.

En cada nuevo tick se ejecutará la función de inicio del código mql, entonces tendrá que controlar si el tiempo transcurrido desde la última barra abierta es el tiempo que desea con las funciones de fecha y hora de MQL.

Si no surge ningún nuevo tick entre su tiempo (4min50seg) y un nuevo periodo de barra abierta (5min) no sé cómo comprobarlo porque nunca he necesitado hacerlo.

Razón de la queja: