Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1281

 
Nikolai Semko:

Après MT5, la sensation de MT4 est tout simplement affreuse.

Nikolay, il y a une question sur l'opération OnCalculate dans MT5.

Lorsque vous démarrez l'indicateur, OnCalculate est-il appelé une fois après OnInit ? Ou l'indicateur attend le tick ?

 
MakarFX:

Pouvez-vous expliquer en langage clair quelle est la différence entre ces fonctions ?

Visuellement, il ne semble pas y avoir de différence. Sauf pour l'incompréhensible : || Order_Type ==-1
 
MakarFX:

Pourriez-vous expliquer en langage clair quelle est la différence entre ces fonctions ?

Si nous appelons la première fonction avec le paramètre -1, elle retournera le nombre de tous les ordres dans le terminal par le symbole courant (indépendamment de leur type).

La seconde fonction ne renverra que le nombre de commandes dont le type lui est passé en paramètre.

 
MakarFX:

Veuillez me dire en langage clair quelle est la différence entre ces fonctions ?

Rien, mais j'utiliserais la deuxième, mais avec insertion :||Order_Type==-1

Aleksei Stepanenko:
Il ne semble pas y avoir de différence sur le plan visuel. Sauf pour l'incompréhensible : || Order_Type ==-1.

Si nous mettons -1 dans le paramètre, nous prendrons en compte l'achat et la vente, ce qui est assez logique pour que la fonction soit universelle.

 
Vitaly Muzichenko:

Si nous mettons -1 dans le paramètre, nous prenons en compte l'achat et la vente, ce qui est tout à fait logique pour la polyvalence de la fonction.

Ahhhh, je vois, merci.

 
Vitaly Muzichenko:

Aucun, mais j'utiliserais le second, mais avec insertion :||Order_Type==-1

Si nous mettons -1 dans le paramètre, nous prenons en compte l'achat et la vente, ce qui est logique pour la polyvalence de la fonction.

Merci, je l'ai eu !

 
Aleksei Stepanenko:

Nikolay, il y a une question sur OnCalculate dans MT5.

Lorsque l'indicateur démarre, OnCalculate est-il appelé une fois après OnInit ? Ou l'indicateur attend le tick ?

Après que OnInit soit appelé une fois, après qu'il attende le tick. Sinon, le premier cycle principal de génération de l'indicateur ne se produirait pas en sortie, lorsque prevCalculé=0.
Vous pouvez toujours vérifier la séquence des appels par impression.
Imprimer("1") ;
Print("2") ;
...
 
Nikolai Semko:
Après OnInit, il est appelé une fois, puis il attend le tick.
...

Merci, j'ai un indicateur étrange, qui fonctionne sur un quatre sans aucun problème. Sur les paires où il n'y a pas de coche, il n'a pas tiré.

Bien que, imprime OnCalculate au début. Peut-être le tableau doit-il être mis à jour ? ChartRedraw ? Parce qu'il ne tire que lorsqu'il y a un tic.
Dossiers :
Mike.mq5  17 kb
 
Aleksei Stepanenko:

Merci, mon indicateur, qui fonctionne sur quatre sans aucun problème, s'est comporté bizarrement. Sur les paires où il n'y a pas de coche, il n'a pas tiré.

Je conseille d'utiliser activement le débogage régulier. Si vous ne savez pas comment travailler avec, vous devez apprendre de toute urgence, il n'y a rien de difficile. C'est un moyen plus rapide de trouver des erreurs et des réponses aux questions.
 
Nikolai Semko:
Je vous suggère d'utiliser activement le débogage normal.

Vous savez, tout comme vous avez un sentiment terrible au sujet de MT4, j'essaie d'utiliser MT5 avec un sentiment de rejet interne, et il est en ébullition à l'intérieur de , donc il n'y a pas de temps pour le débogage.