una estrategia de negociación basada en la teoría de las ondas de Elliott - página 142

 
Tal vez deba aclararlo. Aunque diam0nd no fue precisamente elogioso, me alegro de verlo aquí como una cara nueva :)

Dlia angloyazi4nih uzverey esty angloyazi4niy forum. Vot ya sobsno i predlogil emu tam i pisaty, tk zdesy onloko ask questions, em osobo nevezvayut a on vse prodolgaet raspaliatsia. Taki ya i predlogil poyt na English forum :)
 
Sólo para aclarar las cosas:
... nuestros ojos son la culminación de milenios de presión evolutiva diseñada para detectar patrones (comida, leones) antes de que los patrones nos detecten a nosotros. (Marchette D.J. Random graphs for statistical pattern recognition (Wiley 2004))
:)
 
2 Alex Niroba
Inicialmente, al iniciar este hilo estaba tratando de encontrar personas afines, es decir, <br / translate="no"> aquellos que están familiarizados con la Teoría de las Ondas de Elliot.
La idea era escribir un indicador eficaz basado en ZigZaga que
Reconocer las ondas y dibujar el comportamiento futuro del precio en el gráfico.

Alex, si lo hubieras dicho desde el principio, podríamos haber tenido una discusión interesante. Pero como no quisiste concretar lo que dijiste, la gente pasó a discutir la estrategia de Vladislav, que formuló de forma más que concreta.

Sin embargo, nada le impide (si lo desea) hacerlo ahora. Creo que te puede interesar saber, además de la opinión de Rosh, lo que piensan otras personas al respecto.

En su día también empecé con ZigZaga (probablemente todo el mundo pasa por eso :). Incluso escribí el mío propio, porque el estándar no me convenía. Como resultado, entendí algo no sólo sobre ZigZag, sino también sobre la teoría de Elliott. Por eso no me gusta.

No me considero un "buen conocedor de la teoría de las ondas de Elliott". Sin embargo, algunos conocimientos que han surgido en el proceso me hacen buscar soluciones más profundas. Quizá mi principal motivación sea que el enfoque de Elliott sólo puede ofrecer una solución cualitativa. Y eso para el comercio (tanto manual como automático) no es suficiente. Por eso los elitistas no pueden ir más allá del problema de reconocer dónde está la 3ª onda y dónde la 5ª.

No obstante, participaré con interés en la discusión del tema si se produce.
Buena suerte.
 
2 Dave Mason
No tengo una solución, pero tenemos un comienzo. <br / translate="no"> Le pedí a la Sra. Seis que me explicara a qué se refería "Yo también supongo que se ha trabajado en este tema". Así que si tiene la amabilidad de explicarlo de forma "gratuita" compartiré la información.


Si es de su interés, puedo decirle lo siguiente.
En ese momento, cuando estaba tratando con ZigZag, escribí un Asesor Experto muy simple que detectaba sólo un patrón y operaba sobre esa base. La configuración del patrón la hice yo mismo basándome en mi propio análisis visual del comportamiento de ZigZag.

La prueba de la historia de este EA (6 meses) me ha mostrado un 26% de beneficio durante un período. Lo he probado en mi propio probador de scripts, no en el incorporado en MT4. Este resultado, así como la comprensión de una serie de circunstancias, no me satisfizo. Por eso abandoné este enfoque.

Una de las circunstancias que te preocupa, la doy aquí:
El algoritmo de SELECCIÓN de patrones está mal definido. Los criterios para esta selección no están definidos en absoluto.
Por ello, la única forma que tenía era idear primero un patrón y luego probar si se podía utilizar. No me gusta este enfoque, demasiada arbitrariedad.

Si se consigue aplicar la teoría de los grafos para extraer patrones, sería una solución radical a la cuestión. Pero, en mi opinión, debe hacerse por separado del Asesor Experto. Y el Asesor Experto debe trabajar con patrones definidos y parametrizados. Si tiene éxito, no necesitará la teoría de Elliott para nada.
 
2 Yurixx
Para mí (esta es mi opinión) la Teoría de las Ondas de Elliott (EWT) es sobre la teoría de los gráficos, o incluso más movimiento de los precios en forex, podría explicarse a través de la teoría de los gráficos, estrictamente matemática. Desgraciadamente la EWT para mí (no soy matemático) y creo que para cualquier matemático no es realmente teoría matemática. Por eso, nadie puede estar seguro de cuál es la ola que sigue en cada momento.
No es realmente una teoría matemática, sino una conjetura.
Bueno, la Teoría de los Grafos es algo que está más allá de mis capacidades.
Sin embargo, recibí la respuesta de la Sra. Seis:
"Hola Dave,

No, esto no es fantasía.

Estoy seguro de que los investigadores o las empresas han
Artículos de investigación publicados o libros blancos que encontrará
Interesante. Si no lo encuentras con tu primera búsqueda en google,
sigue intentándolo.

¡Adelante!


Saludos,
Dra. Janet Six


Dave Mason escribió:

> Gracias por su pronta solicitud.
> Puede decirme a qué se refiere" el trabajo sobre este tema ha
> ¿"Se ha hecho"? Por favor, especifique ya que mis colegas en el foro de forex piensan
> que esto es "fantasía".
> Saludos,
> Dave
"
Bueno, ella dice que esto no es una "fantasía".
Pero aunque alguien encuentre algo en google o ...esto no resuelve el problema.
Este es un trabajo serio para los profesionales de las matemáticas.
Lo que he hecho es pedirle a uno de los mejores profesionales de la Teoría de Grafos que es profesor que ayude de alguna manera. Me dijo que me respondería dentro de unas semanas.
 
Lo que he hecho es pedirle a uno de los mejores profesionales de la Teoría de Grafos que es profesor que ayude de alguna manera. Me dijo que me respondería dentro de unas semanas.

Dudo que diga mucho más que Janet Six, Ph. :-)
Pero eso es sólo mi opinión. Ya veremos.

Para mí (esta es mi opinión) la Teoría de las Ondas de Elliott (EWT) es sobre la teoría de los gráficos, o incluso más movimiento de los precios en forex, podría explicarse a través de la teoría de los gráficos, estrictamente matemática.

No creo que lo sea. Si realmente fuera cierto, los movimientos de los precios de las divisas se habrían predicho "estrictamente de forma matemática" hace mucho tiempo. Sin embargo, la sabiduría convencional es justo la contraria: ninguna matemática puede predecir con exactitud el movimiento de los precios.

Desgraciadamente la EWT para mí (no soy matemático) y creo que para cualquier matemático no es realmente teoría matemática. Por eso, nadie puede estar seguro de cuál es la ola que sigue en cada momento.
No es realmente una teoría matemática, sino una conjetura.

Eso es algo con lo que estoy absolutamente de acuerdo. Y creo que por eso Mandelbrot (un matemático puro) no consideró oportuno mencionar a Elliott en su artículo. Hablando de ese artículo: escrito a nivel de bachillerato, de nula utilidad práctica. ¿Por qué se escribió en primer lugar?

IMHO sobre la teoría de Elliott. El patrón de la onda 5-3 se produce en el mercado con la suficiente frecuencia como para poder fijarlo visualmente. Obviamente, esto fue suficiente para que Elliott intentara encontrar una explicación. Lo que propuso, por desgracia, es una explicación puramente cualitativa y, además, "psicológica". Por lo tanto, sirve de poco, aunque da la impresión de que sabemos lo que pasa en el mercado. Por desgracia, sólo es una impresión.

También podrías dar un montón de explicaciones más como esa. Ofrezco, por ejemplo, el mío propio, simple hasta el punto de ser primitivo y completamente obvio.
Un ZigZag roto que conecta Mín y Máx (o viceversa) siempre tiene un número impar de segmentos.
Es decir, Min-Max es 1 segmento (pero 2 vértices),
Min-Max-Min-Max - 3 segmentos (pero 4 vértices),
Min-Max-Min-Max-Min-Max - 5 segmentos (pero 6 vértices), etc.
Con la tendencia alcista, el número de pasos de ZigZag hacia arriba obviamente superará el número de pasos hacia abajo.
En uno de los casos más sencillos obtenemos una proporción de 5-3. Con la tendencia a la baja es viceversa - 3-5.
Y la proporción 3-3 o 5-5 es, como se puede adivinar, plana.

Cualquiera que haya mirado el gráfico de precios con sus ojos sabe que hay varios patrones en el mercado, y 5-3 es sólo uno de ellos. Además, nadie se atrevería a decir que alguno de los patrones es imposible en principio. Pero 3-1 es la variante mínima para la tendencia alcista, y las variantes 21-1 o, por ejemplo, 21-19 son muy, muy improbables. Así que 5-3 es sólo el patrón improbable. Y sólo aquellos que no entienden su naturaleza estocástica e incluso caótica intentarían "tirar" del mercado el 5-3 y el 3-5.

Por lo tanto, antes de intentar discernir entre la 3ª ola y la 5ª, deberíamos calcular (al menos experimentalmente, a través de la historia) la distribución de frecuencias de varios patrones. No se hace debido a que es difícil: la distribución será bidimensional, el algoritmo de dividir el precio ZigZag en secciones separadas hacia arriba y hacia abajo es ambiguo. Y, además, incluso el ZigZag puede construirse de varias y muy diferentes maneras.

¿De qué "teoría" podemos hablar en esta situación? Hay ondas de Elliott, sin discusión. Pero no hay ninguna teoría, por desgracia.

Que alguien intente contradecirme razonablemente.
 
Definir con más precisión.
He dicho explicado, no predicho.
 
Definir con más precisión. <br / translate="no"> He dicho explicado no predicho.


Sí, por supuesto. El único problema es cómo "con más precisión". Si esta precisión se puede medir, entonces hay algo de lo que hablar. Si no es así, de nuevo nos quedamos en el nivel de las discusiones "cualitativas".

Y, en mi opinión, el reto es precisamente predecir. Y preferiblemente con un grado de certeza conocido y determinable a priori. Y todo se puede explicar. EWT explica muy bien el mercado. Salvo que estas explicaciones aún no dan prioridad a las élites.
 
He arreglado un poco el indicador.

En la versión 3 se ha corregido el error de visualización incorrecta de las líneas en los marcos temporales inferiores de los pares de divisas, en el caso del yen japonés.
Se introdujo una línea central, marcada en amarillo. Es la media aritmética de los niveles de rojo y verde. En cuanto a su uso, se supone que si se supera esta línea, se puede añadir a la posición ya rentable abierta en los niveles rojo o verde. Aunque con el tiempo puede haber otras interpretaciones de su uso.

//+------------------------------------------------------------------+
//|                                     AMPLITUDE_STAT_LEVELS_v3.mq4 |
//|                                        Copyright © 2006, Solandr |
//|                                                solandr99@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Solandr"
#property link      "solandr99@mail.ru"
#property indicator_chart_window

//В версии 3 поправлена ошибка неверного отображения линий на младших таймфреймах валютных пар, с участием японской йены.
//Введена центральная линия, обозначаемая жёлтым цветом. Она является средним арифметическим значением красных и зелёных 
//уровней. По поводу её использования имеется предположение, что при прохождении этой линии можно добавляться к уже 
//прибыльной позиции, открытой на красных или зелёных уровнях. Хотя с течением времени возможно появление также и других 
//трактовок её использования.
//
//В версии 2 происходит относительный расчёт размахов в соответствии со средней ценой за 25 баров.
//В принципе при достаточном количестве баров истории это эквивалентно отношению среднеарифметического значения размаха
//к среднему значению цены на истории, умноженное затем на текущее среднее значение цены (например по последним 25 барам).
//Но решено оставить всё-таки более сложный алгоритм расчёта (нормировка каждого из значений амплитуд по текущей средней 
//цене), поскольку он наверное будет вполне уместен и в случаях когда баров истории совсем немного. 
//
//Версия 1. Первоначальный вариант индикатора.
//
// ============================================================================================
//"Купи подешевле, продай подороже" - основа, на которой базируется спекуляция на финансовых рынках. 
//Данный индикатор предлагает своё видение этих уровней "подешевле" и "подороже". Он основан на простом 
//статистическом расчёте размахов (амплитуд High-Low) баров по имеющейся истории котировок.
//Расчёт амплитуд происходит по сериям от 1 до 10 баров. То есть в выбранной серии на истории находитcя разница между 
//максимальным и минимальным значением цены. Далее окно серии смещается на 1 бар и получаем следующий размах амплитуды 
//баров для выбранной серии баров. После усреднения значения полученных размахов с учётом нормировки по среднему значению 
//цены на 25 барах мы имеем среднее арифметическое диапазона колебания цены для выбранной серии баров (а точнее его 
//нормированное значение). Это значение помещается в глобальные переменные терминала.
//
//Далее при расчёте текущих уровней из глобальных переменных терминала извлекается требуемое нормированное значение 
//диапазона колебаний и умножается на среднюю цену, вычисленную по последним 25 барам. Полученное таким образом значение 
//амплитуды откладывается на графике по следующему принципу. К минимуму текущей серии 
//баров прибавляется это вычисленное значение. Так мы получаем возможный среднестатистический максимум цены для текущей 
//серии баров. То же самое делаем для нахождения среднестатистического минимума для текущей серии баров. То есть от 
//максимума текущей серии баров отнимаем полученное значение амплитуды, посчитанное для данной серии баров по историческим 
//данным. Индикатор производит описанные выше действия для серий от 1 до 10 баров. На уровнях присутствуют надписи, 
//поясняющие для какого текущего временного промежутка построен данный уровень. С параметром TF_needed="AUTO" уровни 
//строятся для серий баров текущего таймфрейма. Если требуется зафиксировать уровни какого-то таймфрейма на остальных 
//периодах, то необходимо установить это значение в MN, W1, D1, H4, H1, M30, M15, M5, или в M1. Например для значения 
//TF_needed="D1" на всех периодах будут отображаться уровни для временных промежутков от 1 до 10 дней, обозначаемых 
//соответственно как D1,...,D10.
//
//При настройках по умолчанию индикатор производит перерасчёт среднестатистических амплитуд по истории один раз в день 
//с их внесением в глобальные переменные терминала. Если по какой-то причине (например импортирование дополнительных 
//котировок) требуется произвести перерасчёт среднеарифметических значений амплитуд для серий баров не дожидаясь 
//следующего дня, то необходимо установить force_recalculation=true и будет произведён перерасчёт среднеарифметических 
//значений размахов для серий баров при следующей инициализации индикатора. После проведения принудительного пересчёта 
//значение force_recalculation нужно вернуть в значение false для исключения постоянного пересчёта данных!
//
//Данный индикатор может быть полезен при принятии решений о входе в позицию. Может поспособствовать сохранению депозита
//особенно начинающих трейдеров. Продавайте на красных уровнях и покупайте на зелёных и за Вас будет играть математика! ;o))) 
//Если Вы например купили на зелёных уровнях и курс пошёл резко против Вас, то убыточную позицию есть смысл удерживать лишь 
//до тех пор пока красные уровни не окажутся ниже Вашей открытой позиции. И когда цена окажется на этих красных уровнях - 
//закройте убыточную позицию с минимальным убытком, а во многих случаях и с маленьким плюсом. Желаю успехов!:o)
// ============================================================================================

extern string TF_needed="AUTO";
extern bool force_recalculation=false;//принудительный перерасчёт

double average_price;
bool recalculation_needed=false;
bool aver_pr_recalc_needed=true;
int last_aver_pr_recalc_bars;
double delta[11];
string work_symbol;
int TF;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
{
   int i,k,all_bars,counter_counted_bars;
   string b_str,global_name;
   double average_price_array[10];
 
   work_symbol=Symbol();
   
   //Выбор требуемого тайфрейма для расчёта;
   if(TF_needed=="AUTO" || (TF_needed!="MN" && TF_needed!="W1" && TF_needed!="D1" && TF_needed!="H4" && TF_needed!="H1" && TF_needed!="M30" && TF_needed!="M15" && TF_needed!="M5" && TF_needed!="M1")) TF=Period();
   if(TF_needed=="MN") TF=43200;
   if(TF_needed=="W1") TF=10080;
   if(TF_needed=="D1") TF=1440;
   if(TF_needed=="H4") TF=240;
   if(TF_needed=="H1") TF=60;  
   if(TF_needed=="M30") TF=30;  
   if(TF_needed=="M15") TF=15;  
   if(TF_needed=="M5") TF=5;  
   if(TF_needed=="M1") TF=1;  
      
   //Проверяем наличие посчитанных данных амплитуд для данного TF, а также производим проверку дня, в который был произведен расчёт этих данных
   global_name=work_symbol+"_"+TF+"_counted_day";
   if(GlobalVariableCheck(global_name) && !force_recalculation) 
   {  
      if(MathAbs(GlobalVariableGet(global_name)-DayOfYear())>0) recalculation_needed=true;
   }
   else recalculation_needed=true;
         
   if(recalculation_needed)
   {//Производим расчёт средней амплитуды бара (серии баров) по таймфрейму TF на символе work_symbol
      all_bars=iBars(work_symbol,TF);
      ArrayResize(average_price_array,all_bars);
   
      //Рассчитываем массив средних цен для каждого расчётного момента времени на основе 25 баров
      for(k=all_bars-1;k>=0;k--) 
      {      
            average_price_array[k]=0;
            counter_counted_bars=0;
            for(i=k;i<=k+24;i++)//вычисляем среднюю цену на 25 барах
            {
               if(i<all_bars) 
               {
                  average_price_array[k]=average_price_array[k]+(iOpen(work_symbol,TF,i)+iHigh(work_symbol,TF,i)+iLow(work_symbol,TF,i)+iClose(work_symbol,TF,i))/4;
                  counter_counted_bars++;
               }
            }
            if(counter_counted_bars>0) average_price_array[k]=average_price_array[k]/counter_counted_bars;
      }
   
      for(i=1;i<=10;i++) delta[i]=0;
   
      for(i=1;i<=10;i++)
      {      
         for(k=all_bars-i;k>=0;k--) 
         {  
            if(average_price_array[k]>0) delta[i]=delta[i]+(iHigh(work_symbol,TF,Highest(Symbol(),TF,MODE_HIGH,i,k))-iLow(work_symbol,TF,Lowest(Symbol(),TF,MODE_LOW,i,k)))/average_price_array[k];
            else Print("average_price_array[",k,"]<=0 при i=",i," и k=",k);
         }
         delta[i]=delta[i]/(all_bars-i+1);   
         global_name=work_symbol+"_"+TF+"_"+i;
         GlobalVariableSet(global_name,delta[i]); 
         //Print("delta",i,"=",DoubleToStr(delta[i],8));
      } 
      global_name=work_symbol+"_"+TF+"_counted_day";
      GlobalVariableSet(global_name,DayOfYear()); 
      recalculation_needed=false;
   }//if(recalculation_needed)
   else
   {//Если данные имеются в глобальных переменных терминала, то берём имеющиеся расчётные данные амплитуд из глобальных переменных терминала
      for(i=1;i<=10;i++)
      {
         global_name=work_symbol+"_"+TF+"_"+i;
         delta[i]=GlobalVariableGet(global_name);
         //Print("Глобал ",i," ",delta[i]);
      }
   }
}   
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
{
//----
   int i;
   string b_str;
   for(i=1;i<=10;i++)
   {
      b_str="up_line"+i;
      ObjectDelete(b_str);
      b_str="down_line"+i;
      ObjectDelete(b_str);
      b_str="up_line_txt"+i;
      ObjectDelete(b_str);      
      b_str="down_line_txt"+i;
      ObjectDelete(b_str);       
   }
   
   b_str="centr_line";
   ObjectDelete(b_str); 
   
}   

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int i;
   string line_name;
   double buffer,c_line=0;
  
   /*
   for(i=iBars(work_symbol,TF)-1;i>=0;i--) average_price=average_price+(iOpen(work_symbol,TF,i)+iHigh(work_symbol,TF,i)+iLow(work_symbol,TF,i)+iClose(work_symbol,TF,i))/4;
   average_price=average_price/iBars(work_symbol,TF);
   Print("Средняя цена по всей выборке=",NormalizeDouble(average_price,Digits));
   average_price=0;
   */
   
   if(iBars(work_symbol,TF)!=last_aver_pr_recalc_bars) aver_pr_recalc_needed=true;
   
   if(aver_pr_recalc_needed)
   {  
      average_price=0;
      for(i=0;i<=24;i++) average_price=average_price+(iOpen(work_symbol,TF,i)+iHigh(work_symbol,TF,i)+iLow(work_symbol,TF,i)+iClose(work_symbol,TF,i))/4;
      average_price=average_price/25;
      aver_pr_recalc_needed=false;
      last_aver_pr_recalc_bars=iBars(work_symbol,TF);
   }
   //Print("average_price=",NormalizeDouble(average_price,Digits));
   
   for(i=1;i<=10;i++)
   {  
      if(TF==43200) line_name="MN"+i;   
      if(TF==10080) line_name="W"+i;
      if(TF==1440) line_name="D"+i;
      if(TF==240) line_name="H"+4*i;
      if(TF==60) line_name="H"+i;
      if(TF==30) line_name="M"+30*i;
      if(TF==15) line_name="M"+15*i;
      if(TF==5) line_name="M"+5*i;
      if(TF==1) line_name="M"+i;
      
      buffer=iLow(NULL,TF,Lowest(work_symbol,TF,MODE_LOW,i,0))+delta[i]*average_price;      
      up_line(i,buffer,line_name);
      c_line=c_line+buffer;
      buffer=iHigh(NULL,TF,Highest(work_symbol,TF,MODE_HIGH,i,0))-delta[i]*average_price;
      down_line(i,buffer,line_name);
      c_line=c_line+buffer;      
   }
   
   c_line=c_line/20.0;
   centr_line(c_line);
   
   return(0);
  }
//+------------------------------------------------------------------+
int up_line(int q_days, double level, string ln)
{
   string b_str="up_line"+q_days;

   if(ObjectFind(b_str) == -1) 
   {
     ObjectCreate(b_str, OBJ_TREND, 0, Time[1], level, Time[1]+2700000,level);
     ObjectSet(b_str, OBJPROP_STYLE, STYLE_DOT);
     ObjectSet(b_str, OBJPROP_COLOR, Brown);
     ObjectSet(b_str, OBJPROP_RAY, true);
     ObjectSet(b_str, OBJPROP_WIDTH, 1);
     ObjectMove(b_str, 0, Time[1],  level);
   }
   else 
   {
      if(MathAbs(level-ObjectGet(b_str, OBJPROP_PRICE1))>0.9*Point) ObjectDelete(b_str);
   }
   
   b_str="up_line_txt"+q_days;
   string b_txt=ln;
   datetime t_bar;
   if(ObjectFind(b_str) == -1) 
   {
     ObjectCreate(b_str, OBJ_TEXT, 0, Time[0], 0);
     ObjectSetText(b_str, b_txt, 8, "Arial", Brown);
     ObjectMove(b_str, 0, Time[0]+2*q_days*Period()*60,  level);
   }
   else 
   {
     ObjectMove(b_str, 0, Time[0]+2*q_days*Period()*60,  level);
   }      
   
   return(0);
}

int down_line(int q_days, double level, string ln)
{
   string b_str="down_line"+q_days;
   
   if(ObjectFind(b_str) == -1) 
   {
     ObjectCreate(b_str, OBJ_TREND, 0, Time[1], level, Time[1]+2700000,level);
     ObjectSet(b_str, OBJPROP_STYLE, STYLE_DOT);
     ObjectSet(b_str, OBJPROP_COLOR, DarkGreen);
     ObjectSet(b_str, OBJPROP_RAY, true);
     ObjectSet(b_str, OBJPROP_WIDTH, 1);
     ObjectMove(b_str, 0, Time[1],  level);
   }
   else 
   {
      if(MathAbs(level-ObjectGet(b_str, OBJPROP_PRICE1))>0.9*Point) ObjectDelete(b_str);
   }
   
   b_str="down_line_txt"+q_days;
   string b_txt=ln;
   if(ObjectFind(b_str) == -1) 
   {
     ObjectCreate(b_str, OBJ_TEXT, 0, Time[0], 0);
     ObjectSetText(b_str, b_txt, 8, "Arial", DarkGreen);
     ObjectMove(b_str, 0, Time[0]+2*q_days*Period()*60,  level);
   }
   else 
   {
     ObjectMove(b_str, 0, Time[0]+2*q_days*Period()*60,  level);
   }      
   
   return(0);
}

int centr_line(double level)
{
   string b_str="centr_line";
   
   if(ObjectFind(b_str) == -1) 
   {
     ObjectCreate(b_str, OBJ_TREND, 0, Time[1], level, Time[1]+2700000,level);
     ObjectSet(b_str, OBJPROP_STYLE, STYLE_DOT);
     ObjectSet(b_str, OBJPROP_COLOR, Yellow);
     ObjectSet(b_str, OBJPROP_RAY, true);
     ObjectSet(b_str, OBJPROP_WIDTH, 1);
     ObjectSet(b_str, OBJPROP_BACK, false);
     ObjectMove(b_str, 0, Time[1],  level);
   }
   else 
   {
      if(MathAbs(level-ObjectGet(b_str, OBJPROP_PRICE1))>0.9*Point) ObjectDelete(b_str);
   }
   
   return(0);
}
 
<br/ translate="no">
Hay ondas de Elliott, sin discusión. Pero la teoría, por desgracia, no lo es.

Que alguien intente contradecirme razonablemente.



¿Por qué no? Puedo ver cómo has encontrado una teoría usando el zigzag. Y lo explicó todo :-)
Sólo el zigzag es un indicador que muestra la desviación porcentual del precio en la dirección opuesta. También podrías haber utilizado cruces y zigzags, que hacen lo mismo, sólo que no en porcentaje, sino en valor absoluto.
Para comparar imágenes hay que reconocer al menos el boceto, y con un zigzag esto es problemático.
Elliott en la lección 12 lo inició, Neely en el capítulo 5-9, o mejor aún en el capítulo 6-1, luego Multipoints (sin saberlo) mostró cómo identificar las ondas. Y funciona. He probado a hacer un gráfico de minutos en línea y repetidamente desde la mañana hasta la noche todo se ha unido. Rara vez he tenido que cambiar algo. Hay veces que el canal (línea de tendencia) baja un poco después del doble y capta unos toques del tercio estirado.
Razón de la queja: