Les régularités des mouvements de prix : 1ère partie. Orientation des prix - page 8

 
tara:


Tout d'abord, vous devez définir ce qu'est un canal. Le reste est facile :)


D'après ce que je comprends, nous définissons la pente initiale et finale de la barre et du prix dans le code et nous recherchons les prix les plus éloignés de cette pente. C'est, bien sûr, le moyen le plus simple. Selon ma définition, un canal existe si je peux trouver une ligne droite que le prix touche (sans la traverser) au moins 3 fois. Pourquoi 3 fois ? Parce que 2 touches ne sont pas pertinentes (2 points quelconques peuvent toujours être traversés par une ligne droite). Cette ligne peut être un niveau de soutien (le prix est en hausse) ou de résistance (le prix est en baisse). La pente peut être n'importe quoi.
 
// Поиск ближайшей точки пробоя линии
void fBreakPoint(string Name                 // Имя пробоя
                ,int Bar1,double Price1      // Начать поиск
                ,double Speed                // Наклон линии
                ,int Bar2                    // Закончить поиск
                ,int& Bar,double& Price) {   // Пробой линии
   Bar=LastBar-1;
   Price=0;
   datetime Time1=Time[Bar1],
            Time2=Time[Bar2];
   if( Bar1<LastBar || Bar2<LastBar || Price1<Zero ) {
      if( РежимОтладки ) Print("***   "+Name+" - параметры пробоя: "
                    +DoubleToStr(Price1,Digits)+" ("+Bar1+"/"+TimeToStr(Time1)
                                            +")...("+Bar2+"/"+TimeToStr(Time2)+")");
      return;
   }
   int Step;
   double H, L, P;
   if( Bar2>Bar1 ) Step=1; else Step=-1;
   if( High[Bar1]-Price1>Zero
    && Price1-Low[Bar1]>Zero ) {             // Первый бар
      Bar=Bar1;
      Price=Price1;
      return;
   }
   while( Bar1!=Bar2 ) {
      H=High[Bar1];                          // Предыдущий бар
      L=Low[Bar1];
      P=Price1;
      Price1-=Step*Speed;                    // Текущий бар
      Bar1+=Step;
      if( ( High[Bar1]-Price1>Zero && P-L>Zero )
       || ( Price1-Low[Bar1]> Zero && H-P>Zero ) ) {
         Bar=Bar1;
         Price=Price1;
         return;
   }  }
   return;
}

Déterminer le début et la fin d'un canal :

 
gpwr:

Si je comprends bien, dans le code, nous définissons la barre de début et de fin et la pente du prix et nous recherchons les prix les plus éloignés de cette pente. C'est, bien sûr, le moyen le plus simple. Selon ma définition, un canal existe si nous pouvons trouver une ligne droite que le prix touche (et non traverse) au moins 3 fois. Pourquoi 3 fois ? Parce que 2 touches ne sont pas pertinentes (2 points quelconques peuvent toujours être traversés par une ligne droite). Cette ligne peut être un niveau de soutien (le prix est en hausse) ou de résistance (le prix est en baisse). La pente peut être n'importe quoi.

Je n'aime pas les chiffres précis lorsqu'il s'agit de motifs.

Mon principal outil est la tangente. Juste les deux points que nous obtenons dans notre cas :(

 
Je suis allé me coucher. Il est minuit passé :)
 
alsu:

Ce ne sera probablement pas le cas. La deuxième loi de la thermodynamique nous dit : l'entropie d'un système fermé ne peut pas diminuer. Cela signifie que pour tout processus réel, nous devons toujours observer un déséquilibre entre les directions avant et arrière dans le temps.

D'un point de vue pratique, nous pouvons envisager la deuxième loi un peu différemment : si nous enregistrons une diminution de l'entropie à un moment donné (par exemple, lorsque, comme dans ce cas, nous observons une oscillation), cela signifie que le système est soumis à une influence extérieure. Si on arrive à trouver le chemin le plus rapidement possible, on gagne un prix).


Au hasard sera si nous générons une série sans effets de volatilité. Et si une série aléatoire est obtenue à partir d'une série réelle retenant la volatilité, elle sera la même que pour la série originale. C'est-à-dire que pour chaque barre avec une probabilité de 0,5, nous la laissons inchangée ou nous l'inversons.
 
Avals:

Si nous générons une série aléatoire sans effets de volatilité, elle sera la même que celle d'origine. Et si nous obtenons une série aléatoire à partir d'une série réelle retenant la volatilité, ce sera la même chose que pour la série initiale. C'est-à-dire que pour chaque barre avec une probabilité de 0,5, soit vous la laissez inchangée, soit vous la mettez en miroir.


J'ai modifié le script du premier message pour qu'il fonctionne avec des citations aléatoires (reflet miroir d'une barre avec une probabilité de 0,5). J'obtiens également des rapports de nombres internes et externes supérieurs à 1, mais régulièrement inférieurs à ceux des barres réelles.

Il y a peut-être une erreur dans le script :

// Скрипт для подсчёта доли внешних и внутренних бар //
#property  copyright "Copyright © Svinotavr-2000"
#property  link      "DmitriyN"

int start()
 {
   MathSrand(TimeLocal());
   double n;                // Количество бар всего, шт
   double KolVneshBar;      // Количество внешних бар, шт
   double KolVnutrBar;      // Количество внутренних бар, шт
   double ProcentVneshBar;  // Процент внешних бар, %
   double ProcentVnutrBar;  // Процент внутренних бар, %
   double OtnoshVnutKVnesh; // Отношение числа внутренних бар к числу внешних бар, раз
   double H,L,pH,pL;
   // Берём число бар на единицу меньшее, чем всего
   n=Bars-1; 
   double lastCl=Close[Bars];
   // Цикл по всем барам
        for(int j = n; j > 0; j--)
        {      
              int rnd=MathRand();
              if (rnd>=16384) bool zerk=true; else zerk=false;
              pH=H;
              pL=L;
              if (!zerk){
                H=lastCl+(High[j]-Close[j+1]);
                L=lastCl+(Low[j]-Close[j+1]);
                lastCl=lastCl+(Close[j]-Close[j+1]);
              } else {
                H=lastCl-(Low[j]-Close[j+1]);
                L=lastCl-(High[j]-Close[j+1]);
                lastCl=lastCl-(Close[j]-Close[j+1]);
              }
               // Считаем количество внутренних бар
               if ((H < pH) && (L > pL))
               {
               KolVnutrBar=KolVnutrBar+1;
               }  
               // Считаем количество внешних бар               
               if ((H > pH) && (L < pL))
               {
               KolVneshBar=KolVneshBar+1;
               
               }      
         }
  // Считаем отношение числа внутренних бар к числу внешних бар
  OtnoshVnutKVnesh=KolVnutrBar/KolVneshBar;
  // Переводим в проценты
  ProcentVneshBar=KolVneshBar/n*100;
  ProcentVnutrBar=KolVnutrBar/n*100;
  // Формируем строки для печати
   string S0 = "\n" + "=============== Результаты расчётов ===============" + "\n" + "\n";  
   string S1 = "Исследовано бар = " + DoubleToStr(n,0)+ " шт" + "\n"; 
   string S2 = "Процент внешних бар = " + DoubleToStr(ProcentVneshBar,3) +" %" + "\n"; 
   string S3 = "Процент внутренних бар = " + DoubleToStr(ProcentVnutrBar,3)+ " %" +"\n";
   string S4 = "Отношение числа внутренних бар к числу внешних бар = " + DoubleToStr(OtnoshVnutKVnesh,2);
  // Выводим на экран     
   Comment(S0, S1, S2, S3, S4);          
 }
 

Toutes les personnes impliquées dans ce fil de discussion sont sur le même clocher depuis lequel on ne peut voir que dans le passé. Dans le passé se trouvent toutes vos barres internes et externes. Le problème n'est pas de reconnaître les barres du passé, mais de prévoir l'avenir.

Lorsque vous disposez de suffisamment d'éléments pour vous faire une opinion sur le type de barres, alors, sur le plan commercial, le train est déjà parti. Il est probable que la prochaine barre qui apparaîtra au-dessus du bord droit sera le début d'un nouveau modèle qui n'a rien à voir avec celui que vous avez reconnu.

La question principale est de savoir quelles sont les propriétés prédictives de votre chiffre. Comme la tête et les épaules, il s'agit d'un modèle purement prédictif : vous franchissez l'épaule droite et vous continuez (plus probablement que non, et vous ne connaissez pas la probabilité de ce " plus probablement ").

Sur ce site, nous ne nous intéressons qu'aux pronostics - tout le reste est d'un intérêt purement sportif.

 
faa1947:

Toutes les personnes impliquées dans ce fil de discussion sont sur le même clocher depuis lequel on ne peut voir que dans le passé. Dans le passé se trouvent toutes vos barres internes et externes. Le problème n'est pas de reconnaître les barres du passé, mais de prévoir l'avenir.

Lorsque vous disposez de suffisamment d'éléments pour vous faire une opinion sur le type de barres, alors, sur le plan commercial, le train est déjà parti. Il est probable que la prochaine barre qui apparaît sur le bord droit soit le début d'un nouveau modèle qui n'a rien à voir avec celui que vous avez reconnu.

La question principale est de savoir quelles sont les propriétés prédictives de votre chiffre. Comme la tête et les épaules, il s'agit d'un modèle purement prédictif : vous franchissez l'épaule droite et vous continuez (plus probablement que non, et vous ne connaissez pas la probabilité de ce " plus probablement ").

Sur ce site, nous ne nous intéressons qu'aux pronostics - tout le reste est d'un intérêt purement sportif.


Et comment pouvez-vous être sûr de ce que des millions de terminaux feront ensuite ?
 
faa1947: Sur ce site, nous ne nous intéressons qu'aux prévisions - tout le reste est d'un intérêt purement sportif.

Vous devez ensuite vous rendre au Centre... le centre hydrométéorologique... où ils donnent des prévisions... ou ici :


Quand même, il est grand et croit aux contes de fées :-)

 

Testé les résultats sur des SB normalement distribués. Étonnamment, les probabilités des deux résultats sont égales dans ce cas ! J'ai délibérément divisé la série analysée en plusieurs sous-périodes indépendantes. Toutes les sous-périodes montrent une convergence remarquable vers une valeur unique.

Extension de gamme : 89274(9,55%)
Rétrécissement de la fourchette : 89494 (9,58%)

Extension de gamme : 5416 (9,44%)
Rétrécissement de la fourchette : 5550(9.67%)

Rétrécissement de la fourchette : 21299(9,6%)
Rétrécissement de la fourchette : 21362(9.63%)

Extension de la gamme : 12519(9,55%)
Rétrécissement de la fourchette : 12423(9.48%)

Extension de gamme : 21098(9,51%)
Rétrécissement de la fourchette : 21193(9,56%)

Extension de gamme : 16863(9,52%)
Rétrécissement de la fourchette : 16974(9.58%)

Avals:

il s'agit d'un modèle de volatilité : décroissance lente après un pic et la formation de quelques barres intérieures ; hausse rapide - souvent en une seule barre et, par conséquent, une barre extérieure est formée.


Oui, la seule explication qui reste est le regroupement de la volatilité sur des distributions stables de Pareto. Mais dans l'ensemble, la flèche du temps peut aussi être dirigée vers l'avant ou vers l'arrière. Après tout, qui empêche une barre à faible amplitude de se former avant un saut brutal - mais il semble que quelque chose l'empêche, puisqu'elles sont beaucoup moins nombreuses ?

Voici le même algorithme pour le marché RTS :

Extension de gamme : 10597(7,67%)
Rétrécissement de la fourchette : 18714(13,55%)