¡Pide! - página 43

 

ok pregunto...

cómo puedo utilizar las funciones de archivo para que añada los datos al final del archivo en lugar de sobrescribirlos.

https://www.mql5.com/en/forum/174700/page77

por favor contesta en el hilo al que va este enlace donde normalmente leo.

 

¿Cómo recuperar una orden cerrada especificada utilizando HistoryTotal()?

Hola a todos

¿hay alguna manera de utilizar la función HistoryTotal para poder encontrar una orden concreta (de compra o de venta) cerrada?

Lo he intentado con este código pero parece que no funciona:

int hstTotal=HistoryTotal();

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

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

¿Tal vez no es compatible OrderComment utilizando el modo MODE_HISTORY? Y si es así, ¿cómo puedo resolver este problema?

Muchas gracias

Skyline

 
skyline:
Hola a todos

¿hay alguna manera de utilizar la función HistoryTotal para poder encontrar una orden concreta (de compra o de venta) cerrada?

He intentado con este código pero parece que no funciona :

int hstTotal=HistoryTotal();

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

{

//---- check selection result

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false)

{

if (Debug==true) Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderType()==OP_BUY && OrderComment()=="LONG")

{

..take some action...

}

if (OrderType()==OP_SELL && OrderComment()=="SHORT")

{

..take some action...

}

}

[/code]

And when a buy order was in place using OrderSelect I identified this using "LONG" as comment (and "SHORT" if a sell order) :

[code]

Sell:

..

..

OrderSend(Symbol(),OP_SELL,Lots,Entry,Slippage,StopLoss,TakeProfit,"SHORT",0,0);

..

..

Buy:

..

..

OrderSend(Symbol(),OP_BUY,Lots,Entry,Slippage,StopLoss,TakeProfit,"LONG",0,0);

..

..

¿Tal vez no se admite OrderComment utilizando el modo MODE_HISTORY? Y si es así, ¿cómo puedo resolver este problema?

Muchas gracias

Skyline

Skyline,

Ten en cuenta que el broker añadirá el comentario con sus propios comentarios sobre la orden por diferentes motivos, y siempre cuando luego la orden se cierre por SL o TP. ¿Cuáles son los criterios para buscar las operaciones? Una vez que definas eso entonces tendrás la solución.

 
Nicholishen:
Skyline, ten en cuenta que el broker adjuntará el comentario con sus propios comentarios sobre la orden por diferentes motivos, y siempre cuando luego la orden se cierre por SL o TP. ¿Cuáles son los criterios para buscar las operaciones? Una vez que definas eso entonces tendrás la solución.

Oh, eso no es una buena noticia :|

De todos modos estoy tratando de explicar mi problema: en mi EA tengo diferentes tipos de compra (o venta), tengo un tipo que tiene que ser abierto cada vez que una condición se cumple también un montón de veces en un día (algo así como que cuando el precio penetra una EMA entonces se coloca una orden), y otro tipo que tiene que ser activado sólo una vez por día en función de diferentes condiciones basadas en diferentes EMA. Así que lo que tengo que hacer es dejar que el primer tipo de órdenes de compra/venta se abran/cierren muchas veces en un día mientras que el segundo tipo de órdenes de compra/venta tienen que abrirse sólo una vez al día, así que pensé que si podía localizar de alguna manera cualquier tipo de orden de compra/venta en el historial podría resolver mi problema, pero parece que no es posible

 

valores del gráfico diario

codersguru:
Hola amigos,

Tengo muchos mensajes privados pidiéndome ayuda con algunas piezas de código.

Aquí podéis publicar vuestras preguntas relacionadas con el MQL4, y haré lo posible por responderlas.

Hola,

Estoy tratando de obtener los valores máximos, mínimos, de apertura y de cierre del día anterior a las 0 GMT para mi EA. Funciona bien para todos los días excepto el domingo en MIG e IBFX donde obtiene los valores para el domingo desde el sábado y no desde el viernes. FXDD lo obtiene correctamente del cierre del viernes ya que no tiene una nueva barra para el sábado.

Está codificado como:

High[1], Low[1], Close[1] etc. ¿Cómo puedo arreglar el código para el domingo para que obtenga los valores sólo del cierre del viernes y no del sábado? Por favor, ayúdenme.

 
payal:
Hola,

Estoy tratando de obtener los valores máximos, mínimos, de apertura y de cierre del día anterior a las 0 GMT para mi EA. Funciona bien para todos los días excepto el domingo en MIG e IBFX donde obtiene los valores para el domingo desde el sábado y no desde el viernes. FXDD lo obtiene correctamente del cierre del viernes ya que no tiene una nueva barra para el sábado.

Está codificado como:

High[1], Low[1], Close[1] etc. Como puedo arreglar el código para el domingo para que obtenga los valores solo del cierre del viernes y no del sábado. Por favor, ayúdenme.

Por su descripción, asumo que está usando esto en el gráfico diario.

Para responder a su pregunta, así es como yo resolvería el problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)

por supuesto, usted arreglaría el alto, el bajo y el cierre como sea que los esté usando

 
payal:
Hola,

Estoy tratando de obtener los valores máximos, mínimos, de apertura y de cierre del día anterior a las 0 GMT para mi EA. Funciona bien para todos los días excepto el domingo en MIG e IBFX donde obtiene los valores para el domingo desde el sábado y no desde el viernes. FXDD lo obtiene correctamente del cierre del viernes ya que no tiene una nueva barra para el sábado.

Está codificado como:

High[1], Low[1], Close[1] etc. ¿Cómo puedo arreglar el código para el domingo para que obtenga los valores sólo del cierre del viernes y no del sábado? Por favor, ayuda.

Compruebe este archivo https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Allí encontrarás la respuesta a tu pregunta.

Saludos

Kale

 

Gracias

Eaglehawk:
Por su descripción, asumo que está usando esto en el gráfico diario.

Para responder a su pregunta, así es como yo resolvería el problema.

if (DayOfWeek() == 0)

{

High[2], Low[2], Close[2], //etc

}

else

{

High[1], Low[1], Close[1],//etc

)
por supuesto, usted debe arreglar el alto bajo y cerca de la forma en que los está utilizando

Muchas gracias. ¡Que tenga un buen día!

 

Gracias

Kalenzo:
Compruebe este archivo https://c.mql5.com/forextsd/forum/4/fibopiv_v3.mq4

Encontrarás la respuesta a tu pregunta allí.

Saludos

Kale

Gracias, ¡que tenga un buen día!

 

¿Existe algún indicador que nos muestre el high0low ao ech bar en valor en la parte superior o inferior de cada barra?

Razón de la queja: