eine Handelsstrategie auf der Grundlage der Elliott-Wellen-Theorie - Seite 142

 
Vielleicht sollte ich das klarstellen. Obwohl diam0nd nicht gerade schmeichelhaft war, freue ich mich trotzdem, ihn hier als neues Gesicht zu sehen :)

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 :)
 
Nur um das klarzustellen:
... Unsere Augen sind das Ergebnis eines jahrtausendelangen evolutionären Drucks, der darauf abzielt, Muster (Nahrung, Löwen) zu erkennen, bevor die Muster uns erkennen. (Marchette D.J. Zufallsgraphen für die statistische Mustererkennung (Wiley 2004))
:)
 
2 Alex Niroba
Ursprünglich wollte ich mit der Eröffnung dieses Threads Gleichgesinnte finden, d.h. <br / translate="no"> diejenigen, die mit der Elliot-Wellentheorie vertraut sind.
Die Idee war, einen effektiven Indikator auf der Grundlage von ZigZaga zu schreiben, der
Erkennen Sie Wellen und zeichnen Sie das zukünftige Kursverhalten auf dem Chart ein.

Alex, wenn Sie das von Anfang an gesagt hätten, hätten wir eine interessante Diskussion führen können. Da Sie sich aber nicht konkret äußern wollten, ging man zu einer Diskussion über Vladislavs Strategie über, die er mehr als konkret formulierte.

Es steht Ihnen jedoch nichts im Wege, dies jetzt zu tun (wenn Sie es wünschen). Ich denke, es könnte Sie interessieren, was andere Menschen zusätzlich zu Roshs Meinung darüber denken.

Irgendwann habe ich auch mal mit ZigZaga angefangen (das macht wohl jeder durch :). Ich habe sogar einen eigenen Text geschrieben, weil der Standardtext nicht zu mir passte. Dadurch habe ich nicht nur etwas über ZigZag, sondern auch über die Elliott-Theorie verstanden. Deshalb bin ich auch kein Fan davon.

Ich halte mich nicht für "gut vertraut mit der Elliott-Wellen-Theorie". Einige Erkenntnisse, die sich dabei ergeben haben, lassen mich jedoch nach tieferen Lösungen suchen. Vielleicht liegt meine Hauptmotivation darin, dass der Ansatz von Elliott nur eine qualitative Lösung bieten kann. Und das ist für den Handel (sowohl manuell als auch automatisch) nicht genug. Deshalb kommen die Elliottianer nicht über das Problem hinaus, zu erkennen, wo sich die 3. Welle befindet und wo die 5.

Ich werde mich jedoch mit Interesse an der Diskussion über dieses Thema beteiligen, wenn es sich ergibt.
Viel Glück!
 
2 Dave Mason
Ich habe keine Lösung, aber wir haben einen Anfang. <br / translate="no"> Ich bat Frau Six zu erklären, was sie meint: "Ich würde auch vermuten, dass zu diesem Thema bereits gearbeitet wurde." Wenn sie also so freundlich wäre, es "kostenlos" zu erklären, werde ich Informationen weitergeben.


Falls es Sie interessieren sollte, kann ich Ihnen Folgendes sagen.
Damals, als ich mich mit ZigZag beschäftigte, schrieb ich einen sehr einfachen Expert Advisor, der nur ein Muster erkannte und auf dieser Grundlage handelte. Die Konfiguration des Musters habe ich auf der Grundlage meiner eigenen visuellen Analyse des Verhaltens von ZigZag selbst erstellt.

Die Geschichte Test dieser EA (6 Monate) hat mir gezeigt, ein 26% Gewinn für einen Zeitraum. Ich habe es mit meinem eigenen Skript-Tester getestet, nicht mit dem in MT4 integrierten. Dieses Ergebnis sowie das Verständnis für eine Reihe von Umständen haben mich nicht zufrieden gestellt. Aus diesem Grund habe ich diesen Ansatz aufgegeben.

Einen der Umstände, die Sie betreffen, gebe ich hier an:
Der Algorithmus zur AUSWAHL von Mustern ist schlecht definiert. Die Kriterien für diese Auswahl sind überhaupt nicht definiert.
Daher blieb mir nichts anderes übrig, als zunächst ein Muster zu entwerfen und dann zu testen, ob es verwendet werden kann. Mir gefällt dieser Ansatz nicht, zu viel Willkür.

Wenn es Ihnen gelingt, die Graphentheorie anzuwenden, um Muster zu extrahieren, wäre das eine radikale Lösung des Problems. Aber, IMHO, muss dies getrennt vom Expert Advisor gemacht werden. Und der Expert Advisor sollte mit definierten und parametrisierten Mustern arbeiten. Wenn das gelingt, braucht man die Elliott-Theorie gar nicht mehr.
 
2 Yurixx
Für mich (dies ist meine Meinung) Elliott-Wellen-Theorie (EWT) ist über die Theorie der Graphen, oder sogar weiter Preisbewegung in Forex, könnte durch die Theorie der Graphen, streng mathematisch erklärt werden. Leider ist die EWT für mich (ich bin kein Mathematiker) und ich denke für jeden Mathematiker nicht wirklich eine mathematische Theorie. Deshalb kann sich niemand sicher sein, welche Welle zu welchem Zeitpunkt die nächste ist.
Es ist nicht wirklich eine mathematische Theorie, sondern nur eine Vermutung.
Nun, Theory of Graphs übersteigt meine Fähigkeiten.
Ich erhielt jedoch eine Antwort von Frau Six:
"Hallo Dave,

Nein, das ist keine Fantasie.

Ich bin sicher, dass Forscher oder Unternehmen
Veröffentlichte Forschungspapiere oder White Papers, die Sie finden werden
Interessant. Wenn Sie es bei Ihrer ersten Suche auf Google nicht finden,
Versuchen Sie es weiter.

Nur zu!


Herzliche Grüße,
Janet Six, Ph.D.


Dave Mason schrieb:

> Vielen Dank für Ihre prompte Anfrage.
> Können Sie mir sagen, was Sie meinen?" Arbeit zu diesem Thema hat
> getan worden"? Bitte präzisieren Sie, da meine Kollegen im Forex-Forum denken
> dass dies "Fantasie" ist.
> Mit freundlichen Grüßen,
> Dave
"
Nun, sie sagt, das sei keine "Fantasie".
Aber selbst wenn jemand etwas bei Google oder ... findet, ist das Problem damit nicht gelöst.
Dies ist eine ernsthafte Aufgabe für Matheprofis.
Ich habe einen der besten Experten für Graphentheorie, der Professor ist, gebeten, mir zu helfen. Er sagte, dass er mir in ein paar Wochen antworten wird.
 
Ich habe einen der besten Experten für Graphentheorie, der Professor ist, gebeten, mir zu helfen. Er sagte, dass er mir in ein paar Wochen antworten wird.

Ich bezweifle, dass er viel mehr sagen wird als Janet Six, Ph. :-)
Aber das ist nur meine Meinung. Wir werden sehen.

Für mich (dies ist meine Meinung) Elliott-Wellen-Theorie (EWT) ist über die Theorie der Graphen, oder sogar weiter Preisbewegung in Forex, könnte durch die Theorie der Graphen, streng mathematisch erklärt werden.

Ich glaube nicht, dass es so ist. Wenn es wirklich so wäre, dann hätte man die Entwicklung der Devisenkurse schon vor langer Zeit "streng mathematisch" vorhersagen können. Die gängige Meinung ist jedoch genau das Gegenteil: Keine noch so gute Mathematik kann die Kursentwicklung genau vorhersagen.

Leider ist die EWT für mich (ich bin kein Mathematiker) und ich denke für jeden Mathematiker nicht wirklich eine mathematische Theorie. Deshalb kann sich niemand sicher sein, welche Welle zu welchem Zeitpunkt die nächste ist.
Es ist nicht wirklich eine mathematische Theorie, sondern nur eine Vermutung.

Dem kann ich nur zustimmen. Und ich denke, das ist der Grund, warum Mandelbrot (ein reiner Mathematiker) es nicht für angebracht hielt, Elliott in seinem Artikel zu erwähnen. Apropos dieser Artikel: Er ist auf Gymnasialniveau geschrieben und hat keinerlei praktischen Nutzen. Warum wurde sie überhaupt geschrieben?

IMHO über die Theorie von Elliott. Das 5-3-Wellenmuster tritt auf dem Markt oft genug auf, so dass es visuell bestimmt werden kann. Das war offensichtlich genug für Elliott, um nach einer Erklärung dafür zu suchen. Was er vorschlägt, ist leider eine rein qualitative und darüber hinaus eine "psychologische" Erklärung. Daher ist sie wenig nützlich, auch wenn sie den Eindruck erweckt, dass wir wissen, was auf dem Markt vor sich geht. Leider ist es nur ein Eindruck.

Sie könnten auch noch mehr Erklärungen dieser Art abgeben. Ich biete zum Beispiel meine eigene an, die so einfach ist, dass sie primitiv und völlig offensichtlich ist.
Ein unterbrochenes Zickzack, das Min und Max (oder umgekehrt) verbindet, hat immer eine ungerade Anzahl von Segmenten.
Das heißt, Min-Max ist 1 Segment (aber 2 Scheitelpunkte),
Min-Max-Min-Max - 3 Segmente (aber 4 Scheitelpunkte),
Min-Max-Min-Max-Min-Max - 5 Segmente (aber 6 Scheitelpunkte), usw.
Bei einem Aufwärtstrend übersteigt die Anzahl der ZigZag-Schritte nach oben offensichtlich die Anzahl der Schritte nach unten.
In einem der einfachsten Fälle erhalten wir ein Verhältnis von 5-3. Bei einem Abwärtstrend ist es umgekehrt - 3-5.
Und das Verhältnis 3-3 oder 5-5 ist, wie man sich denken kann, flach.

Jeder, der die Kurscharts mit seinen Augen betrachtet hat, weiß, dass es verschiedene Muster auf dem Markt gibt, und 5-3 ist nur eines davon. Außerdem würde es niemand wagen zu behaupten, dass irgendeines der Muster prinzipiell unmöglich ist. Aber 3-1 ist die Mindestvariante für einen Aufwärtstrend, und die Varianten 21-1 oder z.B. 21-19 sind sehr, sehr unwahrscheinlich. 5-3 ist also nur das unwahrscheinliche Muster. Und nur diejenigen, die die stochastische und sogar chaotische Natur des Marktes nicht verstehen, würden versuchen, den Markt auf 5-3 und 3-5 zu "ziehen".

Bevor wir also versuchen, zwischen der 3. und der 5. Welle zu unterscheiden, sollten wir (zumindest experimentell, durch die Geschichte) die Verteilung der Häufigkeiten der verschiedenen Muster berechnen. Dies wird nicht gemacht, weil es schwierig ist: Die Verteilung wird zweidimensional sein, der Algorithmus zur Unterteilung des ZigZag-Kurses in getrennte Auf- und Abwärtsabschnitte ist nicht eindeutig. Und auch der Zickzack kann auf mehrere, sehr unterschiedliche Arten konstruiert werden.

Von welcher "Theorie" können wir in einer solchen Situation sprechen? Es gibt Elliott-Wellen, keine Frage. Aber leider gibt es keine Theorie.

Lassen Sie jemanden versuchen, mir vernünftig zu widersprechen.
 
Definieren Sie genauer.
Ich sagte erklärt, nicht vorausgesagt.
 
Definieren Sie genauer. <br / translate="no"> Ich sagte erklärt, nicht vorausgesagt.


Ja, natürlich. Das Problem ist nur, wie "genauer". Wenn diese Genauigkeit gemessen werden kann, dann gibt es etwas zu besprechen. Wenn nicht, dann bleiben wir wieder auf der Ebene der "qualitativen" Diskussionen.

Und meiner Meinung nach besteht die Herausforderung gerade darin, Vorhersagen zu treffen. Und zwar vorzugsweise mit einem bekannten Grad an Sicherheit, der a priori bestimmt werden kann. Und alles kann erklärt werden. EWT erklärt den Markt sehr gut. Nur dass diese Erklärungen den Eliten noch keine Priorität einräumen.
 
Der Indikator wurde ein wenig korrigiert.

In der Version 3 wurde der Fehler korrigiert, dass die Linien in den unteren Zeitrahmen der Währungspaare, die den japanischen Yen betreffen, nicht korrekt angezeigt wurden.
Es wurde eine zentrale, gelb markierte Linie eingeführt. Es ist das arithmetische Mittel der Rot- und Grünwerte. Was die Verwendung betrifft, so wird davon ausgegangen, dass, wenn diese Linie überschritten wird, sie zu einer bereits gewinnbringenden Position hinzugefügt werden kann, die auf rotem oder grünem Niveau eröffnet wurde. Im Laufe der Zeit kann es jedoch auch andere Auslegungen für die Verwendung geben.

//+------------------------------------------------------------------+
//|                                     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">
Es gibt Elliott-Wellen, kein Argument. Aber die Theorie ist es leider nicht.

Lassen Sie jemanden versuchen, mir vernünftig zu widersprechen.



Warum nicht? Ich kann sehen, wie Sie eine Theorie mit dem Zickzack gefunden haben. Und das alles erklärt :-)
Nur der Zickzackkurs ist ein Indikator, der die prozentuale Abweichung des Kurses in die entgegengesetzte Richtung anzeigt. Sie hätten genauso gut Kreuze und Zickzacklinien verwenden können, die dasselbe bewirken, nur nicht in Prozent, sondern in absoluten Werten.
Um Bilder zu vergleichen, muss man zumindest die Skizze erkennen, und bei einem Zickzack ist das problematisch.
Elliott hat in Lektion 12 damit begonnen, Neely in Kapitel 5-9, oder besser noch in Kapitel 6-1, und dann hat Multipoints (unwissentlich) gezeigt, wie man Wellen erkennt. Und es funktioniert. Ich habe versucht, online ein Minutendiagramm zu erstellen und immer wieder von morgens bis abends kam alles zusammen. Ich musste nur selten etwas ändern. Es gibt Zeiten, in denen der Kanal (Trendlinie) nach dem Double etwas tiefer geht und ein paar Berührungen des gestreckten Drittels einfängt.