Aide au codage - page 250

 
mladen:
sulaimoney Essayez-le de cette façon (joint le code modifié)

Merci Mladen, il compile maintenant.

 
mladen:
Tsar C'est simplement un macd avec une ligne de signal supplémentaire ajoutée (l'histogramme est un osma régulier - osma d'un macd utilisant l'ema pour la ligne de signal et non pas comme le macd intégré de metatrader qui utilise l'sma comme nous le savons tous).

Merci pour votre explication. J'ai apprécié...

 

"Trend signal 2" est un indicateur intéressant.

Mais... J'écris dans EA :

double Arrow_Green = iCustom(0, 0, "Trend signal 2", 6, 1, 1, 1) ;

Et une condition "if Arrow_Green > 0" ne fonctionne pas...

Je ne comprends pas comment travailler avec les buffers de l'indicateur "Trend Signal 2" ...

Dossiers :
 
Igorrisimo:
"Trend signal 2" est un indicateur intéressant.

Mais... J'écris dans l'EA :

double Arrow_Green = iCustom(0, 0, "Trend signal 2", 6, 1, 1, 1) ;

Et une condition "if Arrow_Green > 0 " ne fonctionne pas...

Je ne comprends pas comment travailler avec les buffers de l'indicateur "Trend Signal 2" ...

Igorrisimo

Utiliser : if Arrow_Green != EMPTY_VALUE

 

Bonjour,

Où puis-je trouver un modèle d'alerte EA ?

Merci pour votre aide.

Jo

 
Jovager:
Bonjour,

Où puis-je trouver un modèle d'alerte EA ?

Merci pour votre aide.

Jo

Jovager

Le code d'alerte d'un EA est, plus ou moins, exactement le même que celui d'un indicateur. Le problème principal est de trouver les conditions d'alerte et c'est la même chose.

 

Quelqu'un a-t-il une expérience de l'échec de la fonction CopyRates?

J'ai le code suivant :

MqlRates newM1Candle[2];

// copy two of the most recent candles

if (CopyRates(symbol, PERIOD_M1, TimeCurrent(), 2, newM1Candle) < 2) {

...

Il fonctionne bien sur tous mes ordinateurs et courtiers. Mais j'ai quelques clients qui obtiennent cette expression à chaque fois évaluée à true, même s'ils ont le script attaché à M1.

Ma seule hypothèse est l'UAC (surtout parce que je n'ai pas d'expérience avec elle), néanmoins je suis désemparé.

 
Ovo:
Est-ce que quelqu'un a une expérience avec l'échec de la fonction CopyRates ?

J'ai le code suivant :

MqlRates newM1Candle[2];

// copy two of the most recent candles

if (CopyRates(symbol, PERIOD_M1, TimeCurrent(), 2, newM1Candle) < 2) {

...

Il fonctionne bien sur tous mes ordinateurs et courtiers. Mais j'ai quelques clients qui obtiennent cette expression à chaque fois évaluée à true, même s'ils ont le script attaché à M1.

Ma seule hypothèse est l'UAC (surtout parce que je n'ai pas d'expérience avec elle), néanmoins je suis désemparé.

Juste une idée :

Avez-vous essayé de remplacer TimeCurrent() par iTime(NULL,PERIOD_M1,0) ? Juste au cas où le problème serait lié à la mise à jour de l'heure du dernier tick reçu par le courtier.

 
mladen:
Juste une idée : Avez-vous essayé de remplacer TimeCurrent() par iTime(NULL,PERIOD_M1,0) ? Juste au cas où le problème serait lié à la mise à jour de l'heure de réception du dernier tick du courtier.

Eh bien, non. Mais j'ai essayé de reproduire le problème avec le courtier du client, et cela a bien fonctionné pour moi.

Une fois, j'ai aidé un client qui avait un problème d'UAC sur W8 et le terminal se comportait bizarrement après avoir tenté de définir le mode portable - il fonctionnait bien, mais était incapable d'enregistrer quoi que ce soit dans l'historique ou les fichiers ini. J'ai donc pensé que l'historique n'était peut-être pas sauvegardé et que le CopyRates en dépendait, mais je n'en suis pas sûr.

 
Ovo:
Eh bien, non. Mais j'ai essayé de reproduire le problème avec le courtier du client, et cela a bien fonctionné pour moi. Une fois, j'ai aidé un client qui avait un problème d'UAC sur W8 et le terminal se comportait bizarrement après avoir tenté de définir le mode portable - il fonctionnait bien, mais était incapable d'enregistrer quoi que ce soit dans l'historique ou les fichiers ini. J'ai donc pensé que l'historique n'était peut-être pas sauvegardé et que les CopyRates en dépendaient, mais je n'en suis pas sûr.

Je n'utilise pas Windows 8, je ne peux donc pas vous aider à ce sujet.

Vous êtes-vous attaché à son PC pour vérifier (j'utilise habituellement teamviewer pour ces cas - parfois, ce n'est que lorsque vous vous rendez sur leur PC que vous pouvez trouver exactement ce qui cause le problème) ?