J'essaie de comprendre mon compteur et de le réécrire en classes, mais je n'arrive toujours pas à sortir les fonctions parallèles qui fonctionnent. Je pense que m_pause devrait être déclaré différemment. Comment le faire correctement ?
#ifdef __MQL4__#endif
//+------------------------------------------------------------------+//| Счётчик |//+------------------------------------------------------------------+class CCounter
{
private:
//--- Шаг счётчикаint count;
//--- Счётчик int chekcount;
//--- int m_pause;
public:
//--- Проверяет прохождение указанного временного интервала int CheckCounter(constint pause);
void ZeroCounter(void){count=0;chekcount=0;}
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+int CCounter::CheckCounter(constint pause)
{
m_pause=pause;
count++;
Print(" Class count= ",count);
Print(" Class pause= ",pause);
Print(" Class m_pause= ",m_pause);
if(count>=chekcount+m_pause)
{
chekcount=count;
}
return(chekcount);
}
//+------------------------------------------------------------------+
J'essaie de comprendre mon compteur et de le réécrire en classes, mais je n'arrive toujours pas à sortir les fonctions parallèles qui fonctionnent. Je pense que m_pause devrait être déclaré différemment. Comment le faire correctement ?
Vous devez le vérifier dans la minuterie.
Et il devrait y avoir deux objets CCounter - chacun pour un compteur différent.
Merci, mais je ne comprends pas pourquoi la minuterie doit vérifier ? Pour chaque tick, l'Expert Advisor accède au CCounter et compte les ticks "count++".
Et il doit y avoir deux objets CCounter - chacun pour son compteur.
Je ne suis pas sûr de ce que vous entendez par "deux objets CCounter". J'ai lu l'article https://www.mql5.com/ru/article s/351, il est dit "Une fois chargée, la classe devient un objet". Cela signifie-t-il que je devrai faire des copies des cours pour chaque compteur ? Il s'agit donc des mêmes copies avec des noms différents que je peux faire sans cours ? Le but était de se débarrasser de la copie en utilisant des classes, car j'en ai besoin de plus d'une centaine. On m'a dit qu'il était possible de le faire avec une classe, alors j'ai commencé à m'amuser avec des classes. Ou qu'est-ce que je dis de "deux objets CCounter" ?
Coincé, comme il me semble, dans un endroit si simple. Que faire avec global int chekcount=0 ; int count=0 ; dans le cas où je veux exécuter plusieurs fonctions counter() en parallèle ?
Il suffit d'utiliser une classe ou de faire des copies de fonctions avec des noms différents.
На самом деле все намного проще. Чтобы пользоваться ООП вовсе не нужно знать, что означают эти слова - можно просто использовать предоставляемые ООП возможности, даже не зная как они называются. Но все же, надеюсь, в процессе прочтения статьи все желающие не только научатся использовать ООП в достаточной мере, но и разъяснят себе значения этих...
Je ne suis pas sûr de ce que vous entendez par "deux objets CCounter". J'ai lu l'article https://www.mql5.com/ru/article s/351, il est dit "Une fois chargée, la classe devient un objet". Cela signifie-t-il que je devrai faire des copies des cours pour chaque compteur ? Il s'agit donc des mêmes copies avec des noms différents que je peux faire sans cours ? Le but était de se débarrasser de la copie en utilisant des classes, car j'en ai besoin de plus d'une centaine. On m'a dit qu'il était possible de le faire avec une classe, alors j'ai commencé à m'amuser avec des classes. Ou qu'est-ce que je dis de "deux objets CCounter" ?
Comment créer un tableau unidimensionnel des prix de tous les ordres ouverts ? Il s'agit probablement d'une question très simple pour vous, mais veuillez me conseiller).
J'essaie de comprendre mon compteur et de le réécrire en classes, mais je n'arrive toujours pas à sortir les fonctions parallèles qui fonctionnent. Je pense que m_pause devrait être déclaré différemment. Comment le faire correctement ?
J'essaie de comprendre mon compteur et de le réécrire en classes, mais je n'arrive toujours pas à sortir les fonctions parallèles qui fonctionnent. Je pense que m_pause devrait être déclaré différemment. Comment le faire correctement ?
Vous devez le vérifier dans la minuterie.
Et il devrait y avoir deux objets CCounter - chacun pour un compteur différent.
La minuterie doit être vérifiée.
Merci, mais je ne comprends pas pourquoi la minuterie doit vérifier ? Pour chaque tick, l'Expert Advisor accède au CCounter et compte les ticks "count++".
Merci, mais je ne comprends pas pourquoi il faut vérifier la minuterie ? Pour chaque tick, l'EA accède au CCounter et compte les ticks "count++".
Donc ce n'est pas dans la minuterie...
Et il doit y avoir deux objets CCounter - chacun pour son compteur.
Je ne suis pas sûr de ce que vous entendez par "deux objets CCounter". J'ai lu l'article https://www.mql5.com/ru/article s/351, il est dit "Une fois chargée, la classe devient un objet". Cela signifie-t-il que je devrai faire des copies des cours pour chaque compteur ? Il s'agit donc des mêmes copies avec des noms différents que je peux faire sans cours ? Le but était de se débarrasser de la copie en utilisant des classes, car j'en ai besoin de plus d'une centaine. On m'a dit qu'il était possible de le faire avec une classe, alors j'ai commencé à m'amuser avec des classes. Ou qu'est-ce que je dis de "deux objets CCounter" ?
Coincé, comme il me semble, dans un endroit si simple. Que faire avec global int chekcount=0 ; int count=0 ; dans le cas où je veux exécuter plusieurs fonctions counter() en parallèle ?
Il suffit d'utiliser une classe ou de faire des copies de fonctions avec des noms différents.
Je ne suis pas sûr de ce que vous entendez par "deux objets CCounter". J'ai lu l'article https://www.mql5.com/ru/article s/351, il est dit "Une fois chargée, la classe devient un objet". Cela signifie-t-il que je devrai faire des copies des cours pour chaque compteur ? Il s'agit donc des mêmes copies avec des noms différents que je peux faire sans cours ? Le but était de se débarrasser de la copie en utilisant des classes, car j'en ai besoin de plus d'une centaine. On m'a dit qu'il était possible de le faire avec une classe, alors j'ai commencé à m'amuser avec des classes. Ou qu'est-ce que je dis de "deux objets CCounter" ?
Utilisez uniquement une classe, ou faites des copies de fonctions avec des noms différents.
Il suffit de créer autant d'objets de classe que nécessaire. Et utilisez chacun d'eux pour votre comptage.
Merci, je vais lire ce qu'est ce CArrayObj et essayer de le comprendre. :)
Comment créer un tableau unidimensionnel des prix de tous les ordres ouverts ? Il s'agit probablement d'une question très simple pour vous, mais veuillez me conseiller).
Comment créer un tableau unidimensionnel des prix de tous les ordres ouverts ?
Passez en revue tous les ordres dans une boucle et écrivez les prix ouverts dans le tableau.
Passez en revue tous les ordres dans la boucle et écrivez les prix d'ouverture dans le tableau.
Merci !