Erreurs, bugs, questions - page 1851

 
kaus_bonus:

Par exemple, parce que MT n'a pas de screener de marché, j'ai écrit un petit script qui ajoute les symboles à la surveillance du marché mais les prix ne sont disponibles que via CopyClose, ils ne sont pas accessibles via SymbolInfoDouble ou via MqlTick jusqu'à ce qu'un symbole soit ajouté à la surveillance du marché, donc ce script tourne infiniment longtemps après le démarrage du terminal. Ceci n'est qu'un exemple.

Il n'est pas nécessaire d'ajouter les instruments à la vue d'ensemble du marché pour obtenir un historique sur ceux-ci. Toute référence aux données du symbole déclenche la synchronisation des données en arrière-plan.

Il y a maintenant un problème avec l'utilisation d'un niveau excessif de mise en cache avec l'ensemble de la base de données du graphique soulevée à sa pleine profondeur, même si les dernières données sont demandées. Cela entraîne un dépassement important de la mémoire pour les cribles qui vérifient des centaines de graphiques.

La tâche a déjà été définie pour modifier cette stratégie et récupérer les données au plus tard à 500 barres de la date la plus éloignée de la demande. Cela permettra de rédiger sans peine des analyses de marché.

 
fxsaber:

Quelle est la bonne méthode ?


Vous avez demandé, vous avez répondu :) Eh bien, oui, ça l'est.
 
Алексей Тарабанов:

Vous avez demandé, vous avez répondu :) Eh bien, oui, c'est vrai.
Je n'ai jamais vu l'appel abrégé de l'opérateur du modèle.
 
fxsaber:
Je n'ai toujours pas vu de modèle raccourci d'appel opérateur.

Je n'ai pas travaillé avec des structures depuis des lustres. Si vous devez initier un élément entier d'un tableau de structures, il s'agira d'une opération de type chaîne. Et l'élément entier de cette chaîne convertie que vous avez initié correctement, ce qui est ce que le compilateur a rapporté. Si vous voulez initier, comparer ou manipuler des tableaux de structures, demandez comment ils sont représentés/stockés dans MQL. Ce n'est rien de compliqué et cela accélère beaucoup les choses.
 
Алексей Тарабанов:
J'ai besoin de savoir quelle entrée de syntaxe est la version abrégée de ceci
Struct.operator[]<int>(0);
 
fxsaber:
J'ai besoin de savoir quelle entrée de syntaxe est la version abrégée de ceci
Struct[0]
 
Комбинатор:
Struct[0].

A qui comment
 
Комбинатор:
Struct[0].
Pour ne pas avoir à parcourir les pages, je vais copier le code

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Bugs, bugs, questions

fxsaber, 2017.04.12 14:27

struct STRUCT
{
  template <typename T>
  void operator []( int ) {}
};

void OnStart()
{
  STRUCT Struct;
  
  Struct.operator[]<int>(0); // Нормально
  Struct[0]<int>;            // Ошибка
}

Ces deux appels sont différents.

Struct.operator[]<int>(0);
Struct.operator[]<MqlTick>(0);

Il devrait y avoir une entrée abrégée correspondante pour chacun. Laquelle ?

 
fxsaber:
J'ai besoin de savoir quelle entrée syntaxique est une version abrégée de ceci

Aucune entrée ne peut fournir ce que vous voulez. Fondamentalement. Sémantiquement.
 
Алексей Тарабанов:
Aucun enregistrement ne peut fournir ce que vous voulez. Fondamentalement. Sémantiquement.
C'est dommage si c'est le cas. On ne sait pas pourquoi ils ne l'ont pas fait.