As regularidades de movimentos de preços: Parte 1. Orientação de preços - página 8

 
tara:


Primeiro, você tem que definir o que é um canal. O resto é fácil:)


Pelo que entendi, definimos a barra inicial e final e a inclinação do preço no código e procuramos preços máximos a partir desta inclinação. Esta é, é claro, a maneira mais fácil. Por minha definição, existe um canal se eu puder encontrar uma linha reta que o preço toca (sem atravessar) pelo menos 3 vezes. Por que 3 vezes? Porque 2 toques são irrelevantes (quaisquer 2 pontos podem sempre ser passados por uma linha reta). Esta linha pode ser tanto um nível de suporte (preço está acima) ou de resistência (preço está abaixo). A encosta pode ser qualquer coisa.
 
// Поиск ближайшей точки пробоя линии
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;
}

Determinar o início e o fim de um canal:

 
gpwr:

Pelo que entendi, no código definimos a barra de início e fim e a inclinação do preço e procuramos os preços máximos distantes desta inclinação. Esta é, é claro, a maneira mais fácil. Por minha definição, existe um canal se pudermos encontrar uma linha reta que o preço toca (não cruzado) pelo menos 3 vezes. Por que 3 vezes? Porque 2 toques não importam (quaisquer 2 pontos podem sempre ser cruzados por uma linha). Esta linha pode ser tanto um nível de suporte (preço está acima) ou de resistência (preço está abaixo). A encosta pode ser qualquer coisa.

Eu não gosto de números específicos quando se trata de padrões.

Minha principal ferramenta são as tangentes. Apenas os dois pontos que obtemos em nosso caso :(

 
Foi para a cama. Já passa da meia-noite:)
 
alsu:

Provavelmente não vai. A segunda lei da termodinâmica nos diz: a entropia de um sistema fechado não pode diminuir. O que significa que, para qualquer processo real, devemos sempre observar o desequilíbrio entre as direções para frente e para trás no tempo.

Na prática, podemos olhar para a segunda lei um pouco diferente: se registrarmos uma diminuição da entropia em algum momento (por exemplo, quando, como neste caso, vemos um balanço), isto significa que o sistema está sob influência externa. Se conseguirmos descobrir qual o caminho o mais rápido possível, ganhamos um prêmio)


Ao acaso será se gerarmos uma série sem efeitos de volatilidade. E se uma série aleatória for obtida de uma série real que retenha volatilidade, ela será a mesma que a original. Ou seja, para cada barra com probabilidade de 0,5, ou a deixamos inalterada ou a espelhamos.
 
Avals:

Se gerarmos uma série aleatória sem efeitos de volatilidade, ela será a mesma da série original. E se obtivermos uma série aleatória de uma série real que retenha a volatilidade, ela será a mesma da série inicial. Isto é, para cada barra com probabilidade de 0,5, ou deixá-la inalterada ou espelhá-la.


Eu afinei o roteiro do primeiro post para fazê-lo funcionar com citações aleatórias (reflexo de espelho de uma barra com probabilidade de 0,5). Também recebo proporções de números internos e externos superiores a 1, mas constantemente menores do que em barras reais.

Talvez haja um erro no roteiro:

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

Todos os envolvidos nesta linha estão na mesma torre sineira da qual só se pode ver o passado. No passado, todas as barras internas e externas são suas. O problema não é reconhecer as barras no passado, mas prever o futuro.

Quando você tem material suficiente para fazer um julgamento sobre o tipo de barras, então no sentido comercial o trem já partiu. É provável que a próxima barra que aparecer sobre a borda direita seja o início de um novo padrão que nada tem a ver com aquele que você reconheceu.

A questão principal é quais são as propriedades preditivas de sua figura. Como a cabeça e os ombros é um padrão puramente preditivo: você quebra o ombro direito e continua (mais provável do que não, e você não sabe a probabilidade desse "mais provável").

Nós, neste site, estamos apenas interessados em previsões - tudo o mais é puramente de interesse esportivo.

 
faa1947:

Todos os envolvidos nesta linha estão na mesma torre sineira da qual só se pode ver o passado. No passado, todas as barras internas e externas são suas. O problema não é o reconhecimento das barras no passado, mas a previsão do futuro.

Quando você tem material suficiente para fazer um julgamento sobre o tipo de barras, então no sentido comercial o trem já partiu. É provável que a próxima barra que aparecer sobre a borda direita seja o início de um novo padrão que nada tem a ver com aquele que você reconheceu.

A questão principal é quais são as propriedades preditivas de sua figura. Como a cabeça e os ombros é um padrão puramente preditivo: você quebra o ombro direito e continua (mais provável do que não, e você não sabe a probabilidade desse "mais provável").

Nós, neste site, estamos apenas interessados em previsões - tudo o mais é puramente de interesse esportivo.


E como você pode ter certeza do que milhões de terminais farão em seguida?
 
faa1947: Nós, neste site, estamos apenas interessados na previsão - tudo o mais é puramente de interesse esportivo.

Você deve então ir ao Centro... o centro hidrometeorológico... onde eles fazem previsões... ou aqui:


Ainda assim, ele é grande e acredita em contos de fadas :-)

 

Testamos os resultados em uma SB normalmente distribuída. Surpreendentemente, as probabilidades de ambos os resultados são iguais neste caso! Dividi propositadamente as séries analisadas em vários subperíodos independentes. Todos os subperíodos mostram uma notável convergência para um único valor.

Expansão de alcance: 89274(9,55%)
Estreitamento do alcance: 89494 (9,58%)

Extensão de alcance: 5416 (9,44%)
Estreitamento do alcance: 5550(9,67%)

Estreitamento do alcance: 21299(9,6%)
Estreitamento do alcance: 21362(9,63%)

Expansão de alcance: 12519(9,55%)
Estreitamento do alcance: 12423(9,48%)

Expansão de alcance: 21098(9,51%)
Faixa de redução: 21193(9,56%)

Expansão de alcance: 16863(9,52%)
Estreitamento do alcance: 16974(9,58%)

Avals:

este é um padrão de volatilidade: decaimento lento após um espigão e algumas barras internas são formadas; aumento rápido - muitas vezes em uma barra e, consequentemente, uma barra externa é formada


Sim, a única explicação que ainda resta é o agrupamento da volatilidade nas distribuições estáveis de Pareto. Mas, em geral, a flecha do tempo neste caso também pode ser dirigida tanto para frente quanto para trás. Afinal, quem impede que uma barra com um pequeno alcance se forme antes de um salto brusco - mas parece que algo a impede, já que há muito menos?

Aqui está o mesmo algoritmo para o mercado RTS:

Expansão de alcance: 10597(7,67%)
Estreitamento do alcance: 18714(13,55%)