Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 581

 
Ihor Herasko:

Wenn Sie eine M30-Kerze nehmen wollen, die zusammen mit der letzten geschlossenen H1-Kerze geschlossen hat, kann es sich um eine Kerze handeln, deren Index nicht nur 1, sondern auch 2 ist. Außerdem ist dann nicht klar, warum der Schlusskurs von M30 genommen wird, wenn es derselbe Schlusskurs für die vorherige H1-Kerze ist. Das heißt, dass es in diesem Fall keinen Sinn macht, den Schlusskurs eines anderen TF zu erfragen, da dieser mit dem Schlusskurs des aktuellen TF identisch ist.

Was wir genau wissen müssen, ist der Schlusskurs von M30 innerhalb von H1

Ich habe den Grund dafür gefunden: die Kontrolle der Baröffnung. Ich danke Ihnen.

 

Wie vergleicht man im Indikator in der Schleife den Preis High[i+1] +/-10*Point mit niedrigeren Fraktalen?

wenn gleich gefunden, Pfeil setzen Buf_o[i+1]= High[i+1] ;.

 

Hallo!

Ich möchte eine einfache binäre Strategie Code zu schreiben, um es mit MetaTrader 4 Tester zu testen. Ich weiß, dass der eingebaute Tester binäre Strategien nicht vollständig testet, aber ich muss einfach wissen, wie hoch der Anteil der gewinnbringenden Geschäfte während des Testzeitraums ist. Ich kann die Verfallszeit eines Geschäfts nicht einstellen. Ich verwende den Operator OrderSend:

OrderSend(Symbol(),OP_BUY,1,Ask,10,0,0, "5",15167,Expiration,clrGreen);

Beim automatisierten Handel funktioniert alles gut, aber in den Bedingungen des Brokers ist die Verfallszeit im Kommentar zur Position angegeben. In diesem Fall lautet mein Kommentar "5". Es sind fünf Minuten. Der Prüfer betrachtet die Bemerkung jedoch nicht als Hinweis auf den Ablauf der Frist. Das Prüfgerät reagiert überhaupt nicht auf unterschiedliche Werte des Parameters Verfall. Er eröffnet zunächst Trades nach den Signalen der Strategie und schließt dann alle offenen Trades innerhalb des Testzeitraums zum Zeitpunkt des Ablaufs des Testzeitraums. Infolgedessen ist das Ergebnis der Prüfung absolut falsch.

Wie kann man eine verständliche Verfallszeit für den Prüfer festlegen? Ich bin noch dabei, die "alte" Version des Codes zu beherrschen.

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
kirson-7:

Wie lege ich eine Ablauffrist fest, die der Prüfer verstehen kann?

Schließen Sie die Position, wenn die aktuelle Zeit = Eröffnungszeit plus 5 Minuten oder bei der Eröffnung eines neuen Balkens, wenn der Zeitrahmen M5 ist.
 

Wie kann ich erreichen, dassHigh[i+1] +/-10*Point nicht genau dem Preis des Fraktals entspricht?

 {
//---
   if(rates_total<2) return(0);

   int limit=rates_total-prev_calculated;
   if(limit>1)
     {
      limit=rates_total-2;
      ArrayInitialize(BufferUP,EMPTY_VALUE);
      ArrayInitialize(BufferDN,EMPTY_VALUE);
     }
   for(int i=limit; i>=0; i--)
     {
      // BufferUP[i+1]=EMPTY_VALUE;
      
      //
      for(int y=i+2;y<=i+100;y++)
        {
         if(low[i+1]==iFractals(Symbol(),0,MODE_HIGH,y))estb=true;
        }
      if(estb)
        {
         BufferUP[i+1]=low[i+1]-distance*Point;//НЕПРАВИЛЬНО СТАВИТ СТРЕЛКУ
        }
      estb=0;
      //==//
      for(int y=i+2;y<=i+100;y++)
        {
         if(high[i+1]==iFractals(Symbol(),0,MODE_LOWER,y))ests=true;
        }
      if(ests)
        {
         BufferDN[i+1]=high[i+1]+distance*Point;//ПРАВИЛЬНО СТАВИТ СТРЕЛКУ
        }
      ests=0;

      //Comment("");
     }
   return(rates_total);
  }
 
bij:

Wie kann ich erreichen, dassHigh[i+1] +/-10*Point nicht genau dem Preis des Fraktals entspricht?

Die Differenz der Werte ist größer als 10*Punkt, aber wir müssen berücksichtigen, ob die Differenz positiv oder negativ sein wird.
 
bij:
Schließen Sie die Position, wenn die aktuelle Zeit = Positionseröffnungszeit plus 5 Minuten ist oder bei der Eröffnung eines neuen Balkens, wenn der Zeitrahmen M5 ist.
Und warum kann die Standard-Verfallszeit in der Parameterliste des OrderSend-Operators nicht funktionieren? In meinem Beispiel ist es als Verfall gekennzeichnet.
 
kirson-7:
Warum funktioniert die Standard-Verfallszeit in der Parameterliste des OrderSend-Operators nicht? In meinem Beispiel ist es als Verfall gekennzeichnet.
Dies gilt für schwebende Aufträge
 
Bitte helfen Sie mir, eine Funktion zu schreiben: Schließen Sie Aufträge von einem größeren Los zu einem kleineren (string Symbol, int type, bool hand orders, int Magic)
D.h. Symbolauswahl, Typ, ob Handaufträge berücksichtigt werden, magische Zahl.


 
Hallo an alle: Kann ich in einer benutzerdefinierten Funktion die Eröffnung einer Position(z.B. Kauf auf dem Markt) vorschreiben und diese Funktion aufrufen, wenn es verschiedene Kaufsignale gibt? D.h. MACD - wurde an diese Funktion adressiert - Position eröffnet, _Muwings Signal - wurde an diese Funktion adressiert - wieder kaufen.... usw. Oder man muss in jedem spezifischen Fall bei der Ausarbeitung des Signals OrderSand(Symbol,OP_BAI, etc.) schreiben;
Grund der Beschwerde: