Erreurs, bugs, questions - page 3047

 
Vladimir Karputov:

Lisez attentivement la documentation :SymbolExist


Voici à quoi cela ressemble dans le code :

Merci, Vladimir

 

Question sur l'initialisation des indicateurs par le Conseiller Expert lors des tests en mode visuel.

Si j'initialise les indicateurs dans OnInit() { } de l'Expert Advisor, dans le testeur visuel, l'indicateur n'apparaît généralement pas et n'est pas dessiné.

En même temps, dans le log, l'initialisation est passée et le handle est reçu. On a l'impression qu'en mode visuel le testeur n'a pas le temps de faire quelque chose et que l'indicateur ne colle pas au graphique.

Si j'initialise les indicateurs dans OnTick() { } de l'EA, le problème disparaît, mais cela crée une écriture, une vérification et ainsi de suite inutiles.


Si je décommente l'IndicatorInitialization() dans OnTick et le commente dans OnInit, cela commence à fonctionner.

int  TicksTesterIndicatorHandle = INVALID_HANDLE;
bool InitComplite=false;
int OnInit()
  {
   IndicatorInitialization();
   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {
   IndicatorRelease(TicksTesterIndicatorHandle);
  }

void OnTick()
  {
//if(!InitComplite)
//  {
//   IndicatorInitialization();
//  }
  }
//+------------------------------------------------------------------+
bool IndicatorInitialization()
  {
//---Получить хэндл индикатора TicksTesterIndicator
   TicksTesterIndicatorHandle=iCustom(NULL, _Period, "OnInit_TestIndicator");

//--- Нужно проверить, не были ли возвращены значения Invalid Handle
   if(TicksTesterIndicatorHandle<0)
     {
      Print("Ошибка при создании индикатора TicksTesterIndicator - номер ошибки: ",GetLastError(),"!!!");
      return(false);
     }
   else
     {
      Print("TicksTesterIndicator инициализирован, хэндл: ", TicksTesterIndicatorHandle);
      ArraySetAsSeries(Buf, true);
      InitComplite=true;
     }
   return(true);
  }
 

Suite de l'histoire des fichiersmagiques:

Après que MetaEditor se soit arrêté et ait redémarré - ce fichier est maintenant affiché comme un ensemble de texte rouge, mais le même bloc-notes l'ouvre normalement (supprimé sans nécessité).

Dossiers :
main.txt  1 kb
 

Après-midi,

Android MT5/MT4 : Dans la fenêtre de placement des ordres, les couleurs des lignes de tick sont mélangées. Également dans les schémas de couleurs du tableau.

 

Bonjour à tous !

Impossible de surmonter l'erreur [Prix non valide] lors du passage d'un ordre en attente. Tout le problème est que de telles erreurs tombent lors des contrôles standard de la publication de l'EE. Je ne peux pas regarder les journaux en conséquence pour comprendre la raison. Je ne l'ai pas reproduit dans mes tests. Bien entendu, la complexité réside dans le fait que je ne sais pas à quels paramètres correspond le symbole dans les contrôles standard. J'ai essayé d'utiliser le terminal MetaQuotes pour le jouer. L'ordre s'ouvre au même endroit, même au même prix et il n'y a pas d'erreur. Les prix sont normalisés par CSymbolinfo::NormilizePrice(), il y a des vérifications pour les StopsLevel, le niveau de gel, pour l'exactitude des prix des ordres en attente, je mets à jour les données de prix à chaque vérification.

Rapport de contrôle standard

Peut-être quelqu'un connaît-il tous les cas où une telle erreur peut se produire sur des ordres en attente ? La seule à laquelle je pense est
.

  • Prix non normalisé
  • Prix supérieur/inférieur au prix du marché pour un certain type d'ordre
  • Niveau de congélation (pas sûr)
Je serai heureuse de recevoir des conseils :)
 

Bonjour.

Est-il possible de faire une coupure de test par des paramètres dans le testeur ?

Par exemple, si un tirage de 40% sur un test est atteint, il s'arrête et les ressources vont en faveur des tests suivants.

 
Dmitry Homenkov:

Bonjour à tous !

Impossible de surmonter l'erreur [Prix non valide] lors du passage d'un ordre en attente. Tout le problème est que de telles erreurs tombent lors des contrôles standard de la publication de l'EE. Je ne peux pas regarder les journaux en conséquence pour comprendre la raison. Je ne l'ai pas reproduit dans mes tests. Bien entendu, la complexité réside dans le fait que je ne sais pas à quels paramètres correspond le symbole dans les contrôles standard. J'ai essayé d'utiliser le terminal MetaQuotes pour le jouer. L'ordre s'ouvre au même endroit, même au même prix et il n'y a pas d'erreur. Les prix sont normalisés par CSymbolinfo::NormilizePrice(), il y a des vérifications pour les StopsLevel, le niveau de gel, pour l'exactitude des prix des ordres en attente, je mets à jour les données de prix à chaque vérification.


Peut-être quelqu'un connaît-il tous les cas où une telle erreur peut se produire sur des ordres en attente ? La seule à laquelle je pense est
.

  • Prix non normalisé
  • Prix supérieur/inférieur au prix du marché pour un certain type d'ordre
  • Niveau de congélation (pas sûr)
Je serai heureux de recevoir des conseils :)

Article : Quels tests un robot de trading doit-il passer avant d'être publié sur la Place de marché?

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку для обеспечения единого стандарта качества. В этой статье мы расскажем о наиболее частых ошибках, которые допускают разработчики в своих технических индикаторах и торговых роботах. А также покажем как самостоятельно проверить свой продукт перед отправкой в Маркет.
 
Yury Lemeshev:

Est-il possible de faire une coupure de test par des paramètres dans le testeur ?

Par exemple, si un test atteint un drawdown de 40%, il s'arrête et les ressources sont utilisées pour les tests suivants.

Ceci est possible pour vos EAs : vous devez compter le critère de sortie à l'intérieur (s'il est lourd - dans OnTimer), atteint le seuil - TesterStop()/ExpertRemove().

 

Quelque chose d'inutile.

 


Android MT5.

1) Les niveaux de Fibonacci sont en baisse.

  • Lors de l'ajout d'un nouvel objet "Lignes de Fibonacci", la liste des niveaux est vide et il n'y a pas de possibilité d'ajouter de nouveaux niveaux ou de changer la couleur des lignes. Serait-ce la faute du mode de fonctionnement à deux fenêtres ?
  • Lorsque l'on applique des niveaux par défaut et que l'on fixe/ajoute des niveaux personnalisés, l'objet n'apparaît pas sur certaines échéances (M1 en particulier).

2) Vagues d'Elliott. Y a-t-il une possibilité de faire une notation non superposée des vagues (5ème vague du niveau inférieur et 1ère vague du niveau suivant, etc.), l'une sur l'autre au lieu d'intersection par ancienneté (en tenant compte des paramètres de visibilité de l'horizon temporel) ? L'outil était censé être bon, mais sa mise en œuvre laisse à désirer.

3) Est-il possible d'ajouter aux objets graphiques un drapeau empêchant le déplacement de cet objet par le biais de l'interface graphique (uniquement en changeant les valeurs dans le menu contextuel) ? Souvent, ils sont accidentellement sélectionnés d'un seul coup et si on ne le remarque pas, ils sont soit supprimés par erreur avec un autre objet, soit déplacés.

4) L'échelle logarithmique (pour le mois c 1970 ou l'échelle de la largeur de la fenêtre de l'accélération de la tendance/de la bulle) est probablement une honte à demander :)

Raison: