¿Cómo codificar? - página 281

 

Propiedades de EA

Tengo una pregunta para la que alguien puede haber encontrado una respuesta. Me he dado cuenta de que algunos EAs no muestran la ventana de propiedades una vez cargados en un gráfico y algunos EAs tardan varias veces antes de que la ventana de propiedades aparezca, mientras que con otros EAs la ventana de propiedades aparece de inmediato. Esto ocurre independientemente de la forma en que intente acceder a las propiedades del EA - clic derecho en Asesores Expertos y luego propiedades / clic izquierdo en la cara sonriente o F7. Me tiene desconcertado, sin embargo, probablemente hay una respuesta obvia a esto que no soy consciente de. Gracias por cualquier idea sobre esto.

Saludos CJA

 

Pruebe esto

ObjectDescription( string name)

Devuelve la descripción del objeto. Para los objetos de tipo OBJ_TEXT y OBJ_LABEL, se devolverá el texto dibujado por estos objetos.

 

funcionó

¡Muchas gracias! Eso funcionó. ¡¡Horrible tutoriales y ayuda para mql!!

 
g.pociejewski:
[lang=pl]Soy un autor. Adjunto archivo mq4 para Avasys. No he cambiado el código de la función isGoodTime. En mi terminal su trabajo. Avasys ¿por qué estás tan nervioso? Si tienes un problema solo contactame en vez de hablar de esto en el foro.[/lang]

Lo he resuelto

EA funciona bien

gracias

 

Ayuda para el S&P500

Hola a todos. Soy bastante nuevo en la programación de metatrader (sólo un mes o dos), pero he estado programando en NinjaTrader durante unos 4-5 años. Tengo una estrategia sencilla que opera con el S&P, Light Sweet Crude y EURUSD que he adaptado para que funcione en MT4. Aparte de algunos cambios menores que está terminado. Funciona perfectamente en el EURUSD y en el Crudo, así como en cualquier par de divisas que ponga para probar. El problema está en el S&P. Supongo que hay que conocer un poco la estrategia para que el problema tenga sentido. Es una estrategia de ruptura de tiempo bastante simple. Calcula el Máximo y el Mínimo de un determinado periodo de tiempo, y cuando una barra cierra por encima o por debajo de este punto, realiza una operación (larga si está por encima, corta si está por debajo). Así que supongamos que cerró por encima y fue largo. Si una barra cierra por debajo del mínimo, cierra el largo y va en corto al doble del tamaño del lote y trata de recuperar todo lo que perdió y el objetivo original. Sigue invirtiendo hasta que el objetivo es finalmente alcanzado, o ha invertido x cantidad de veces (que se establece por una variable externa). Ahora, todo lo que puedo decir funciona bien. Toma la operación y se duplica como debería y cuando alcanza el objetivo recupera toda su pérdida y también el objetivo original. En el S&P sin embargo, de vez en cuando cuando llega al objetivo es más o menos el punto de equilibrio. Recupera lo que perdió más o menos, pero no hace ningún beneficio. Como tengo esto en el código es que almacena el valor del punto del objetivo en una variable doble llamada slip. Cuando invierte, después de cerrar la operación, toma el precio de apertura - el precio de cierre (si es largo) o el precio de cierre - el precio de apertura (si es corto) y lo añade a slip, luego divide slip por la mitad. En código: slip = (slip + (OrderOpenPrice() - OrderClosePrice()))/2; luego lo redondea para que sea un precio utilizable. Como el S&P se mueve en incrementos de 0,25, NormalizeDouble no funcionará con él, así que mi solución es convertirlo en ticks, luego normalizarlo para que sea un entero, y luego volver a convertirlo en un valor de puntos. En el código:

slip = NormalizeDouble((slip / point), 0);

slip= NormalizeDouble((slip* punto), Dígitos);

Así que ya sabes, punto es una variable que = Punto o si está en S&P = 0,25 (ya que el S&P se mueve en incrementos de 0,25, pero mi broker al menos informa de Punto como 0,01)

Creo que el problema tendría que estar en esos 2 trocitos de código porque el objetivo es OrderOpenPrice() + slip (si es largo). Cualquier idea o sugerencia será GRANDEMENTE apreciada.

 

Indicador en Array

Estoy buscando una solución para aplicar la algoritmia de los indicadores en una matriz de precios.

En MQL4 algunos indicadores tienen esta función, como: iCCIOnArray, iBandsOnArray...

Pero los indicadores como el ADX no tienen esta función.

¿Alguien tiene idea de cómo puedo aplicar el cálculo del indicador sobre una matriz predefinida (no desde el servidor de cotizaciones)?

 

Significado de la función IsTradeAllowed()

Hola,

He escrito un ea que tiene las siguientes líneas de código en su función de inicio:

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Ahora el problema es que a veces recibo este mensaje de error antes de querer abrir o cerrar una operación con ese ea.

El ea está activado y la conexión a internet existe.

¿Cómo puede ocurrir esto?

 

¡¡¡NECESITO AYUDA!!! ¡¡¡¡¡CCI sale si el valor es menor que el valor anterior.. ayúdame pls!!!!!

Hola,

soy nuevo en expert advisor. ¿puedo saber cómo establecer una salida si el valor actual de CCI es inferior/superior al valor anterior?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ?

¡Realmente necesito ayuda aquí!

 
sunshineh:
Hola,

He escrito un ea que tiene las siguientes líneas de código en su función de inicio:

if(IsTradeAllowed()==false)

{

Alert("You have to activate your ea first or there is a disconnection between the server connection!");

return;

}

Ahora es a veces el problema, que recibo este mensaje de error antes de que quiero abrir o cerrar un comercio con ese ea.

El ea está activado y la conexión a Internet existe.

¿Cómo puede ocurrir esto?

Parece que su codificación, comprobar aquí para una respuesta

Error 146 ("Contexto de comercio ocupado") y como solucionarlo - MQL4 Articles

 
calvin1006:
Hola,

soy nuevo en expert advisor. ¿puedo saber cómo establecer una salida si el valor actual del CCI es inferior/superior al valor anterior?

if(iCCI(NULL,0,7,PRICE_TYPICAL,0)>iCCI(NULL,0,7,PRICE_TYPICAL,1)) ?

¡Realmente necesito ayuda aquí!

Pruebe algo como

if(iCCI(NULL,0,7,PRICE_TYPICAL,0) != iCCI(NULL,0,7,PRICE_TYPICAL,1)) ??

Razón de la queja: