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

 
Ein Stromausfall kann durch unterbrechungsfreie Stromversorgungen abgefedert werden.
Der Server meines Brokers ist gestern für ein paar Stunden ausgefallen. Dagegen können Sie überhaupt nichts tun.
 
Ein Stromausfall kann durch unterbrechungsfreie Stromversorgungen abgefedert werden. <br / translate="no"> Der Server meines Brokers ist gestern für ein paar Stunden ausgefallen. Sie können nichts dagegen tun.


Ja - es gab einen halben Tag lang kein Licht, und der Internetanbieter ist in der Nähe im Büro - kein Licht oder kein Netz :).

Viel Glück und viel Erfolg mit den Trends.
 
Vladislav,
Das Verfahren des linearen Regressionskanals ist eine recht einfache Sache. Selbst die Implementierung auf mehreren T/F + alle anderen Logiken (die ich mir vorstelle) wird nicht viel Zeit in Anspruch nehmen.
Gleichzeitig haben Sie einmal geschrieben, dass der Berechnungszyklus Ihres Programms etwa 30-40 Sekunden beträgt.
Soweit ich verstehe, wird der Hauptteil dieser Zeit durch den Optimierungsprozess der Suche nach der wahren Flugbahn, d.h. dem Funktionsminimum des Preises, belegt. Ist das so? Wenn nicht, was nimmt dann so viel Zeit in Anspruch?
 
Vladislav, <br / translate="no"> Das Verfahren der linearen Regressionskanäle ist eine recht einfache Sache. Selbst die Implementierung auf mehreren t/fs + alle andere Logik (die ich mir vorstelle) wird nicht viel Zeit in Anspruch nehmen.
Gleichzeitig haben Sie einmal geschrieben, dass der Berechnungszyklus Ihres Programms etwa 30-40 Sekunden beträgt.
Soweit ich verstehe, wird der Hauptteil dieser Zeit durch den Optimierungsprozess der Suche nach der wahren Flugbahn, d.h. dem Funktionsminimum des Preises, belegt. Ist das so? Wenn das nicht der Fall ist, warum braucht man dann so viel Zeit?


Das ist genau das, was die Optimierung aufnimmt. Es gibt mehr als einen Kanal. Außerdem gibt es iterative Durchläufe und Verfeinerungen. Projektionen. Nur ist es schon ein bisschen schneller - ich habe einige Kriterien hinzugefügt, um Stichproben abzuschneiden.

Viel Glück und gute Trends.
 
Vladislav

Ich denke schon lange über eine Identifizierung der Levels nach, aber ich komme einfach nicht dazu. Ich würde meine drei Kopeken melden (nach dem Prinzip: je einfacher, desto besser). Ich habe den MarketProfil-Indikator verwendet, grüne Linien sind für die gestrigen Niveaus verantwortlich, rötliche - für die heutigen (Linien manuell gezeichnet). Der Algorithmus ist noch nicht geschrieben, aber die Idee ist aus dem Bild ersichtlich (ich weiß nicht, wann ich ihn schreiben werde).

https://c.mql5.com/mql4/forum/2006/05/levels.gif
 
Hallo zusammen!

Ein Bekannter von mir hat mich damit genervt - schauen Sie sich Her-sta an. Und schickte mir das Skript und einen Link zu dieser Seite.
Ich fand es sehr schwierig, es so zu sehen, wie es war, also habe ich in aller Eile meine Version skizziert.
Der Text steht unten. Das Diagramm wird durch Ziehen und Ablegen mit der Maus aufgesetzt und kann beliebig verschoben werden.
Ich denke, es ist bequemer, es so zu betrachten. Es kann jedoch einfacher sein, einfach einen Indikator zu erstellen.
Dank an solandr für die Vorarbeit. Ich selbst wollte einmal tiefer in die Materie einsteigen.
Ich wollte schon immer eine Fehleranalyse verschiedener Funktionen in Bezug auf die Wahrscheinlichkeit von Trendänderungen durchführen, bin aber nie dazu gekommen.
Ich selbst bin allerdings ein großer Befürworter von Extrapolationen auf der Grundlage der Fourier-Transformation oder "schneller" Amplituden-Zeit-Methoden.
Amplituden-Zeit-Methoden. Eine Linie ist eine Linie, aber eine Welle ist etwas anderes.
Und was hat die VG gemacht? Interessant. Erinnern Sie sich, dass ich Ihnen vor langer Zeit Varianten der polynomialen Regression geschickt habe?
Aber ich scheine dann einen anderen Spitznamen zu haben...
//------------------------
//#property show_inputs
//-----------------------
//extern int ip=800;
//extern int i0=570;
//-----------------------
double lr0,lrp;
int t0,tp;
double A[10],R[10],DDR[10];
double SA,is,aa,bb,sum2,SAo,disp_o;
double S,pMin,pMax,RM,Hrst; 
int T,i0,ip,f;
//**************************************************************
int init()
{
   t0=TimeOnDropped();
   i0=iBarShift(Symbol(),Period(),t0); 
   ip=i0+100;
   tp=Time[ip];
   T=ip-i0+1;
  
   ArrayResize(A, T);
   ArrayResize(R, T);
   ArrayResize(DDR, T);
  
   ObjectCreate("lrHerst",2,0,0,0,0,0);
   ObjectSet("lrHerst",OBJPROP_COLOR,Yellow);
} 
//**************************************************************
int start()
{
  while(IsStopped()==false)
  {
    if (f==1)
    {
      tp=ObjectGet("lrHerst",OBJPROP_TIME1);
      ip=iBarShift(Symbol(),Period(),tp);
      t0=ObjectGet("lrHerst",OBJPROP_TIME2);
      if (t0>Time[0]) t0=Time[0];
      i0=iBarShift(Symbol(),Period(),t0);
  
      T=ip-i0+1;
      ArrayResize(A, T);
      ArrayResize(R, T);
      ArrayResize(DDR, T);
    }
    
    for(int i=T-1; i>=0; i--) A[i]=Open[i+i0];

    SA=af_SA(A,T);
  
    //----------------------------LR----------------------------------------
    //----------aa-------------
    is=(T-1)/2.0;   //среднее значение по оси индекса
    aa=0;        
    sum2=0;
    
    for(i=T-1; i>=0; i--)
    {
       aa+=(i-is)*(A[i]-SA);
       sum2+=MathPow((i-is),2);
    }
    aa=aa/sum2;
    //-----------bb------------
    bb=SA-aa*is;
 
    for(i=T-1; i>=0; i--) DDR[i]=aa*i+bb; 

    lr0=DDR[0];
    lrp=DDR[T-1];
  
    //linregres_grafic_c(0,DDR,i0);
//----------------------------------------------------------------------

    //-----Расчёт ошибок линейной регрессии
    for(i=T-1; i>=0; i--) R[i]=A[i]-(aa*i+bb);

    SAo=af_SA(R,T);   //среднее значение ошибок линейной регрессии
    disp_o=af_disp_o(R,SAo,T);  // Дисперсия ошибок
    S=CKO(disp_o);
         
    pMin=Low[Lowest(NULL,0,MODE_LOW,T,i0)];
    pMax=High[Highest(NULL,0,MODE_HIGH,T,i0)];
    RM=pMax-pMin;
  
    Hrst = MathLog(RM/S)/MathLog(T*0.5);
    Comment("Хёрст = ",DoubleToStr(Hrst ,4),"\n","T = ",T);
    
    ObjectMove("lrHerst",0,tp,lrp); 
    ObjectMove("lrHerst",1,t0,lr0);
    f=1;
  
  }//---while
  //--------------------------------------------------
  return(0);
}
//***************************************************************
//функция для расчёта дисперсии ошибок
double af_disp_o(double data[], double centr, int T)
{
   double disp=0;
   for(int k=T-1; k>=0; k--) disp+=MathPow((data[k]-centr),2);
   if(T>1) disp=disp/(T-2);
   return(disp);
}
//***************************************************************
//функция для расчёта СКО
double CKO(double disp)
{
   double sko=MathPow(disp,0.5);
   return(sko);
}
//***************************************************************
//функция для подсчёта среднего арифметического значения по массиву
double af_SA(double data[],int T)
{
   double sum=0;
   for(int k=T-1; k>=0; k--) sum+=data[k];
   sum=sum/T;
   return(sum);
}
//***************************************************************
/*
//функция рисования канала линейной регрессии 
int linregres_grafic_c(int window_number, double data[], int i0b)
{
   int deletedArrows,k,size;
   string line_name;
   //очистка предыдущего рисунка
   deletedArrows=ObjectsDeleteAll(window_number,OBJ_TREND);
   
   //находим размер массива
   size=ArraySize(data);
   
   //рисуем центральную линию линейной регрессии
   for(k=size-1; k>=1; k--)
   {
      line_name="line_lin_reg"+k;
      ObjectCreate(line_name,OBJ_TREND,window_number,Time[k+i0b],data[k],Time[k+i0b-1],data[k-1]);
      ObjectSet(line_name,OBJPROP_COLOR,Yellow);
      ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
      ObjectSet(line_name,OBJPROP_WIDTH,2);
      ObjectSet(line_name,OBJPROP_BACK,true);
      ObjectSet(line_name,OBJPROP_RAY,false);
   }
   
   //рисуем проекцию центральной линии линейной регрессии
   line_name="line_lin_reg_proec";
   ObjectCreate(line_name,OBJ_TREND,window_number,Time[size-1+i0b],data[size-1],Time[i0b],data[0]);
   ObjectSet(line_name,OBJPROP_COLOR,Red);
   ObjectSet(line_name,OBJPROP_STYLE,DRAW_LINE);
   ObjectSet(line_name,OBJPROP_WIDTH,1);
   ObjectSet(line_name,OBJPROP_BACK,false);
   ObjectSet(line_name,OBJPROP_RAY,true);
   
   return(0);
}
*/
//***************************************************************
void deinit()
{
  ObjectDelete("lrHerst");
  Comment(" ");
}
//***************************************************************



Mit freundlichen Grüßen - Alexander.

 
Vladislav, die Analyse, die Solandr seinerzeit gemacht hat, war richtig, aber sie war von hoher Qualität.

Aber der Devisenmarkt kann keine anderen Analysen und Prognosen haben, vor allem wegen seiner Fraktalität!
Das heißt, dass die Konfidenzintervalle und die Wahrscheinlichkeiten für eine Bewegung in die eine oder andere Richtung ständig schwanken. Und jede aufeinanderfolgende Fluktuation kann die Art der Preisentwicklung verändern, und ich denke, das ist ziemlich bedeutsam. Gleichzeitig kann die Gesamtheit aller Unfälle (z.B. Nachrichten), die die aktuelle Fluktuation beeinflusst haben, zur Entwicklung des einen oder anderen Szenarios des Preisverlaufs führen. Das heißt, der Preis kann die Grenzen der Konfidenzintervalle erreichen, aber die Kursverläufe können sehr unterschiedlich sein. Wir können die Entwicklung nicht vorhersagen - wir können höchstens schauen, wo der Preis jetzt steht und was er als nächstes tun kann. Das heißt, dass einige Standardprognosen wie "hier kaufen" und "dort verkaufen" mit einem "Stopp hier" auf dem Devisenmarkt wenig Wirkung haben. Der Kurs wird die empfohlenen Niveaus nicht erreichen/überschreiten und wird mehrmals zwischen diesen Niveaus wandern, während der Händler abwarten sollte.
Nach den ersten Geschäften, die im Vladislava-System getätigt wurden, scheint es mir so zu sein, dass der Markt einfach die Wahrscheinlichkeit einer Bewegung in die eine oder andere Richtung verfolgt und die Entscheidungen über die Geschäfte von den Händlern getroffen werden. Der einzige Unterschied zwischen den Entscheidungshändlern aus dem System Vladislava ist, dass jeder Händler eine Entscheidung nach seiner eigenen Intuition trifft, die alle unterschiedlich sind (alle haben ihren eigenen Kanal, der nach Meinung des Händlers den Preis bewegt ;o)). Das Vladislava-System basiert auf dem zentralen Grenzwertsatz der Mathematik, der bei der Anwendung auf den Forex-Markt wie folgt behandelt werden kann. Betrachtet man den Handel eines einzelnen Händlers, der nach seiner eigenen Intuition handelt, so wird die Verteilung des Marktpreises, die sich aus der gemeinsamen Aktion aller Händler, die nach ihren eigenen Strategien handeln, ergibt, nach dem zentralen Grenzwertsatz zur Normalverteilung tendieren. Um dies auf den Markt anzuwenden, müssen wir zunächst nur die von den Händlern genutzten Kanäle ermitteln und schätzen, welche Kanäle von der Mehrheit der Händler genutzt werden bzw. welche Kanäle nach der integralen Schätzung über die gesamte Stichprobe der Händler optimal sind;o). Mit diesen ausgewählten Kanälen können wir dann die Wahrscheinlichkeit der Preislage in verschiedenen Entfernungen vom Kanalzentrum berechnen, auf deren Grundlage wir Annahmen über die Wahrscheinlichkeit der Preisbewegung zur einen oder anderen Seite treffen können. Natürlich ändern sich die Kanäle ständig, vor allem im Intraday-Handel, und die Kurse gehen hin und her. Und was vor 3 Stunden noch richtig war, kann JETZT wenig oder gar nichts mehr zu tun haben, um einen Gewinn zu erzielen. Interessierte können sich also bestenfalls an der Arbeit von Vladislavas Expert Advisor orientieren, um sich einen Überblick über die aktuelle Situation zu verschaffen. Nun, und die Vorhersage in der Standardform natürlich unmöglich - bestenfalls eine Art qualitative Argumentation. Und die eigentliche Entscheidung wird dann getroffen, wenn die Situation es erfordert. Gleichzeitig lassen sich Pegel und Zeiten nur in sehr weiten Bereichen im Voraus vorhersagen.

PS: Übrigens, schauen Sie sich die Frage an, wie Händler handeln. So viele handeln auf einem schnellen Markt. Deshalb muss man sich sehr beeilen, um etwas zu ergattern. Deshalb ist auch dieses Forum voll von Threads, die von den MT4-Entwicklern etwas bequemer drückende Tasten beim Öffnen/Schließen von Aufträgen in einem schnellen Markt fordern, oder schnell öffnende/schließende Aufträge durch einen EA, wenn die ganze Menge das Gleiche tut und alle handelstechnischen Ressourcen verstopft (nur normalerweise tut die Menge das Gleiche, wenn die Hälfte davon schon vorbei ist und es fast keine Möglichkeiten für Marktbewegungen in die eine oder andere Richtung gibt) :o))) Das heißt, die stärkste Bewegung findet statt, wenn die Mittellinie des Kanals überschritten wird (die Mitte der Wahrscheinlichkeitsverteilung des Preises - die ganze Menge ist aufgesprungen und hat mitgespielt).
 
Aber es kann keine anderen Analysen und Prognosen für den Forex-Markt geben, vor allem wegen seiner Fraktalität!

solandr,
Ich wollte Sie in keiner Weise beleidigen. Ich meine nur, dass Vladislav zu Beginn der Diskussion über seine Strategie betonte, dass sie sich von den meisten anderen unterscheidet. Und zwar genau deshalb, weil sie eine nicht zufällige Vorhersage aufgrund quantitativer Schätzungen der Wahrscheinlichkeiten verschiedener Preisbewegungen ermöglicht.
 
Vladislav,
Ich habe den Eindruck, dass in dieser Diskussion das Konzept der Fraktalität missverstanden wird.
Soweit ich verstanden habe, ist Fraktalität eine Selbstähnlichkeit von Zufallsstrukturen. Sie kann uns nicht daran hindern, quantitative Schätzungen vorzunehmen. Und dass diese Einschätzungen probabilistischen Charakter haben, ergibt sich nicht aus der Fraktalität, sondern aus dem zufälligen Charakter des Phänomens, mit dem wir uns beschäftigen.
Ich würde gerne Ihre Meinung zu diesem Thema hören. Vor allem, welchen praktischen Sinn Sie in diese Aussage legen:
Sobald Sie eine Basisstichprobe erstellt haben (halbstündlich=>täglich), können Sie diese bis zum richtigen Detaillierungsgrad verfeinern (haben Sie vergessen, dass hier ein fraktaler Ansatz verwendet wird?).

Und noch eine Frage, die sich auf Ihre letzte Antwort bezieht:
Das ist genau das, was die Optimierung aufnimmt. Dort gibt es mehr als einen Kanal.

Eines Ihrer Axiome ist die Existenz einer wahren (d.h. einer einzigen) Flugbahn, die als Ergebnis des Optimierungsprozesses ermittelt wird. Wie kann ein einziger Weg zu mehreren Kanälen führen?
 
Rosh,
Soweit ich weiß, gibt MarketProfil den Frequenzgang des Bereichs an. Das heißt, wie oft in einem bestimmten Zeitraum der Preis einen bestimmten Wert erreicht hat. Habe ich es richtig verstanden?
Wenn ja, dann verstehe ich die Anordnung der roten Linien. Aber warum gibt es so viele grüne?
Ich hatte die Idee, die Identifizierung der Ebenen auf dieser Grundlage vorzunehmen. Allerdings habe ich noch nie mit dem MarketProfil-Indikator gearbeitet. Es ist gut zu wissen, dass es ein Fahrrad ist. :-) Zumindest habe ich dadurch eine Menge Zeit gespart.