una strategia di trading basata sulla teoria dell'onda di Elliott - pagina 142

 
Forse dovrei chiarire. Anche se diam0nd non è stato esattamente lusinghiero, sono comunque contento di vederlo qui come un volto nuovo :)

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 forum inglese :)
 
Solo per chiarire la situazione:
... i nostri occhi sono il culmine di millenni di pressione evolutiva progettato per rilevare modelli (cibo, leoni) prima che i modelli rilevare noi. (Marchette D.J. Grafici casuali per il riconoscimento statistico dei modelli (Wiley 2004))
:)
 
2 Alex Niroba
Inizialmente, iniziando questo thread stavo cercando di trovare persone che la pensano come me, cioè <br / translate="no"> coloro che hanno familiarità con la teoria delle onde di Elliot.
L'idea era di scrivere un indicatore efficace basato su ZigZaga che avrebbe
Riconoscere le onde e disegnare il futuro comportamento dei prezzi sul grafico.

Alex, se l'avessi detto fin dall'inizio, avremmo potuto avere una discussione interessante. Ma siccome non hai voluto essere specifico in quello che hai detto, la gente è passata a una discussione sulla strategia di Vladislav, che ha formulato più che concretamente.

Tuttavia, nulla vi impedisce (se lo desiderate) di farlo ora. Penso che potresti essere interessato a sapere, oltre all'opinione di Rosh, cosa ne pensano altre persone.

Una volta ho anche iniziato con ZigZaga (probabilmente tutti ci passano :). Ho anche scritto il mio, perché quello standard non mi andava bene. Come risultato ho capito qualcosa non solo di ZigZag, ma anche della teoria di Elliott. Ecco perché non ne sono un fan.

Non mi considero "ben informato sulla teoria dell'onda di Elliott". Tuttavia, una certa comprensione che è emersa nel processo mi fa cercare soluzioni più profonde. Forse la mia motivazione principale è che l'approccio di Elliott può fornire solo una soluzione qualitativa. E questo per il trading (sia manuale che automatico) non è sufficiente. Questo è il motivo per cui gli Elliottiani non possono andare oltre il problema di riconoscere dov'è la terza onda e dov'è la quinta onda.

Tuttavia, parteciperò con interesse alla discussione dell'argomento se si presenterà.
Buona fortuna.
 
2 Dave Mason
Non ho una soluzione, ma abbiamo un inizio. <br / translate="no"> Ho chiesto alla signora Six di spiegare cosa intendeva: "Immagino anche che sia stato fatto del lavoro su questo argomento". Quindi, se lei fosse così gentile da spiegarmi "gratuitamente", condividerò le informazioni.


Se vi può interessare, posso dirvi questo.
All'epoca, quando avevo a che fare con ZigZag, ho scritto un Expert Advisor molto semplice che rilevava solo un pattern e faceva trading su quella base. La configurazione del modello l'ho fatta io stesso basandomi sulla mia analisi visiva del comportamento di ZigZag.

Il test storico di questo EA (6 mesi) mi ha mostrato un profitto del 26% per un periodo. L'ho testato sul mio script tester personale, non su quello integrato in MT4. Questo risultato, così come la comprensione di alcune circostanze, non mi ha soddisfatto. Ecco perché ho abbandonato questo approccio.

Una delle circostanze che ti riguarda, la do qui:
L'algoritmo di SELEZIONE dei modelli è mal definito. I criteri di questa selezione non sono affatto definiti.
Di conseguenza, l'unico modo che avevo era quello di inventare prima un modello, e poi testare per vedere se poteva essere utilizzato. Non mi piace questo approccio, troppa arbitrarietà.

Se si riesce ad applicare la teoria dei grafi per estrarre i modelli, sarebbe una soluzione radicale al problema. Ma, IMHO, deve essere fatto separatamente dall'Expert Advisor. E l'Expert Advisor dovrebbe lavorare con modelli definiti e parametrizzati. Se avrà successo, non avrete affatto bisogno della teoria di Elliott.
 
2 Yurixx
Per me (questa è la mia opinione) Elliott Wave Theory (EWT) è circa la teoria dei grafici, o anche ulteriore movimento dei prezzi nel forex, potrebbe essere spiegato attraverso la teoria dei grafici, strettamente matematica. Purtroppo la EWT per me (non sono un matematico) e penso per qualsiasi matematico non è veramente una teoria matematica. Ecco perché nessuno può essere sicuro di quale onda dopo quale sia in qualsiasi momento.
Non è una vera e propria teoria matematica, ma solo un'ipotesi.
Beh, la teoria dei grafici è qualcosa al di là delle mie capacità.
Tuttavia ho ricevuto risposta dalla signora Six:
"Ciao Dave,

No, questa non è fantasia.

Sono sicuro che i ricercatori o le imprese hanno
Articoli di ricerca pubblicati o libri bianchi che troverete
Interessante. Se non lo trovate con la vostra prima ricerca su Google,
continuare a provare.

Vai a prenderlo!


Saluti,
Janet Six, Ph.D.


Dave Mason ha scritto:

> Grazie per la vostra sollecita richiesta.
> Puoi dirmi cosa intendi" il lavoro su questo argomento ha
> è stato fatto"? Per favore, specificare poiché i miei colleghi del forum di forex pensano
> che questo è "fantasia".
> Saluti,
> Dave
"
Beh, lei dice che questa non è "fantasia".
Ma anche se qualcuno trova qualcosa su google o ...questo non risolve il problema.
Questo è un lavoro serio per i professionisti della matematica.
Quello che ho fatto è stato chiedere a uno dei migliori professionisti della teoria dei grafici, che è un professore, di aiutarmi in qualche modo. Ha detto che mi risponderà tra qualche settimana.
 
Quello che ho fatto è stato chiedere a uno dei migliori professionisti della teoria dei grafici, che è un professore, di aiutarmi in qualche modo. Ha detto che mi risponderà tra qualche settimana.

Dubito che dirà molto di più di Janet Six, Ph. :-)
Ma questa è solo la mia opinione. Vedremo.

Per me (questa è la mia opinione) Elliott Wave Theory (EWT) è circa la teoria dei grafici, o anche ulteriore movimento dei prezzi nel forex, potrebbe essere spiegato attraverso la teoria dei grafici, strettamente matematica.

Non credo che lo sia. Se fosse davvero vero, allora i movimenti dei prezzi del forex sarebbero stati previsti "rigorosamente matematicamente" molto tempo fa. Tuttavia, la saggezza convenzionale è esattamente l'opposto: nessuna quantità di matematica può prevedere con precisione il movimento dei prezzi.

Purtroppo la EWT per me (non sono un matematico) e penso per qualsiasi matematico non è veramente una teoria matematica. Ecco perché nessuno può essere sicuro di quale onda dopo quale sia in qualsiasi momento.
Non è una vera e propria teoria matematica, ma solo un'ipotesi.

Questa è una cosa su cui sono assolutamente d'accordo. E penso che questo sia il motivo per cui Mandelbrot (un matematico puro) non ha ritenuto opportuno menzionare Elliott nel suo articolo. A proposito di quell'articolo: scritto a livello di liceo, di nessuna utilità pratica. Perché è stato scritto in primo luogo?

IMHO sulla teoria di Elliott. Il modello di onda 5-3 si verifica nel mercato abbastanza spesso che può essere fissato visivamente. Questo era ovviamente sufficiente perché Elliott cercasse di trovare una spiegazione. Quello che ha proposto, purtroppo, è una spiegazione puramente qualitativa e, per di più, "psicologica". Perciò è di scarsa utilità, anche se dà l'impressione di sapere cosa sta succedendo nel mercato. Ahimè, è solo un'impressione.

Potresti anche dare un mucchio di altre spiegazioni come questa. Offro, per esempio, il mio, semplice al punto di essere primitivo e completamente ovvio.
Uno ZigZag spezzato che collega Min e Max (o viceversa) ha sempre un numero dispari di segmenti.
Cioè, Min-Max è 1 segmento (ma 2 vertici),
Min-Max-Min-Max - 3 segmenti (ma 4 vertici),
Min-Max-Min-Max-Min-Max - 5 segmenti (ma 6 vertici), ecc.
Con una tendenza al rialzo, il numero di passi di ZigZag verso l'alto supererà ovviamente il numero di passi verso il basso.
In uno dei casi più semplici si ottiene un rapporto di 5-3. Con il downtrend è viceversa - 3-5.
E il rapporto 3-3 o 5-5 è, come si può intuire, piatto.

Chiunque abbia guardato il grafico dei prezzi con i suoi occhi sa che ci sono vari modelli nel mercato, e il 5-3 è solo uno di questi. Inoltre, nessuno oserebbe dire che uno qualsiasi dei modelli è impossibile in linea di principio. Ma 3-1 è la variante minima per l'uptrend, e le varianti 21-1 o, per esempio, 21-19 sono molto, molto improbabili. Quindi il 5-3 è solo il modello improbabile. E solo chi non capisce la sua natura stocastica e persino caotica cercherebbe di "tirare" il mercato il 5-3 e il 3-5.

Quindi, prima di cercare di discernere tra la terza onda e la quinta, dovremmo calcolare (almeno sperimentalmente, attraverso la storia) la distribuzione delle frequenze dei vari modelli. Non viene fatto a causa del fatto che è difficile: la distribuzione sarà bidimensionale, l'algoritmo di dividere il prezzo ZigZag in sezioni separate in alto e in basso è ambiguo. E, inoltre, anche lo ZigZag può essere costruito in molti modi significativamente diversi.

Di quale "teoria" si può parlare in una situazione del genere? Ci sono le Onde di Elliott, non si discute. Ma non c'è nessuna teoria, ahimè.

Che qualcuno provi a contraddirmi ragionevolmente.
 
Definire con più precisione.
Ho detto spiegato, non predetto.
 
Definire con più precisione. <br / translate="no"> Ho detto spiegato non previsto.


Sì, certo. L'unico problema è come "più accuratamente". Se questa precisione può essere misurata, allora c'è qualcosa di cui parlare. Se no, allora ancora una volta siamo rimasti al livello delle discussioni "qualitative".

E, secondo me, la sfida è proprio quella di prevedere. E preferibilmente con un grado di certezza noto che può essere determinato a priori. E tutto può essere spiegato. EWT spiega molto bene il mercato. Solo che queste spiegazioni non danno ancora alcuna priorità alle élite.
 
Sistemato un po' l'indicatore.

La versione 3 ha corretto l'errore di visualizzazione errata delle linee sui timeframe inferiori delle coppie di valute, coinvolgendo lo yen giapponese.
Una linea centrale, segnata in giallo, è stata introdotta. È la media aritmetica dei livelli di rosso e di verde. Per quanto riguarda il suo utilizzo, c'è il presupposto che se questa linea viene superata, può essere aggiunta alla posizione già redditizia aperta a livelli rossi o verdi. Anche se nel tempo, ci possono essere altre interpretazioni del suo 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">
Ci sono le onde di Elliott, non si discute. Ma la teoria, ahimè, non lo è.

Che qualcuno provi a contraddirmi ragionevolmente.



Perché no? Posso capire che tu abbia trovato una teoria usando lo zigzag. E ha spiegato tutto :-)
Solo lo zigzag è solo un indicatore che mostra la deviazione percentuale del prezzo nella direzione opposta. Tanto valeva usare croci e zigzag, che fanno la stessa cosa, solo che non in percentuale, ma in valore assoluto.
Per confrontare le immagini bisogna almeno riconoscere il disegno, e con uno zigzag questo è problematico.
Elliott nella lezione 12 ha iniziato, Neely nel capitolo 5-9, o meglio ancora nel capitolo 6-1, poi Multipoints (senza saperlo) ha mostrato come identificare le onde. E funziona. Ho provato a fare un grafico online di un grafico al minuto e ripetutamente dalla mattina alla sera è venuto tutto insieme. Raramente ho dovuto cambiare qualcosa. Ci sono momenti in cui il canale (trendline) va un po' più in basso dopo il doppio e cattura qualche tocco del terzo allungato.
Motivazione: