Conseiller en multidevise - multitime - page 4

 
Tango_X:

ce n'est pas possible... par exemple si la ligne de pente est brisée. - il y a une percée = il y a un signal

Tout d'abord, vous devez vous débarrasser de toutes les boucles, c'est écrit dans l'aide de OnChartEvent.

 
Fast528:

Tout d'abord, vous devez vous débarrasser de tous les cycles, c'est écrit dans l'aide de OnChartEvent, maintenant vous avez un tick et ensuite dans le cycle il s'exécute une deuxième fois.

if(id>=CHARTEVENT_CUSTOM)
     {
      //--- Если было событие "тик"
      if(lparam==0x00200000)
        {
         datetime t[1];
         //--- Получаем номер символа в массиве
         int s=GetNumberSymbol(sparam);
         // --- перебираем все периоды по нашему символу   
         for(int p=0;p<NUMBER_OF_PERIODS; p++)
           {
            CopyTime(Symbols[s],Periods[p],0,1,t);
            //--- Получим значения индикатора
            if(CopyBuffer(signal_indicator_handles[s][p],0,0,1,Indicator[s][p].sell)<1 || CopyBuffer(signal_indicator_handles[s][p],1,0,1,Indicator[s][p].buy)<1)
              {
               Print("Не удалось скопировать значения ");
               return;
              }
            if(Indicator[s][p].buy[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].buy[0]," ",t[0]);
            if(Indicator[s][p].sell[0]!=0 && Symbols[s]=="USDCHF.m" && Periods[p]==PERIOD_M1) Print(Symbols[s]," ",TimeframeToString(Periods[p])," ",Indicator[s][p].sell[0]," ",t[0]);
           }
        }
     }

Vous faites référence à une boucle dédiée ? Si c'est le cas, c'est correct... à chaque tick, je recherche un signal dans toutes les périodes.

 
Tango_X:

Vous voulez dire une boucle dédiée ? Si c'est le cas, c'est correct... à chaque tick, je recherche un signal dans toutes les périodes.

Ce OnChartEvent est une forêt noire, je l'ai oublié comme un mauvais rêve, Anatoly Kazarsky de 648 s'est aussi battu avec) il y a de longs sujets, multisymbole + multitimesframe, je pense que le graphique tiendra si il y a un fort mouvement, contrairement à OnTick cette chose sauve la file d'attente

 
Tango_X:

Je l'ai fait comme ça... J'ai fait un symbole et un point - c'est tout !

Forum sur le trading, les systèmes de trading automatisés et le testeur de stratégie

Multicurrency - Multitime Expert Advisor

Vladimir Karputov, 2018.09.12 13:45

Commencez simplement : cadre temporel actuel et donné, symbole actuel et donné. C'est-à-dire deux horizons temporels et deux symboles, soit un total de quatre indicateurs. Prenez n'importe quel indicateur.


De plus, j'ai ajouté : pas deOnChartEvent. En d'autres termes, dans un seul fichier du conseiller expert, il est aussi compact que possible. Le minimum de code.

 
Vladimir Karputov:

plus ajouté : pas deOnChartEvent. C'est-à-dire aussi compact que possible dans un seul fichier EA. Un minimum de code.

Vladimir, je ne comprends rien ici, pouvez-vous m'expliquer ?

 
Tango_X:

Vladimir, je ne comprends rien ici, pouvez-vous m'expliquer ?

Nous y voilà : nous travaillons sur EURUSD, H1. Deuxième symbole USDJPY, deuxième cadre temporel H4.

Nous créons quatre poignées (exemple pour la moyenne mobile) : MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 et MA USDJPY H4.

Dans OnTick() nous interrogeons quatre indicateurs.

 
Vladimir Karputov:

Étant donné : travailler sur EURUSD, H1. Second symbole USDJPY, second cadre temporel H4.

Créez quatre poignées (exemple pour la moyenne mobile) : MA EURUSD H1, MA EURUSD H4, MA USDJPY H1 et MA USDJPY H4.

Dans OnTick() nous interrogeons quatre indicateurs.

Cet algorithme analysera, par exemple, plusieurs paires de devises, mais uniquement sur les tics du graphique, sur lequel l'EA sera appliqué. Par exemple, nous lançons l'EA sur EURUSD et attendons le tick.... et au même moment, USDJPY a déjà dépassé 5 ticks - comment cela se passe-t-il ici ? C'est fondamentalement faux !

 
Tango_X:

Avec un tel algorithme, nous analyserons plusieurs paires de devises, mais uniquement en cas de tic dans le graphique auquel l'EA sera attaché. Par exemple, nous lançons notre EA sur EURUSD et attendons le tick.... et au même moment USDJPY a déjà dépassé 5 ticks - comment ? ***

Oui, c'est vrai. En fait, il s'agit d'une variante très simple sans événements, agents et autres.


Vous devez d'abord mettre en place un tel système.

 
Vladimir Karputov:

Oui, c'est exactement ça. Il s'agit en fait d'une option très simple sans événements, agents et autres.


Vous devez d'abord mettre en place un tel système.

Eh bien, c'est facile ! Je n'ai pas besoin d'un tel algorithme et je sais comment le mettre en œuvre - ma situation est différente... C'est pourquoi je demande de l'aide. Ce que vous me proposez est primitif, facile et inutile dans ce cas).

 
Tango_X:

C'est facile, n'est-ce pas ? Cet algorithme ne me convient pas et je sais comment le mettre en œuvre... J'ai une situation différente... C'est pourquoi je demande de l'aide. Ce que vous me proposez est primitif, facile et inutile dans ce cas).

Ah, c'est vrai :)

Puis je prends poliment congé.

Raison: