Le regolarità dei movimenti dei prezzi: Parte 1. Orientamento al prezzo - pagina 8

 
tara:


Per prima cosa, bisogna definire cos'è un canale. Il resto è facile:)


Per quanto ho capito, impostiamo la pendenza iniziale e finale della barra e del prezzo nel codice e cerchiamo i prezzi più lontani da questa pendenza. Questo è, ovviamente, il modo più semplice. Per la mia definizione un canale esiste se posso trovare una linea retta che il prezzo tocca (senza attraversare) almeno 3 volte. Perché 3 volte? Perché 2 tocchi sono irrilevanti (qualsiasi 2 punti possono sempre essere attraversati da una linea retta). Questa linea può essere un livello di supporto (il prezzo è al rialzo) o di resistenza (il prezzo è al ribasso). La pendenza può essere qualsiasi cosa.
 
// Поиск ближайшей точки пробоя линии
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;
}

Determinazione dell'inizio e della fine di un canale:

 
gpwr:

Come ho capito, nel codice impostiamo la barra iniziale e finale e la pendenza del prezzo e cerchiamo i prezzi più distanti da questa pendenza. Questo è, ovviamente, il modo più semplice. Secondo la mia definizione, un canale esiste se possiamo trovare una linea retta che il prezzo tocca (non attraversa) almeno 3 volte. Perché 3 volte? Perché 2 tocchi non hanno importanza (qualsiasi 2 punti possono sempre essere attraversati da una linea). Questa linea può essere un livello di supporto (il prezzo è al rialzo) o di resistenza (il prezzo è al ribasso). La pendenza può essere qualsiasi cosa.

Non mi piacciono i numeri specifici quando si tratta di modelli.

Il mio strumento principale sono le tangenti. Solo i due punti che otteniamo nel nostro caso :(

 
Andato a letto. È passata la mezzanotte:)
 
alsu:

Probabilmente non lo farà. La seconda legge della termodinamica ci dice: l'entropia di un sistema chiuso non può diminuire. Il che significa che per qualsiasi processo reale, dobbiamo sempre osservare un disequilibrio tra le direzioni avanti e indietro nel tempo.

Dal punto di vista pratico, possiamo guardare la seconda legge un po' diversamente: se registriamo una diminuzione dell'entropia in un certo momento (per esempio quando, come in questo caso, vediamo un'oscillazione), questo significa che il sistema è sotto influenza esterna. Se riusciamo a capire da quale parte nel più breve tempo possibile, otteniamo un premio)


A caso sarà se generiamo una serie senza effetti di volatilità. E se una serie casuale è ottenuta da una reale conservando la volatilità, sarà la stessa di quella originale. Cioè, per ogni barra con probabilità 0,5 la lasciamo invariata o la specchiamo.
 
Avals:

Se generiamo una serie casuale senza effetti di volatilità, sarà la stessa di quella originale. E se otteniamo una serie casuale da una reale mantenendo la volatilità, sarà la stessa di quella iniziale. Cioè, per ogni barra con probabilità 0,5 o la si lascia invariata o la si specchia.


Ho modificato lo script del primo post per farlo funzionare con citazioni casuali (riflessione speculare di una barra con probabilità 0,5). Ottengo anche rapporti di numeri interni ed esterni maggiori di 1, ma costantemente inferiori a quelli delle barre reali.

Forse c'è un errore nella sceneggiatura:

// Скрипт для подсчёта доли внешних и внутренних бар //
#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);          
 }
 

Tutte le persone coinvolte in questo thread sono sullo stesso campanile da cui si può vedere solo il passato. Nel passato ci sono tutte le vostre barre interne ed esterne. Il problema non è riconoscere le barre del passato, ma prevedere il futuro.

Quando hai abbastanza materiale per dare un giudizio sul tipo di barre, allora in senso commerciale il treno è già partito. È probabile che la prossima barra che appare sopra il bordo destro sarà l'inizio di un nuovo modello che non ha niente a che fare con quello che hai riconosciuto.

La questione principale è quali proprietà predittive ha la tua figura. Come il testa e spalle è un modello puramente predittivo: si sfonda la spalla destra e si va avanti (più probabile che no, e non si conosce la probabilità di quel "più probabile").

Noi, su questo sito, siamo interessati solo ai pronostici - tutto il resto è di puro interesse sportivo.

 
faa1947:

Tutte le persone coinvolte in questo thread sono sullo stesso campanile da cui si può vedere solo il passato. Nel passato ci sono tutte le vostre barre interne ed esterne. Il problema non è riconoscere le barre del passato, ma prevedere il futuro.

Quando hai abbastanza materiale per dare un giudizio sul tipo di barre, allora in senso commerciale il treno è già partito. È probabile che la prossima barra che appare sopra il bordo destro sia l'inizio di un nuovo modello che non ha niente a che vedere con quello che hai riconosciuto.

La questione principale è quali proprietà predittive ha la tua figura. Come il testa e spalle è un modello puramente predittivo: si sfonda la spalla destra e si va avanti (più probabile che no, e non si conosce la probabilità di quel "più probabile").

Noi, su questo sito, siamo interessati solo ai pronostici - tutto il resto è di puro interesse sportivo.


E come si può essere sicuri di ciò che milioni di terminali faranno dopo?
 
faa1947: Noi, su questo sito, siamo interessati solo alle previsioni - tutto il resto è di puro interesse sportivo.

Poi devi andare al Centro... il centro idrometeorologico... dove danno previsioni... o qui:


Eppure, è grande e crede nelle favole :-)

 

Testato i risultati su SB distribuiti normalmente. Sorprendentemente, le probabilità di entrambi i risultati sono uguali in questo caso! Ho volutamente diviso la serie analizzata in diversi sottoperiodi indipendenti. Tutti i sottoperiodi mostrano una notevole convergenza verso un unico valore.

Espansione della gamma: 89274(9.55%)
Restringimento della gamma: 89494 (9,58%)

Estensione della gamma: 5416 (9,44%)
Restringimento della gamma: 5550(9.67%)

Restringimento della gamma: 21299(9.6%)
Restringimento della gamma: 21362(9.63%)

Espansione della gamma: 12519(9.55%)
Restringimento della gamma: 12423(9.48%)

Espansione della gamma: 21098(9.51%)
Restringimento della gamma: 21193(9,56%)

Espansione della gamma: 16863(9.52%)
Restringimento della gamma: 16974(9.58%)

Avals:

questo è un modello di volatilità: decadimento lento dopo un picco e si formano alcune barre interne; aumento veloce - spesso in una barra e di conseguenza si forma una barra esterna


Sì, l'unica spiegazione che rimane è il raggruppamento della volatilità su distribuzioni Pareto stabili. Ma in generale la freccia del tempo in questo caso può essere diretta sia in avanti che all'indietro. Dopo tutto, chi impedisce che una barra con un piccolo range si formi prima di un salto brusco - ma sembra che qualcosa lo impedisca, visto che ce ne sono molto meno?

Ecco lo stesso algoritmo per il mercato RTS:

Espansione della gamma: 10597(7.67%)
Restringimento della gamma: 18714(13.55%)