MQL4 Ajouter un indicateur au graphique depuis l'EA - page 2

 
Vasyl Nosal:
Peut-être écrire au bureau du service et leur demander d'ajouter ChartIndicatorAdd() comme dans mql5 ?
Il est fort probable qu'ils ne le feront pas :) ils ont déjà refusé la suggestion d'une demande similaire concernant le décalage de l'heure du serveur qui existe dans mql5 mais pas dans mql4. Et ils ne le feront pas car s'ils ajoutent tous les + de mql5 à mql4, plus personne ne choisira mql5 !
 
Georgiy Liashchenko:
Il est fort probable qu'ils ne le feront pas :) ils ont déjà refusé la suggestion dans une demande similaire avec le décalage de l'heure du serveur qui existe dans mql5 mais pas dans mql4. Et ils ne le feront pas car s'ils ajoutent tous les + de mql5 à mql4, plus personne ne choisira mql5 !

Ceci ? :)))))))))))))))))))))))))))

TimeGMT()

TimeGMTOffset()

 
Vasyl Nosal:

Ceci ? :)))))))))))))))))))))))))))

TimeGMT()

TimeGMTOffset()

non, cela donne la différence de temps entre le serveur et l'heure locale de votre ordinateur, ce que je voulais dire c'est une différence de temps entre l'heure GMT du serveur et 0 GMT.
 
Georgiy Liashchenko:
Non, cela donne la différence d'heure entre le serveur et l'heure locale de votre ordinateur, ce que je voulais dire est la différence d'heure entre l'heure GMT du serveur et 0 GMT.

TimeCurrent()-TimeGMT()

?

 
Vasyl Nosal:

TimeCurrent()-TimeGMT()

?

cela ne fonctionne que si vous faites l'ea particulièrement pour votre fuseau horaire

 
Georgiy Liashchenko:

cela ne fonctionne que si vous faites l'ea particulièrement pour votre fuseau horaire

Non. TimeCurrent() est l'heure du broker et timeGMT est l'heure GMT 0

mon fuseau horaire n'est pas pris en compte dans le calcul

 
Vasyl Nosal:

Non. TimeCurrent() est l'heure du courtier et timeGMT est l'heure GMT 0.

mon fuseau horaire n'est pas pris en compte dans le calcul

Imaginez un cas où le serveur est à 0 GMT, vous vivez à GMT+1, l'heure du courtier est GMT+2. TimeCurrent() renvoie GMT 0, car le serveur est à GMT 0, de même pour TimeGMT(). TimeLocal() renvoie GMT+1 ou l'heure que vous avez choisie sur votre ordinateur. TimeGMTOffset() renvoie la différence entre GMT+1 et GMT 0, soit 1h. Et il n'y a pas de commande pour obtenir le décalage entre GMT 0 et l'heure du courtier. Ce qui serait égal à 2h. En d'autres termes, il n'y a pas de commande qui nous dise de combien d'heures l'heure s'est décalée.

Pourquoi avons-nous besoin de cela ? Pour les stratégies basées sur des événements temporels prédéfinis, comme les séances de trading, les nouvelles, etc. Lorsque vous voulez que l'ea s'ajuste automatiquement à n'importe quel fuseau horaire ou heure du courtier.

 

Il s'agit d'une réponse du service d'assistance

"Existe-t-il un moyen dans mql4 d'ajouter un indicateur à un graphique à partir de l'EA sans utiliser de modèles ?"

Il n'y a aucun moyen. Et nous n'avons pas prévu d'ajouter ChartIndicatorAdd() dans MQL4.

 
Georgiy Liashchenko:
Merci, cela a fonctionné maintenant, mais seulement à partir de la deuxième tentative. Si je démarre l'ea, l'appel de l'indicateur renvoie l'erreur fail to open / .ex4[123]. Si l'ea est déjà attachée à un graphique et que j'essaie de la rattacher, alors elle fonctionne. Comment cela peut-il être résolu ?

Je n'ai pas ce problème (avec le code que j'ai posté).

Vérifiez que hWnd est différent de 0.

Vous pouvez également essayer d'augmenter la valeur de sleep à 50 ou 100.

Sleep(10 0);
 
Alain Verleyen:

Je n'ai pas ce problème (avec le code que j'ai posté).

Vérifiez que hWnd est différent de 0.

Vous pouvez également essayer d'augmenter la valeur de sleep à 50 ou 100.

sleep a fonctionné, merci