Erreurs, bugs, questions - page 2346

 
TheXpert:

faire un seul wrapper-manager pour la substitution de macro et ajouter des classes au manager. évident.

pouvez-vous me montrer un exemple de ce qui est évident ?

 
Igor Makanu:

un exemple de l'évidence ?

Tu veux dire écrire tout ça pour toi ?
 
Aleksey Vyazmikin:

Extrait de la documentation

La différence entre le cours acheteur et le cours vendeur est appelée le spread. Lors des tests, l'écart n'est pas modélisé, mais tiré de données historiques. Si l'écart est inférieur ou égal à zéro dans les données historiques, on utilise le dernier écart connu au moment de la génération.

Comme il n'y a pas de tiques, l'écart est le même pendant tout l'intervalle de test, et il est faible.

C'est tout, la question est close pour l'instant - la clôture n'a pas été faite par la prise.

Merci pour la volonté d'aider !

 
Aleksey Vyazmikin:

Comme il n'y a pas de tiques, l'écart est le même pendant tout l'intervalle de test, et il est faible.

Jetez un coup d'œil à MqlRates.

 
fxsaber:

Jetez un coup d'œil à MqlRates.

Qu'est-ce que je suis censé voir là ?

 

Veuillez noter l'application

Non traité,Démarré : 2018.12.17 14:19,#2224434

 
Igor Makanu:

Pouvez-vous me montrer un exemple de ce qui est évident ?

CArrayObj serait-il utile ?

Документация по MQL5: Стандартная библиотека / Коллекции данных / CArrayObj
Документация по MQL5: Стандартная библиотека / Коллекции данных / CArrayObj
  • www.mql5.com
Класс CArrayObj обеспечивает возможность работы с динамическим массивом указателей на экземпляры класса CObject и его наследников. Это дает возможность работы как с многомерными динамическими массивами примитивных типов данных, так и с более сложно организованными структурами данных. В классе реализованы возможности добавления/вставки/удаления...
 
Artyom Trishkin:

Peut-être que CArrayObj vous aidera ?

Merci Artem, mais ce n'est pas le cas, le problème est que je veux décrire la classe MyClass comme typedef et ensuite utiliser les macrosubstitutions dans lesfonctionsstandardde gestion des événements.

comme je l'ai écrit plus haut, pour faire une substitution de macro dans OnInit() :

void OnInit( void )
{
  m_class1.OnInit();
  m_class2.OnInit();
  m_class3.OnInit();
.....

pour une instance de m_class@fxsaber a aidé, suggéré comment envelopper dans des définitions, mais pour 3... Eh bien, jusqu'à présent, pas de chance

 
Igor Makanu:

Merci Artem, mais ce n'est pas le cas, le problème est que je veux décrire la classe MyClass comme typedef et ensuite utiliser les macrosubstitutions dans lesfonctionsstandardde gestion des événements.

comme je l'ai écrit plus haut, pour faire une substitution de macro dans OnInit() :

pour une instance de m_class@fxsaber a aidé, suggéré comment envelopper dans des définitions, mais pour 3... Eh bien, jusqu'à présent, pas de chance

Pour une classe d'un seul type, la solution a déjà été suggérée : hériter de CObject, et ajouter une macro au gestionnaire de classe qui stockera toutes les instances ajoutées dans CArrayObj, les parcourra en boucle et appellera la fonction OnXXX requise.

Je n'ai pas non plus réussi à implémenter cela pour différentes bibliothèques. Pour connecter plusieurs bibliothèques avec de telles substitutions de macro dans une ligne, et pour appeler OnTick de toutes les bibliothèques quand OnTick est appelé.

 
Andrey Khatimlianskii:

Mais je n'ai pas non plus réussi à l'implémenter pour différentes bibliothèques. Pour connecter plusieurs bibliothèques avec de telles macros dans une ligne et appeler OnTick pour toutes les bibliothèques.

Je ne comprends pas vraiment, même par un exemple, ce que je veux obtenir. Tu peux me montrer ?


ZZZ Quant au manager, voyez. EventBase.mqh ici. Stupidement, tout le monde est devenu un héritier et lorsqu'un nouvel objet apparaissait, son pointeur allait dans une liste commune, qui était appelée par une boucle for dans chaque On-event.