Las regularidades de los movimientos de los precios: Parte 1. Orientación de precios - página 8

 
tara:


En primer lugar, hay que definir qué es un canal. El resto es fácil:)


Por lo que tengo entendido, en el código establecemos la barra inicial y final y la pendiente del precio y buscamos los precios más alejados de esta pendiente. Esta es, por supuesto, la forma más fácil. Según mi definición, un canal existe si puedo encontrar una línea recta que el precio toca (sin cruzar) al menos 3 veces. ¿Por qué 3 veces? Porque 2 toques no importan (2 puntos cualesquiera siempre pueden ser cruzados por una línea). Esta línea puede ser un nivel de soporte (el precio sube) o de resistencia (el precio baja). La pendiente puede ser cualquier 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;
}

Determinar el inicio y el final de un canal:

 
gpwr:

Según entiendo, en el código establecemos la barra inicial y final y la pendiente del precio y buscamos los precios máximos alejados de esta pendiente. Esta es, por supuesto, la forma más fácil. Según mi definición, existe un canal si podemos encontrar una línea recta que el precio toca (no cruza) al menos 3 veces. ¿Por qué 3 veces? Porque 2 toques son irrelevantes (2 puntos cualesquiera siempre pueden ser atravesados por una línea recta). Esta línea puede ser un nivel de soporte (el precio sube) o de resistencia (el precio baja). La pendiente puede ser cualquier cosa.

No me gustan los números específicos cuando se trata de patrones.

Mi principal herramienta son las tangentes. Sólo los dos puntos que obtenemos en nuestro caso :(

 
Se ha ido a la cama. Es más de medianoche:)
 
alsu:

Probablemente no lo hará. La segunda ley de la termodinámica nos dice: la entropía de un sistema cerrado no puede disminuir. Lo que significa que para cualquier proceso real, siempre debemos observar un desequilibrio entre las direcciones hacia adelante y hacia atrás en el tiempo.

Desde el punto de vista práctico, podemos ver la segunda ley de forma un poco diferente: si registramos una disminución de la entropía en algún momento (por ejemplo, cuando, como en este caso, vemos una oscilación), esto significa que el sistema está bajo influencia externa. Si conseguimos averiguar qué camino es lo más rápido posible, nos llevamos un premio)


Sobre el azar será si generamos una serie sin efectos de volatilidad. Y si se obtiene una serie aleatoria a partir de una real conservando la volatilidad, ésta será la misma que para la original. Es decir, para cada barra con probabilidad 0,5 la dejamos sin modificar o la reflejamos.
 
Avals:

Si generamos una serie aleatoria sin efectos de volatilidad, será la misma que en la original. Y si obtenemos una serie aleatoria a partir de una real que retenga la volatilidad, será la misma que para la inicial. Es decir, para cada barra con probabilidad 0,5, o bien se deja sin modificar o se refleja.


He retocado el script del primer post para que funcione con citas aleatorias (reflejo de una barra con probabilidad 0,5). También obtengo proporciones de números internos y externos mayores que 1, pero constantemente menores que en las barras reales.

Quizá haya un error en el guión:

// Скрипт для подсчёта доли внешних и внутренних бар //
#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 los implicados en este hilo están en el mismo campanario desde el que sólo se ve el pasado. En el pasado están todas sus barras internas y externas. El problema no es reconocer las barras del pasado, sino predecir el futuro.

Cuando se tiene suficiente material para emitir un juicio sobre el tipo de barras, entonces, en un sentido comercial, el tren ya ha partido. Es probable que la siguiente barra que aparezca sobre el borde derecho sea el inicio de un nuevo patrón que no tiene nada que ver con el que ha reconocido.

La cuestión principal es qué propiedades de predicción tiene su cifra. Al igual que la cabeza y los hombros es un patrón puramente predictivo: se rompe el hombro derecho y se continúa (más probable que no, y no se sabe la probabilidad de ese "más probable").

A nosotros, en este sitio, sólo nos interesan los pronósticos, todo lo demás tiene un interés puramente deportivo.

 
faa1947:

Todos los implicados en este hilo están en el mismo campanario desde el que sólo se ve el pasado. En el pasado están todas sus barras internas y externas. El problema no es reconocer las barras del pasado, sino predecir el futuro.

Cuando se tiene suficiente material para emitir un juicio sobre el tipo de barras, entonces, en un sentido comercial, el tren ya ha partido. Es probable que la siguiente barra que aparezca sobre el borde derecho sea el inicio de un nuevo patrón que no tiene nada que ver con el que ha reconocido.

La cuestión principal es qué propiedades de predicción tiene su cifra. Al igual que la cabeza y los hombros es un patrón puramente predictivo: se rompe el hombro derecho y se continúa (más probable que no, y no se sabe la probabilidad de ese "más probable").

A nosotros, en este sitio, sólo nos interesan los pronósticos, todo lo demás tiene un interés puramente deportivo.


¿Y cómo puede estar seguro de lo que van a hacer millones de terminales?
 
faa1947: A nosotros, en este sitio, sólo nos interesa el pronóstico, todo lo demás tiene un interés puramente deportivo.

A continuación, debe ir al Centro... el centro hidrometeorológico... donde dan previsiones... o aquí:


Aun así, es grande y cree en los cuentos de hadas :-)

 

Probado los resultados en una SB distribuida normalmente. Sorprendentemente, las probabilidades de ambos resultados son iguales en este caso. He dividido a propósito la serie analizada en varios subperíodos independientes. Todos los subperíodos muestran una notable convergencia hacia un único valor.

Ampliación de la gama: 89274(9,55%)
Reducción del rango: 89494 (9,58%)

Ampliación de la gama: 5416 (9,44%)
Reducción del rango: 5550(9,67%)

Reducción del rango: 21299(9,6%)
Reducción del rango: 21362(9,63%)

Ampliación de la gama: 12519(9,55%)
Reducción del rango: 12423(9,48%)

Ampliación de la gama: 21098(9,51%)
Reducción del rango: 21193(9,56%)

Ampliación de la gama: 16863(9,52%)
Reducción del rango: 16974(9,58%)

Avals:

se trata de un patrón de volatilidad: descenso lento después de un pico y se forman algunas barras interiores; subida rápida - a menudo en una barra y en consecuencia se forma una barra exterior


Sí, la única explicación que queda es la agrupación de la volatilidad en distribuciones de Pareto estables. Pero, en general, la flecha del tiempo en este caso también puede dirigirse hacia adelante y hacia atrás. Al fin y al cabo, ¿quién impide que se forme una barra con un rango pequeño antes de un salto brusco, pero parece que algo lo impide, ya que hay muchas menos?

Aquí está el mismo algoritmo para el mercado RTS:

Ampliación de la gama: 10597(7,67%)
Reducción del rango: 18714(13,55%)

Razón de la queja: