uma estratégia comercial baseada na Teoria da Onda de Elliott - página 142

 
Talvez eu devesse esclarecer. Embora diam0nd não tenha sido exatamente um elogio, ainda estou feliz em vê-lo aqui como um novo rosto :)

Dlia angloyazi4nih uzverey esty angloyazi4niy forum. Vot ya sobsno i predlogil emu emu tam i pisaty, tk zdesy onloko fazer perguntas, em osobo nevezvayut a on vse prodolgaet raspaliatsia. Taki ya ya i predlogil poyt na English forum :)
 
Apenas para limpar o ar:
... nossos olhos são o culminar de milênios de pressão evolutiva projetada para detectar padrões (alimentos, leões) antes que os padrões nos detectem. (Marchette D.J. Gráficos aleatórios para reconhecimento de padrões estatísticos (Wiley 2004))
:)
 
2 Alex Niroba
Inicialmente, ao iniciar esta linha eu estava tentando encontrar pessoas com a mesma mentalidade, ou seja, <br / translate="no"> aqueles que estão familiarizados com a Teoria da Onda de Elliot.
A idéia era escrever um indicador eficaz baseado em ZigZaga que
Reconhecer as ondas e desenhar o comportamento futuro dos preços no gráfico.

Alex, se você tivesse dito isso desde o início, poderíamos ter tido uma discussão interessante. Mas como você não quis ser específico no que disse, as pessoas passaram a discutir a estratégia de Vladislav, que ele formulou mais do que concretamente.

No entanto, nada o impede (se você desejar) de fazê-lo agora. Acho que você pode estar interessado em saber, além da opinião de Rosh, o que as outras pessoas pensam sobre isso.

Em algum momento eu também comecei com ZigZaga (provavelmente todos passam por isso :). Eu até escrevi o meu próprio, porque o padrão não me convinha. Como resultado, entendi algo não apenas sobre ZigZag, mas também sobre a teoria de Elliott. É por isso que eu não sou fã disso.

Eu não me considero "bem familiarizado com a Teoria da Onda de Elliott". Entretanto, alguma compreensão que surgiu no processo me faz procurar por soluções mais profundas. Talvez minha principal motivação seja que a abordagem da Elliott só possa fornecer uma solução qualitativa. E isso para o comércio (tanto manual como automático) não é suficiente. É por isso que os elliottianos não podem ir além do problema de reconhecer onde está a 3ª onda e onde está a 5ª onda.

No entanto, participarei com interesse na discussão do tema, caso ele surja.
Boa sorte.
 
2 Dave Mason
Eu não tenho uma solução, mas temos um começo. <br / translate="no"> Pedi à Sra. Six para explicar o que ela quis dizer com "Eu também acho que o trabalho sobre este tópico foi feito". Portanto, se ela tiver a gentileza de explicar de "graça", vou compartilhar informações.


Se for do seu interesse, posso lhe dizer o seguinte.
Naquela época, quando eu estava lidando com o ZigZag, escrevi um Expert Advisor muito simples que detectou apenas um padrão e negociou com base nisso. A configuração do padrão que eu mesmo fiz com base em minha própria análise visual do comportamento do ZigZag.

O teste histórico desta EA (6 meses) me mostrou um lucro de 26% por um período. Eu o testei em meu próprio testador de roteiros, não naquele integrado no MT4. Este resultado, assim como a compreensão de uma série de circunstâncias, não me satisfez. Foi por isso que abandonei esta abordagem.

Uma das circunstâncias que lhe diz respeito, eu dou aqui:
O algoritmo de SELEÇÃO de padrões é mal definido. Os critérios para esta seleção não estão definidos de forma alguma.
Como resultado, a única maneira que eu tinha era primeiro criar um padrão, e depois testar para ver se ele poderia ser usado. Não gosto desta abordagem, demasiada arbitrariedade.

Se você conseguir aplicar a teoria dos gráficos para extrair padrões, isso seria uma solução radical para a questão. Mas, IMHO, isso deve ser feito separadamente do Consultor Especialista. E o Expert Advisor deve trabalhar com padrões definidos e parametrizados. Se tiver sucesso, você não precisará de nenhuma teoria de Elliott.
 
2 Yurixx
Para mim (esta é minha opinião) a Teoria das Ondas Elliott (EWT) é sobre a teoria dos gráficos, ou até mesmo mais movimento de preços em forex, poderia ser explicado através da teoria dos gráficos, estritamente matemática. Infelizmente o EWT para mim (eu não sou matemático) e acho que para qualquer matemático não é realmente uma teoria matemática. É por isso que ninguém poderia ter certeza de qual onda depois da qual a qualquer momento.
Não é realmente uma teoria matemática apenas uma suposição.
Bem, a Teoria dos Gráficos é algo além das minhas capacidades.
No entanto, recebi resposta da Sra. Seis:
"Olá, Dave,

Não, isto não é fantasia.

Estou certo de que os pesquisadores ou empresas têm
Documentos de pesquisa publicados ou livros brancos que você encontrará
Interessante. Se você não o encontrar com sua primeira busca no google,
continuar tentando.

Vá em frente!


Cumprimentos,
Janet Six, Ph.D.


Dave Mason escreveu:

> Obrigado por sua rápida solicitação.
> Você pode me dizer o que você quer dizer" trabalho sobre este tópico tem
> foi feito"? Por favor, especifique, já que meus colegas no fórum forex pensam
> que isto é "fantasia".
> Cumprimentos,
> Dave
"
Bem, ela diz que isto não é "fantasia".
Mas mesmo que alguém encontre algo no google ou ...isto não resolve o problema.
Este é um trabalho sério para os profissionais da matemática.
O que eu fiz foi pedir a um dos melhores profissionais da Teoria Gráfica que é professor para ajudar de alguma forma. Ele disse que isso me responderá dentro de algumas semanas.
 
O que eu fiz foi pedir a um dos melhores profissionais da Teoria Gráfica que é professor para ajudar de alguma forma. Ele disse que isso me responderá dentro de algumas semanas.

Duvido que ele diga muito mais do que Janet Six, Ph.D. :-)
Mas essa é apenas a minha opinião. Veremos.

Para mim (esta é minha opinião) a Teoria das Ondas Elliott (EWT) é sobre a teoria dos gráficos, ou até mesmo mais movimento de preços em forex, poderia ser explicado através da teoria dos gráficos, estritamente matemática.

Eu não acho que seja. Se realmente fosse verdade, então os movimentos dos preços de câmbio teriam sido previstos "estritamente matematicamente" há muito tempo. Entretanto, a sabedoria convencional é exatamente o oposto: nenhuma quantidade de matemática pode prever com precisão o movimento dos preços.

Infelizmente o EWT para mim (eu não sou matemático) e acho que para qualquer matemático não é realmente uma teoria matemática. É por isso que ninguém poderia ter certeza de qual onda depois da qual a qualquer momento.
Não é realmente uma teoria matemática apenas uma suposição.

Isso é algo com o qual eu concordo plenamente. E acho que é por isso que Mandelbrot (um matemático puro) não achou por bem mencionar Elliott em seu artigo. Falando desse artigo: escrito em nível de ensino médio, sem qualquer utilidade prática. Por que foi escrito em primeiro lugar?

IMHO sobre a teoria de Elliott. O padrão de onda 5-3 ocorre no mercado com freqüência suficiente para que possa ser fixado visualmente. Isto foi obviamente suficiente para que Elliott tentasse encontrar uma explicação para isto. O que ele propôs, infelizmente, é uma explicação puramente qualitativa e, além disso, "psicológica". Portanto, é de pouca utilidade, embora dê a impressão de que sabemos o que está acontecendo no mercado. Infelizmente, é apenas uma impressão.

Mais vale dar um monte de explicações como essa. Ofereço, por exemplo, meu próprio, simples ao ponto de ser primitivo e completamente óbvio.
Um ZigZag quebrado ligando Min e Max (ou vice-versa) sempre tem um número ímpar de segmentos.
Ou seja, Min-Max é 1 segmento (mas 2 vértices),
Min-Max-Min-Max - 3 segmentos (mas 4 vértices),
Min-Max-Min-Max-Max-Max - 5 segmentos (mas 6 vértices), etc.
Com a tendência para cima, o número de degraus em ZigZag irá obviamente exceder o número de degraus para baixo.
Em um dos casos mais simples, obtemos uma proporção de 5-3. Com a tendência para baixo, é vice-versa - 3-5.
E a proporção 3-3 ou 5-5 é, como se pode adivinhar, plana.

Qualquer pessoa que tenha olhado a tabela de preços com seus olhos sabe que existem vários padrões no mercado, e 5-3 é apenas um deles. Além disso, ninguém ousaria dizer que qualquer um dos padrões é, em princípio, impossível. Mas 3-1 é a variante mínima para a tendência de alta, e as variantes 21-1 ou, por exemplo, 21-19 são muito, muito improváveis. Portanto, 5-3 é apenas o padrão improvável. E somente aqueles que não entendem sua natureza estocástica e até mesmo caótica tentariam "puxar" o mercado em 5-3 e 3-5.

Portanto, antes de tentar discernir entre a 3ª e a 5ª onda, devemos calcular (pelo menos experimentalmente, através da história) a distribuição de freqüências de vários padrões. Isso não é feito devido ao fato de ser difícil: a distribuição será bidimensional, o algoritmo de dividir o preço ZigZag em seções separadas para cima e para baixo é ambíguo. E, além disso, até mesmo o ZigZag pode ser construído de várias e significativamente diferentes maneiras.

De que "teoria" podemos falar em tal situação? Existem as Ondas Elliott, sem argumentos. Mas, infelizmente, não há teoria.

Deixe alguém tentar me contradizer razoavelmente.
 
Definir com mais precisão.
Eu disse que não estava previsto.
 
Definir com mais precisão. <br / translate="no"> Eu disse explicado não previsto.


Sim, é claro. O único problema é como "com mais precisão". Se essa precisão pode ser medida, então há algo a se falar. Se não, então novamente ficamos no nível das discussões "qualitativas".

E, em minha opinião, o desafio é precisamente o de prever. E de preferência com um grau de certeza conhecido que pode ser determinado a priori. E tudo pode ser explicado. EWT explica muito bem o mercado. Exceto que estas explicações ainda não dão nenhuma prioridade às elites.
 
Fixou um pouco o indicador.

A versão 3 corrigiu o erro de exibição incorreta de linhas em pares de moedas em períodos de tempo mais baixos, envolvendo o iene japonês.
Uma linha central, marcada em amarelo, foi introduzida. É a média aritmética dos níveis vermelho e verde. Quanto ao seu uso, há uma suposição de que se esta linha for aprovada, ela pode ser acrescentada à posição já lucrativa aberta nos níveis vermelho ou verde. Embora, com o tempo, possa haver outras interpretações de seu 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">
Existem as Ondas Elliott, sem argumentos. Mas a teoria, infelizmente, não é.

Que alguém tente razoavelmente me contradizer.



Por que não? Eu posso ver como você encontrou uma teoria usando o ziguezague. E explicou tudo :-)
Apenas o ziguezague é apenas um indicador que mostra o desvio percentual do preço na direção oposta. Você poderia muito bem ter usado cruzes e ziguezagues, que fazem a mesma coisa, apenas não em porcentagem, mas em valor absoluto.
Para comparar imagens, é necessário pelo menos reconhecer o esboço, e com um ziguezague isto é problemático.
Elliott na lição 12 a iniciou, Neely no capítulo 5-9, ou melhor ainda no capítulo 6-1, depois Multipoints (sem saber) mostrou como identificar ondas. E funciona. Tentei fazer um gráfico de minutos on-line e repetidamente, de manhã à noite, tudo se encaixou. Raramente tive que mudar alguma coisa. Há momentos em que o canal (linha de tendência) vai um pouco mais baixo após o duplo e capta alguns toques do terço esticado.
Razão: