¿Cómo codificar? - página 159

 

Etiqueta de precio del indicador

¡Ayuda por favor!

¿Puede alguien decirme por qué el siguiente código de indicador trazará una flecha hacia abajo pero NO trazará una etiqueta de precio. Cualquier otro estilo se mostrará en el nivel correcto, pero no tiene el precio mostrado?

int init()

{

EliminarTodosLosObjetos();

IndicatorBuffers(2);

SetIndexBuffer(0,Buy);

SetIndexStyle(0,DRAW_ARROW,DRAW_ARROW,BuySize,BuyColor);

SetIndexArrow(0,SYMBOL_LEFTPRICE); < no aparece

SetIndexShift(0,1);

SetIndexBuffer(1,Sell);

SetIndexStyle(1,DRAW_ARROW,DRAW_ARROW,SellSize,SellColor);

SetIndexArrow(1,SYMBOL_ARROWDOWN); < traza bien

SetIndexShift(1,1);

return(0);

}

¡Gracias!

 

Indicador Squize_MA

Buen indicador.

Quizás alguien pueda poner una alerta cuando la línea azul cruce la roja.

Gracias

Archivos adjuntos:
squize_ma.mq4  3 kb
 

por favor, ¿puede darme una pista para localizar la mayor pérdida?

 
Wiley:
En este sitio, en este enlace https://www.mql5.com/en/forum/176053/page25 hay una copia del DIN_Kukus_EA_V2.6. Si ves el contenido del EA, encontrarás una función que comprueba las pérdidas de órdenes en el historial de órdenes, tal y como has descrito que se hace por ti mismo. Puede utilizar este ejemplo de trabajo de cómo extraer el número de operaciones exitosas de su historial de órdenes. Puede modificarlo para extraer el historial de un periodo de tiempo concreto también, pero espero que esto le ayude a ver cómo lograr lo que se propone hacer por sí mismo...

Hola Wiley,

Gracias por la ayuda.

Para ser honesto, he estado tan ocupado trabajando en una solución, que olvidé que había publicado la pregunta.

Pasé ese día revisando el manual de mql4 y descubrí la manera de hacerlo.

Cuando es el momento de empezar a operar, pongo una variable llamada "OpeningTime" igual a la hora actual. Durante la sesión de trading y si se ha cerrado una operación, hago que el EA recorra el historial de órdenes y busque cualquier orden que sea del gráfico y del EA dado y que también tenga una hora de cierre que sea mayor que "OpeningTime". Luego compara la ganancia (o pérdida) de la orden (usando la función OrderProfit()) con lo que he establecido (con una variable externa) como suficiente. Lo configuro de forma que pueda dejar de operar si he obtenido un beneficio suficiente y/o si he perdido una cantidad determinada.

El backtesting ha demostrado que realmente no mejora los resultados de un EA ya optimizado (de hecho, más a menudo los empeora), lo cual es de esperar porque nunca sabemos si la siguiente operación (que ahora he eliminado) mejorará o empeorará las cosas.

Sin embargo, me permite establecer condiciones más estrictas desde el principio. Por lo tanto, el EA puede ser optimizado utilizando la opción "salgo, he tenido suficiente" desde el principio. Y eso parece hacer que mis resultados sean bastante mejores.

Gracias por su ayuda.

Ron

 

Tratando de usar el Dianpoli adjunto en un EA añadí flechas para leer los en icustom, pero mi línea icustom no recoge el up, cualquier ayuda por favor?

Esto es lo que uso en el EA val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

Archivos adjuntos:
test3.mq4  5 kb
 
rwb181:
Hola Wiley,

Gracias por la ayuda.

Para ser honesto, he estado tan ocupado trabajando en una solución, que olvidé que había publicado la pregunta.

Pasé ese día revisando el manual de mql4 y descubrí la manera de hacerlo.

Cuando es el momento de empezar a operar, pongo una variable llamada "OpeningTime" igual a la hora actual. Durante la sesión de trading y si se ha cerrado una operación, hago que el EA recorra el historial de órdenes y busque cualquier orden que sea del gráfico y del EA dados y que también tenga una hora de cierre que sea mayor que "OpeningTime". Luego compara la ganancia (o pérdida) de la orden (usando la función OrderProfit()) con lo que he establecido (con una variable externa) como suficiente. Lo configuro de forma que pueda parar la operación si he obtenido suficiente beneficio y/o si he perdido una cantidad determinada.

El backtesting ha demostrado que realmente no mejora los resultados de un EA ya optimizado (de hecho, más a menudo los empeora), lo cual es de esperar porque nunca sabemos si la siguiente operación (que ahora he eliminado) mejorará o empeorará las cosas.

Sin embargo, me permite establecer condiciones más estrictas desde el principio. Por lo tanto, el EA puede ser optimizado utilizando la opción de "salir, he tenido suficiente" desde el principio. Y eso parece hacer que mis resultados sean bastante mejores.

Gracias por su ayuda.

Ron

no es lo que necesito

 

esto le permitirá obtener la máxima pérdida

void history()

{max_loss=0;

int i,hstTotal=OrdersHistoryTotal();

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

{

//---- check selection result

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

{

Print("Access to history failed with error (",GetLastError(),")");

break;

}

if (OrderSymbol()==Symbol()&&OrderProfit()>=max_loss)max_loss=OrderProfit();

{

//code

}

}

}
 

OrderSymbol()==Symbol()&&OrderProfit()>=max_loss

Estoy seguro de que fue un error tipográfico pero...

Si lo que buscas es la máxima pérdida el operador de comparación debería ser el 'menos que ()'.

Lux

 
increase:
Tratando de usar el Dianpoli adjunto en un EA añadí flechas para leer los en icustom, pero mi línea icustom no recoge el up, cualquier ayuda por favor? Esto es lo que yo uso en el EA val2 = iCustom(Symbol(), Period(), "test3",300,15,1,1,0); & val3 = iCustom(Symbol(), Period(), "test3",300,15,1,2,0);

Nunca parece conseguir a nadie para ayudar, chicos por favor responder

 

Asesor Experto Automatizado

Fastbrokersfx tiene un (ellos llaman exclusivo) Expert Advisor Builder gratuito.

Dicen: "FastBrokersFX ofrece un Expert Advisor Builder gratuito. Con nosotros no necesitas ser un programador experimentado para diseñar tus robots de trading para MT4. Sólo unos pocos clics, guardar su archivo EA generado y ya está."

Puedes crear uno haciendo clic en ese enlace desde su página de inicio:

Fastbrokersfx | Comercio de divisas | Acceso ECN a Forex |

¡Buena suerte!

Razón de la queja: