Differenzialrechnung, Beispiele. - Seite 12

 
Aleksey Panfilov:

Ideen sind willkommen.

Da es keine Vorschläge gibt, bleiben wir auf den ausgetretenen Pfaden.

Der Basisindikator und die Version des Expert Advisors für MT 5 wurden hinzugefügt.

Optimierung im 5-Minuten-Zeitrahmen.

Die Zeichnungen liegen in einer Excel-Datei vor.

 

Wir verwenden weiterhin nur die Indikatorsignale.

Angenommen, das Hauptsignal auf der M5 und die Verfeinerung der Einfahrt auf der M1. Optimiert auf M1 durch Eröffnungspreise. In der Testmappe, ausgewählt (nicht sehr sorgfältig) Variante, sowohl durch "offene Preise" und durch "alle Zecken". Ich kann keine grundlegenden Unterschiede erkennen. Prüfung in einem Intervall, das doppelt so groß ist wie das Optimierungsintervall.


Dateien:
 
Aleksey Panfilov:

Hier ist zum Beispiel eine weitere Möglichkeit, Preiserhöhungen als neue Informationen zu nutzen. Hier wird das Inkrement explizit als Differenz gelesen.

1*Y1-1*Y2-2*Y2+3*Y3-1*Y4 =0

1*Y1-1*Y2-3*Y2+6*Y3-4*Y4 + 1*Y5 =0

1*Y1-1*Y2-4*Y2+10*Y3-10*Y4 + 5*Y5 -1*Y6=0

1*Y1-1*Y2-5*Y2+15*Y3-20*Y4 + 15*Y5 -6*Y6 + 1*Y7=0

1*Y1-1*Y2-6*Y2+21*Y3-35*Y4 + 35*Y5 -21*Y6 + 7*Y7 -1*Y8=0

...

Sie können sehen, dass die Linie (rot), die auf herkömmliche Weise durch das Polynom fünfter Potenz (basierend auf der Anzahl der verbundenen Punkte) gezeichnet wurde, ebenfalls fest im Diagramm verankert ist.


Es ist, als ob wir auf Kosten des Polynoms vierten Grades auf den ersten Differenzen (Preiserhöhungen) den Grad fünften Grades (um die Anzahl der Punkte) erhöht haben.

Ist es das, die Legalisierung?


Ich habe mir die Zahlen angeschaut und sie mit dem Bild aus VIKI "Binomialkoeffizient" verglichen, es stellt sich heraus, dass sie gleich sind:


Es handelt sich um "Koeffizienten der Potenzreihenentwicklung von (1+x)^n".

"Zeilen in einem Pascalschen Dreieck geteilt durch 2^n (die Summe aller Zahlen in der Zeile) tendieren im Grenzfall zu einer Normalverteilungsfunktion."

Als das Thema ins Leben gerufen wurde, hieß es, man sei in erster Linie an "Mathe,..." interessiert. Also schrieb ich. Die mathematischen Beziehungen des Pascal'schen Dreiecks in VIKI sind sehr detailliert beschrieben, es ist nur nicht klar, was benötigt wird.

 
Wladimir:

Ich habe mir die Zahlen angesehen und sie mit dem Bild aus VIKI "Binomialkoeffizient" verglichen, es stellt sich heraus, dass sie gleich sind:


Es handelt sich um "Koeffizienten in der Expansion von (1+x)^n in einer Potenzreihe".

"Zeilen in einem Pascalschen Dreieck geteilt durch 2^n (Summe aller Zahlen in der Zeile) tendieren im Grenzwert zu einer Normalverteilungsfunktion."

Als das Thema ins Leben gerufen wurde, hieß es, man sei in erster Linie an "Mathe,..." interessiert. Also schrieb ich. Die mathematischen Beziehungen des Pascal'schen Dreiecks in VIKI sind viel detaillierter dargelegt, nur ist nicht klar, welche davon benötigt werden.

Wenn dies eine Frage ist, dann sieht sie sehr nach einer rhetorischen Frage aus. ))

Die Beantwortung einer solchen Frage ist nicht einfach. Die Eigenschaften des Dreiecks zeigen sich in sehr unterschiedlichen "Themen".

Sie erwähnten die Statistik. Ich habe bereits versucht, mich aus kinematischer Sicht auf den neuesten Stand zu bringen (siehe die beigefügten Links).

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Differenzialrechnung, Beispiele.

Aleksey Panfilov, 2018.01.10 16:34


Ja.

Direkt verwandt mit dem Newtonschen Binomialsystem.

Sie gilt für äquidistante Punkte:

1*Y1-2*Y2+1*Y3=0- Differenzgleichung der Geraden.

1*Y1-3*Y2+3*Y3-1*Y4=0 - die Differenzgleichung der Parabel zweiten Grades.

1*Y1-4*Y2+6*Y3-4*Y4+ 1*Y5=0 - Differenzgleichung der Parabel dritten Grades.

Es gibt auch Überschneidungen mit den Themen:

https://www.mql5.com/ru/forum/61389/page48#comment_5633264

https://www.mql5.com/ru/forum/211220/page2#comment_5632736 .

Ich lege einen meiner Meinung nach interessanten Artikel in der Zeitschrift "Kvant" bei. Und dies ist nicht der einzige Artikel von N.B. Vasiliev zu diesem Thema, und natürlich erschöpft er nicht die ganze Bandbreite der Eigenschaften des Pascalschen Dreiecks. (Lassen wir die Tatsache außer Acht, dass Pascal nicht der erste war, der sich mit diesem "Modell" befasste).

P/S. Der Name des Archivs ist schief, es hieß: Nikolay Vasiliev. Journal Quant.doc.zip

 


 
Aleksey Panfilov:

Wenn das eine Frage ist, dann klingt sie sehr nach einer rhetorischen Frage. ))

Die Beantwortung einer solchen Frage ist nicht einfach. Die Eigenschaften eines Dreiecks zeigen sich in sehr unterschiedlichen "Themen".

Sie erwähnten die Statistik. Ich habe bereits versucht, mich aus kinematischer Sicht auf den neuesten Stand zu bringen (siehe die beigefügten Links).

Ich füge einen meiner Meinung nach interessanten Artikel aus der Zeitschrift "Kvant" bei. Und dies ist nicht der einzige Artikel von N.B. Vasiliev zu diesem Thema, und natürlich erschöpft er nicht die ganze Palette der Erscheinungsformen der Eigenschaften des Pascalschen Dreiecks. (Lassen wir die Tatsache außer Acht, dass Pascal nicht der erste war, der sich mit diesem "Modell" befasste).

P/S. Der Name des Archivs ist schief, es hieß: Nikolay Vasiliev. Quant journal.doc.zip

Ich danke Ihnen für Ihre ausführliche Antwort. Ich habe alle zusätzlichen Materialien gelesen. Die Frage als solche war nicht, eher eine Reaktion auf Ihren Vorschlag aus einem anderen Thread https://www.mql5.com/ru/forum/221552/page194#comment_6625488 :"Ist es möglich, sowohl die zweite als auch die n-Differenz und EMA vom ersten bis zum vierten Grad auf diese Weise zu verwenden? Es wäre interessant, ein allgemeines Schema der Prozesse in ähnlichen Beispielen zu erstellen."

Man muss nicht zur Allgemeinheit des Schemas übergehen, indem man die Anzahl der betrachteten Differenzen schrittweise um 1 erhöht, man kann direkt zu einer sehr großen Anzahl von ihnen übergehen, indem man die Eigenschaften des Pascalschen Dreiecks analysiert. Soweit ich verstanden habe, entstand in diesem Thread die Notwendigkeit, eine "Referenzverteilung" zu schätzen. Sei es für Tausende von Inkrementen, aber die "Benchmark" wird sofort in den Eigenschaften Ihrer Koeffizienten aus dem Pascalschen Dreieck als anstrebend für eine Normalverteilung postuliert. @Alexander_K2 suchte nach einer Verteilung der Inkremente, die zumindest annähernd einer Poisson-Verteilung entspricht, und die Poisson-Verteilung selbst neigt dazu, bei steigendem Index normal zu sein. Wenn man davon ausgeht, dass Ihre Koeffizienten der Ersetzung des Ausdrucks (1-x)^n durch seine analoge Differenz entsprechen, dann... Sie können auch an ein allgemeines Schema von "Prozessen in analogen Beispielen" denken.

Das wäre aber aus demselben Thread, und dessen Verfasser ist, glaube ich, nicht an Antworten auf die Fragen interessiert, die er selbst stellt. Obwohl ich persönlich auch auf das von Ihnen erwähnte allgemeine Schema gespannt wäre.

 

P/S. Nach den letzten Charts zu urteilen, müssen wir das Timing der Handelsoptimierung überprüfen.

 

Alles in allem war der "Pushback" zu den Öffnungszeiten nicht signifikant.

Neue Karte.

Das Diagramm zeigt den Abschluss von Geschäften, und bei Geschäften mit einer Dauer von 15 Minuten bis 15 Stunden (hauptsächlich) ist es wahrscheinlich möglich, die Eröffnung nach Zeit zu regulieren, aber nicht "direkt". Ich weiß nicht, wie ich das Schließen filtern kann.

Ich weiß nicht, wie ich den Abschluss filtern kann, ich weiß es noch nicht.

Dateien:
2018_02_28.zip  441 kb
 

Es wurde eine Option zur Deaktivierung der Filterebene im letzten EA hinzugefügt.

Und es wurde eine Ungenauigkeit korrigiert, die dazu führte, dass der Handel geschlossen und der entgegengesetzte Handel auf zwei verschiedenen Ticks/Balken eröffnet wurde (bei der Optimierung nach Eröffnungspunkten), anstatt auf einem.

  if(( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0)  &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0))
     {
      if(
           (
           (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            || Sell_opened
        )  
        {
         // есть ли в данный момент открытая позиция на покупку?
         if(Buy_opened)
           {
//            Alert("Уже есть позиция на покупку!!!");
            return;    // не добавлять к открытой позиции на покупку
           }        
         if(
             Sell_opened && ( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0)
              && (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            {      LotS = 2*Lot;      }        
            else   LotS = 1*Lot;

Wenn die Filterung nach Ebenen deaktiviert werden soll, muss der Grad der ersten Zeile in der Ebene gleich 0 sein. Wenn der Grad der zweiten Zeile ebenfalls auf Null gesetzt wird, wird die Berechnung vermutlich beschleunigt, da eine der Bedingungen für den zusätzlichen Indikator pro Zyklus nicht erfüllt wird.

Die Filterung der Öffnungszeit wird aufgehoben, indem ein zulässiger Zeitraum von mehr als 24 Stunden zugewiesen wird.

//=====================================================================================
input int      Start_Hour=0;
input int      Period_Hour=25;

input int     EA_Magic       = 12345;    // Magic Number slippage 
input int     EA_Slippage    = 30;       // Slippage from the current price
//=====================================================================================
//--- глобальные переменные
Dateien:
 

Und natürlich können Sie nicht einmal einen Test-EA ohne korrekt funktionierende TP und SL verlassen.

   if((line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) && relay >= 0 )
     {
        relay = -1;
     
      if(
          (
          (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
          )
           || Buy_opened  
        )
        {
         // есть ли в данный момент открытая позиция на продажу?
         if(Sell_opened )
           {
//            Alert("Уже есть позиция на продажу!!!");
            return;    // Ждем исполнения стоп приказа //не добавлять к открытой позиции на продажу
           }
         if(
             Buy_opened  && (line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) 
             &&  (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)  
           )
            {      LotS = 2*Lot;      }        
            else
                   LotS = 1*Lot;

P/S.

Lassen Sie mich erklären, TP und SL auch vor gearbeitet, aber nach dem Schließen von ihnen, das Signal zu öffnen war nur die Schicht der minimalen Zeitraum, während die mittlere und die obere Periode bedingt durch den Trend gefiltert. Bei der zweiten Option mit dem Schalter wird das Hauptsignal in der unteren und mittleren Periode und die Trendfilterung nur in der oberen Periode angenommen, was der ursprünglichen Idee näher kommt.

PP/S.

Ich habe die TP- und SL-Optimierung durchgeführt, und es sieht so aus, als ob die erste Option nützlicher war.