MQL4 Añadir indicador al gráfico desde el EA - página 2

 
Vasyl Nosal:
¿Tal vez escribir a la mesa de servicio y pedirles que añadan ChartIndicatorAdd() como en mql5?
Lo más probable es que no lo hagan :) ya han rechazado la sugerencia en una petición similar con el offset de tiempo del servidor que existe en mql5 pero no en mql4. Y no lo harán porque si añaden todo lo + de mql5 a mql4, ¡nadie elegirá ya mql5!
 
Georgiy Liashchenko:
Lo más probable es que no lo hagan :) ya han rechazado la sugerencia en una petición similar con el desplazamiento de la hora del servidor que existe en mql5 pero no en mql4. Y no lo harán porque si añaden todo lo + de mql5 a mql4, nadie elegirá ya mql5.

¿Esto? :)))))))))))))))))))))))))))

TimeGMT()

TimeGMTOffset()

 
Vasyl Nosal:

¿Esto? :)))))))))))))))))))))))))))

TimeGMT()

TimeGMTOffset()

no, esto da la diferencia de tiempo entre el servidor y la hora local de tu pc, lo que quiero decir es una diferencia de tiempo entre la hora GMT del servidor y 0 GMT
 
Georgiy Liashchenko:
no, esto da la diferencia de tiempo entre el servidor y la hora local de su PC, lo que quise decir es una diferencia de tiempo entre la hora GMT del servidor y 0 GMT

TimeCurrent()-TimeGMT()

?

 
Vasyl Nosal:

TimeCurrent()-TimeGMT()

?

que funciona sólo si usted hace ea particularmente para su zona horaria

 
Georgiy Liashchenko:

que funciona sólo si usted hace ea particularmente para su zona horaria

No. TimeCurrent() es la hora del broker y timeGMT es la hora 0 GMT

mi zona horaria no está en el cálculo

 
Vasyl Nosal:

No. TimeCurrent() es la hora del corredor y timeGMT es la hora 0 GMT

mi zona horaria no está en el cálculo

Imagina un caso, el servidor está en 0 GMT, tú vives en GMT+1, la hora del broker es GMT+2. TimeCurrent() devuelve GMT 0, porque el servidor está en GMT 0, lo mismo ocurre con TimeGMT(). TimeLocal() devuelve GMT+1 o la hora que hayas elegido en tu pc. TimeGMTOffset() devuelve la diferencia entre GMT+1 y GMT 0 que es 1h. Y no hay un comando para obtener la diferencia entre GMT 0 y la hora del corredor. Que sería igual a 2h. En otras palabras, no hay un comando que nos diga cuántas horas se ha desplazado la hora.

¿Por qué necesitamos esto? Para las estrategias basadas en eventos de tiempo predifinidos, como sesiones de negociación, noticias y etc. Cuando se quiere que el EA se ajuste automáticamente a cualquier zona horaria o a la hora del corredor.

 

Esta fue una respuesta del servicio técnico

"¿Existe una forma en mql4 de añadir un indicador a un gráfico desde el EA sin usar plantillas?"

No hay manera. Y no tenemos planes de añadir ChartIndicatorAdd() en MQL4

 
Georgiy Liashchenko:
Gracias, ahora ha funcionado, pero solo funciona a partir del segundo intento. Si inicio el ea, la llamada al indicador devuelve el error fail to open / .ex4[123]. Si el ea ya está unido a un gráfico y trato de volver a adjuntarlo, entonces funciona. ¿Cómo se puede resolver esto?

Yo no tengo este problema (con el código que he puesto).

Comprueba que hWnd es diferente de 0.

También puedes intentar aumentar el valor de sleep a 50 o 100.

Sleep(10 0);
 
Alain Verleyen:

Yo no tengo este problema (con el código que he puesto).

Comprueba que hWnd es diferente de 0.

También puedes intentar aumentar el valor de sleep a 50 o 100.

El sleep ha funcionado, gracias