Ça ne servira à rien. Surtout si la minuterie est déjà en marche avant d'être activée dans la classe, par exemple à des intervalles de quelques heures ou jours. Alors une telle classe ruinera toute la logique du programme.
Idéalement, tout travail avec le timer doit être enveloppé dans une classe, et toutes les parties d'un programme où le timer est nécessaire, doivent l'utiliser à travers cette classe.
Idéalement, tout le travail de minuterie devrait être enveloppé dans une classe, et toutes les parties du programme qui ont besoin d'une minuterie devraient l'utiliser à travers cette classe.
Idéalement, tout le travail de minuterie devrait être enveloppé dans une classe, et toutes les parties du programme qui ont besoin d'une minuterie devraient l'utiliser à travers cette classe.
Sinon, vous ne serez pas en mesure d'en assurer le suivi.
Et dans cette classe, vous pouvez désactiver les fonctions OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer, comme l'a fait Faber dans Init_Sync.mqh. Et puis le contrôle total. Bonne idée. Merci.
Vous pouvez ajouter OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer à cette classe, comme Faber l'a fait dans Init_Sync.mqh. Et puis le contrôle total. Bonne idée. Merci.
Il serait logique de faire cela au niveau de la plateforme et de nous permettre de faire fonctionner plusieurs minuteries pour des besoins différents).
Bien... Ce serait beaucoup plus facile. Mais les moyens faciles sont pour les gars, et les maris ne cherchent pas les moyens faciles :))
J'ai essayé à la fois le feng shui et ceci - le résultat est le même. Le fait est que tout fonctionne 99% du temps, et j'ai besoin de 100%. Pour l'instant, l'essentiel pour moi est de trouver la bonne logique, et je pourrai faire la beauté plus tard.
J'ai oublié d'ajouter seulement que l'erreur mentionnée ci-dessus apparaît dans le testeur. Lorsque je l'ouvre sur un graphique, je ne le remarque pas ou je dois simplement attendre l'extremum requis où l'erreur se reproduira.
Les vrais doivent être comparés correctement
/*!
\brief Сравнение вещественных double
\return true в случае равно, иначе false
*/bool CompDouble(constdouble a_one,constdouble a_two) {
if(fabs(a_one - a_two) <= DBL_EPSILON * fmax(fabs(a_one), fabs(a_two)))
returntrue; // числа равны с относительной точностью DBL_EPSILON//---returnfalse;
}
/*!
\brief Сравнение вещественных float
\return true в случае равно, иначе false
*/bool CompFloat(constfloat a_one,constfloat a_two) {
if(fabs(a_one - a_two) <= FLT_EPSILON * fmax(fabs(a_one), fabs(a_two)))
returntrue; // числа равны с относительной точностью FLT_EPSILON//---returnfalse;
}
La solution s'est avérée beaucoup plus simple que je ne le pensais.
Un exemple d'indicateur, dans lequel vous pouvez connaître l'état de la minuterie. Il suffit d'ajouter une ligne #include <Timer.mqh> et OnTimer() sous contrôle.
Ça ne servira à rien. Surtout si la minuterie est déjà en marche avant d'être activée dans la classe, par exemple à des intervalles de quelques heures ou jours. Alors une telle classe ruinera toute la logique du programme.
Idéalement, tout travail avec le timer doit être enveloppé dans une classe, et toutes les parties d'un programme où le timer est nécessaire, doivent l'utiliser à travers cette classe.
Sinon, il est impossible d'en assurer le suivi.
Idéalement, tout le travail de minuterie devrait être enveloppé dans une classe, et toutes les parties du programme qui ont besoin d'une minuterie devraient l'utiliser à travers cette classe.
Sinon, il est impossible d'en assurer le suivi.
avec sagesse
sensible
Il serait logique de faire cela au niveau de la plate-forme et de nous permettre d'utiliser plusieurs minuteries pour différents besoins.)
Idéalement, tout le travail de minuterie devrait être enveloppé dans une classe, et toutes les parties du programme qui ont besoin d'une minuterie devraient l'utiliser à travers cette classe.
Sinon, vous ne serez pas en mesure d'en assurer le suivi.
Et dans cette classe, vous pouvez désactiver les fonctions OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer, comme l'a fait Faber dans Init_Sync.mqh. Et puis le contrôle total. Bonne idée. Merci.
Vous pouvez ajouter OnTimer, EventSetMillisecondTimer, EventSetTimer, EventKillTimer à cette classe, comme Faber l'a fait dans Init_Sync.mqh. Et puis le contrôle total. Bonne idée. Merci.
J'ai hâte de voir KB ;)
Il serait logique de faire cela au niveau de la plateforme et de nous permettre de faire fonctionner plusieurs minuteries pour des besoins différents).
Bien...
Ce serait beaucoup plus facile. Mais les moyens faciles sont pour les gars, et les maris ne cherchent pas les moyens faciles :))
J'attends avec impatience le QB ;)
J'espère pouvoir mettre la main dessus un jour...
J'ai essayé à la fois le feng shui et ceci - le résultat est le même. Le fait est que tout fonctionne 99% du temps, et j'ai besoin de 100%. Pour l'instant, l'essentiel pour moi est de trouver la bonne logique, et je pourrai faire la beauté plus tard.
J'ai oublié d'ajouter seulement que l'erreur mentionnée ci-dessus apparaît dans le testeur. Lorsque je l'ouvre sur un graphique, je ne le remarque pas ou je dois simplement attendre l'extremum requis où l'erreur se reproduira.Les vrais doivent être comparés correctement
En attente dans le KB ;)
La solution s'est avérée beaucoup plus simple que je ne le pensais.
Un exemple d'indicateur, dans lequel vous pouvez connaître l'état de la minuterie. Il suffit d'ajouter une ligne #include <Timer.mqh> et OnTimer() sous contrôle.
Et voici le cours lui-même :
Le résultat :