Test des systèmes de prévision en temps réel - page 73

 

un petit raffinement sur l'or :


La trajectoire la plus probable est celle du bas (soustraire 30 min de l'heure de publication sera le début de la prévision). Mais la prévision ne peut pas être particulièrement fiable, car elle nécessite d'exécuter une procédure pour identifier certaines caractéristiques de la série, ce que je n'ai pas encore fait (la procédure est unique, mais elle fonctionne pendant deux jours).

 
grasn >> :

PS : J'ajouterais bien toutes les trajectoires, mais je n'arrive pas à transférer la matrice bidimensionnelle à partir du texte :o). Et comment vous le faites - je ne le comprends pas, ou plutôt je ne le comprends pas complètement. Maintenant, j'ai le code suivant (du moins je le comprends) qui, je le soupçonne, pourrait être simplifié :

Afin d'afficher plus d'une trajectoire, j'ai ajouté plusieurs instances de mon propre indicateur dans la fenêtre, car je ne voulais pas m'embêter à afficher plusieurs tampons à la fois, de plus leur nombre est limité à 8 dans MT4. Je ne comprends pas vraiment pourquoi les données sont copiées dans des tableaux dynamiques dans votre code - n'est-il pas plus facile de les lire dans le tampon de l'indicateur ? En raison de l'absence du concept de tableau dans MQL, vous devez écrire un if complexe. ;-/ Quelque chose comme ça :

  // ViewCount - количество используемых буферов (1 - 8)
  // F1 ... F8 - индексные буфера
  for(int p = ForecastBars; p >= 0; p--)
  {
    if( ViewCount > 0)
      F1[ p] = GetData(0, p);
    if( ViewCount > 1)
      F2[ p] = GetData(1, p);
    ...
    if( ViewCount > 7)
      F8[ p] = GetData(7, p);
  }
 
marketeer >> :

J'ai simplement ajouté plusieurs instances de mon indicateur dans la fenêtre pour afficher plusieurs trajectoires, car je ne voulais pas m'embêter à afficher plusieurs tampons à la fois, d'autant plus que leur nombre est limité à 8 dans MT4. Je ne comprends pas vraiment pourquoi les données sont copiées dans des tableaux dynamiques dans votre code - n'est-il pas plus facile de les lire dans le tampon de l'indicateur ? En raison de l'absence du concept de tableaux dans MQL, pour remplir plusieurs buffers, il faut écrire un if complexe. ;-/ Quelque chose comme ça :


Je veux juste finaliser la prévision dans MQL, c'est-à-dire calculer les niveaux et les zones. Juste à titre expérimental, je l'étudie encore.


Je comprends l'idée des tampons, merci.

 
L'OR a baissé (prévision ci-dessus) Juste un peu :o( Il faudra que je me penche sur le critère, peut-être que nous ne devrions pas vraiment aller dans les extrêmes :0( OK, je vais me pencher sur la question.
 
mpeugep >> :

Difficile car je récupère les données pour le script qui dessine les courbes de prévision chaque matin dans Deductor. Donc - seulement à la main =)

Ici, je me suis battu une fois avec Expert Advisor for Deductor v.5.0 Lite :)

Il est même possible de l'exécuter dans vis.tester, mais il est nécessaire de choisir le délai de manière plus précise.

Dossiers :
 
Piboli >> :

Ici, je me battais avec Expert for deductor v.5.0 Lite :)

Vous pouvez même l'exécuter dans vis.tester, mais vous devrez ajuster le temps de retard.

Ooh, merci, je jetterai un coup d'oeil ce week-end =))

 

Bonne journée à tous !

Aujourd'hui, l'image pour l'instrument FDAXZ9 (H1) est la suivante :

Vendez à l'ouverture du marché, la cible est 5714, le stop dans la zone est 5799.

Le trading se fait avec 0.1 lot.

Compte : 642842
Mot de passe d'investissement : 1fisfwv
Serveur : BroCo-Demo

 

La position a été fermée sur la prise :

 

J'ai écrit un script pour générer un tableau de réalisations probables (c'est très simple) :

#property copyright ""
#property link      ""

#property show_inputs

extern int timeShift = 3;
extern int N = 101;

int start()
{
   int i;
   int idCount;

   int Handle;
   
   double realisation;
   
   string FILE="FORECAST.csv";
   string COUNT;

   Handle=FileOpen( FILE, FILE_CSV| FILE_READ,",");

   if( Handle<0)
   {
      if(GetLastError()==4103)
      {
         Alert("Нет файла с именем ", FILE);
      }
      else
      {
         Alert("Ошибка при открытии файла ", FILE);
      }

      return;
   }

   Handle=FileOpen( FILE, FILE_CSV| FILE_READ,",");
   
   ObjectsDeleteAll();

   idCount=0;
   i=0;

   while(FileIsEnding( Handle)==false)
   {
      if( i>= N)
      {
         i=0;
      }

      COUNT=FileReadString( Handle);
      realisation=NormalizeDouble(StrToDouble( COUNT), 5);

      ObjectCreate(DoubleToStr( idCount, 10), OBJ_ARROW, 0,
 (Time[0]- timeShift*15*60)+( i)*Period()*60+1, realisation);
      ObjectSet(DoubleToStr( idCount, 10), OBJPROP_ARROWCODE, 250);
      
      
      i= i+1;
      idCount= idCount+1;

      if(FileIsEnding( Handle)==true)
      {
         break;
      }
   }

   FileClose( Handle);

   return(0);
}

Voici comment fonctionne le script :

Comment déterminer automatiquement la longueur de l'échantillon de probabilité à partir d'un fichier texte est un mystère pour moi, jusqu'à présent, il est défini manuellement. Si vous avez des idées, veuillez m'en faire part.

 
Vous pouvez visualiser le fichier forecast.csv