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

 
ifitstrue:

Frage zu

Was wäre der Index des ersten M1-Balkens, wenn ich eine Trendlinie auf dem vergangenen H1 zeichnen würde?

Und durch die Anfangs- und Endzeit der Linie ist es nicht klar, wie man sie findet.

Es tut mir leid, wenn ich mich nicht klar ausgedrückt habe.

Es ist schwierig für mich.

Neben Indizes gibt es auch Zeit...

 
//---
   for(int j=0;j<OrdersTotal();j++)
     {
      if(OrderSelect(j,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderMagicNumber()!=MAGICZZ || OrderSymbol()!=Symbol()) continue;
   //--- check order type 
      if(OrderType()==OP_BUY)
        {
         //if(OrderProfit()>0.0)
           //{//Print("OrderProfitB()=",OrderProfit());
         if(iClose(NULL,PERIOD_CURRENT,1)-iOpen(NULL,PERIOD_CURRENT,1)>0.0)
           {if(iOpen(NULL,PERIOD_CURRENT,0)-iClose(NULL,PERIOD_CURRENT,0)>0.0)
              {Print("iCloseB()=",iClose(NULL,PERIOD_CURRENT,0));
               if(!OrderClose(OrderTicket(),OrderLots(),Bid,3,White))
                  Print("OrderClose error ",GetLastError());
              }  
           }
        }
      if(OrderType()==OP_SELL)
        {
         //if(OrderProfit()>0.0)
           //{//Print("OrderProfitS()=",OrderProfit());
         if(iOpen(NULL,PERIOD_CURRENT,1)-iClose(NULL,PERIOD_CURRENT,1)>0.0)
           {if(iClose(NULL,PERIOD_CURRENT,0)-iOpen(NULL,PERIOD_CURRENT,0)>0.0)
              {Print("iCloseS()=",iClose(NULL,PERIOD_CURRENT,0));
               if(!OrderClose(OrderTicket(),OrderLots(),Ask,3,White))
                  Print("OrderClose error ",GetLastError());
              }
           }
Hallo! 2021.03.01_19:49 GMT+3. Ich wollte die Ergebnisse meines Handelssystems verbessern. Aber iOpen() und iClose() scheinen nicht zu funktionieren. Im Strategietester habe ich den Expert Advisor überprüft. Von 175 Trades scheinen nur 81 durch die im obigen Code beschriebenen Bedingungen geschlossen zu werden. Dieser Code funktioniert nicht. Was können wir tun, damit es funktioniert? Wie wäre es, die Programmierer von MetaQuotes zu fragen? Jetzt werde ich mir die Logs des Strategietesters ansehen und posten, wie selten diese Funktionen funktionieren. Ich habe es gefunden. 20210228.log . Zeit 13:53:02.192, offen #155, iCloseB()=1.3434. Im Anhang finden Sie die Protokolldatei. Jetzt hoffe ich, dass mir jemand sagen kann, was ich mit diesen iClose()- und iOpen()-Funktionen tun muss, damit sie funktionieren. Weil das Handelssystem nicht effizient genug ist. Das ist alles für den Moment. 2021.03.01_20:12 GMT+3.
Dateien:
20210228.log  277 kb
 
Es passiert auf mt5, dass auf einem bestimmten Zeitrahmen ist es Zeit für eine neue Bar zu erscheinen (und die Zitate scheinen zu kommen), aber es ist immer noch nicht da. Was ist das? Besonderheiten der Preisgestaltung?
 
ifitstrue:

Frage zu

Was wäre der Index des ersten M1-Balkens, wenn ich eine Trendlinie auf dem vergangenen H1 zeichnen würde?

Und durch die Anfangs- und Endzeit der Linie ist es nicht klar, wie man sie findet.

Es tut mir leid, wenn ich mich nicht klar ausgedrückt habe.

Es ist schwierig für mich.

H1 hat eine Uhrzeit für die Öffnung des Balkens - sie ist iTime()

Um den Index eines Balkens mit dieser Zeit auf M1 zu verstehen, gibt es iBarShift()

Mit iHighest() und iLowest() müssen Sie noch den niedrigsten und den höchsten Balken bei M1 ermitteln.

 
Hallo noch mal! 2021.03.01_20:24 GMT+3. Ich habe in diesem Forumsthread auf Seite 1304 geschrieben, dass mein Tester der Version 4 langsam ist. Und Vitaly Muzichenko hat mich missverstanden. Ich schreibe die Zeit, zu der ich den Kommentar geschrieben habe. Und ich will niemanden drängen. Obwohl es keine Antworten auf meine Frage gab, fand ich die Antwort zufällig. Was mache ich jetzt mit dem Strategietester? Ich aktiviere das Kontrollkästchen "Optimieren", bevor ich den Expert Advisor teste. Ich optimiere sie. Obwohl ich im Moment keine Optimierung brauche. Ich optimiere sie in etwa einer Sekunde. Dann deaktiviere ich das Kontrollkästchen "optimieren". Ich prüfe, wie der Expert Advisor funktioniert. Dann arbeitet der Strategietester schnell. Es geht nicht um vierzig Minuten oder eine Stunde. Ich fühlte mich verpflichtet, dies zu schreiben. Vielleicht ist es ja für jemanden von Nutzen. Ich schreibe meinen Expert Advisor in der vierten Version des Terminals, weil mein Broker Rubelkonten in Version 4 des Terminals und nicht in Version 5 hat. Ich möchte mich nicht mit dem US-Dollar anlegen: Er hat eine hohe Staatsverschuldung, und mein Broker rechnet meine Dollars zu einem nicht marktgerechten Kurs in Rubel um. das ist alles für jetzt. 20:39 GMT+3.
 
Николай Никитюк:
Hallo! 2021.03.01_19:49 GMT+3. Ich wollte die Ergebnisse meines Handelssystems verbessern. Aber es scheint, dass die Funktionen iOpen() und iClose() nicht funktionieren. Im Strategietester habe ich den Expert Advisor überprüft. Von 175 Trades scheinen nur 81 durch die im obigen Code beschriebenen Bedingungen geschlossen zu werden. Dieser Code funktioniert nicht. Was können wir tun, damit es funktioniert? Wie wäre es, die Programmierer von MetaQuotes zu fragen? Jetzt werde ich mir die Logs des Strategietesters ansehen und posten, wie selten diese Funktionen funktionieren. Ich habe es gefunden. 20210228.log . Zeit 13:53:02.192, offen #155, iCloseB()=1.3434. Im Anhang finden Sie die Protokolldatei. Jetzt hoffe ich, dass mir jemand sagen kann, was ich mit diesen iClose()- und iOpen()-Funktionen tun muss, damit sie funktionieren. Weil das Handelssystem nicht effizient genug ist. Das ist alles für den Moment. 2021.03.01_20:12 GMT+3.

Der Code scheint in Ordnung zu sein, aber der Schlupf verwirrt mich... sehr klein, mehr Schlupf einfügen und prüfen

 
Alexey Viktorov:
Gütiger Himmel! Habe ich mir etwas gewünscht? Habe ich um etwas gebeten? Was glauben Sie, wer ich bin?
Mein Fehler, sorry. Falsche Person, falscher Ort. )
 
Николай Никитюк:
Hallo! 2021.03.01_19:49 GMT+3. Ich wollte die Ergebnisse meines Handelssystems verbessern. Aber es scheint, dass die Funktionen iOpen() und iClose() nicht funktionieren. Im Strategietester habe ich den Expert Advisor überprüft. Von 175 Trades scheinen nur 81 durch die im obigen Code beschriebenen Bedingungen geschlossen zu werden. Dieser Code funktioniert nicht. Was können wir tun, damit es funktioniert? Wie wäre es, die Programmierer von MetaQuotes zu fragen? Jetzt werde ich die Logs des Strategietesters durchsehen und posten, wie selten diese Funktionen funktionieren. Ich habe es gefunden. 20210228.log . Zeit 13:53:02.192, offen #155, iCloseB()=1.3434. Im Anhang finden Sie die Protokolldatei. Jetzt hoffe ich, dass mir jemand sagen kann, was ich mit diesen iClose() und iOpen() Funktionen tun muss, damit sie funktionieren. Weil das Handelssystem nicht effizient genug ist. Das ist alles für den Moment. 2021.03.01_20:12 GMT+3.

Versuchen Sie, es so zu schreiben, denn es ist dasselbe.

         if(Close[1]-Open[1]>0.0)
           {
            if(Close[0]-Open[0]>0.0)

Oder zumindest schreibe ich es so.

         if(Close[1]>Open[1])
           {
            if(Close[0]>Open[0])
              {
 
klub2003:

Hallo zusammen!

Hier ist das Problem:
Der Kurs kreuzt den MA nach unten oder oben.
Ich muss ihn mir merken, um ihn später bei der Berechnung der Anzahl der durchlaufenen Punkte verwenden zu können.

So habe ich es verstanden:

double FixPreis; // variabel

bool Fix=false; // Markierung

wenn ( Fix==false) {

if ( Close[0] > MA_lo ) FixPrice = Close[0];
} // messen, bis der Kurs den MA durchquert

if ( Close[0] < MA_lo ) Fix=true;

if ( Fix==true) FixPrice_L = FixPrice ;

Und hier ist der nächste Haken - der Preis wird nicht gespeichert!

Ich wäre Ihnenfür Ihre Hilfe sehr dankbar!
//+------------------------------------------------------------------+
//|                                                         Test.mq4 |
//|                        Copyright 2019, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//---

double     FixPrice;        // переменная ТАК БУДЕТ ЗАПОМИНАТЬСЯ. ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ
bool       Fix = false;      // маркер
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Fix == false)
     {
      if(Close[0] > MA_lo)
         FixPrice = Close[0];
     }                                                                              // делаем замер пока цена не пересечет МА
   if(Close[0] < MA_lo)
      Fix = true;
   if(Fix == true)
      FixPrice_L = FixPrice ;
//+------------------------------------------------------------------+
  }
//+------------------------------------------------------------------+

So wollen Sie es sich einprägen.

Aber bedenken Sie, dass beim Öffnen einer Kerze.

Close[0]=Open[0] 
и Close[0]=High [0] и Close[0]=Low[0]



Wenn Sie also sofortige Echtzeitdaten benötigen, sollten Sie

double Bidd=NormalizeDouble(Bid,Digits); если цена сверху или
double Askk=NormalizeDouble(Askk,Digits); если цена снизу МА

double MA_lo=NormalizeDouble(MA_lo,Digits);

Es ist besser, alle Preise zu normalisieren, die in der Bedingung verglichen werden, so dass Sie nicht überrascht sein werden :)

 
MakarFX:

Чтобы перевернуть ФИБО поменяй местами  р1 и р2

С алертом я не помогу(

MakarFX
:

Um FIBO umzukehren, tauschen Sie p1 und p2

Ich kann bei den Warnungen nicht helfen(

Hallo, danke, ich habe zwei verschiedene Lösungen, Ihre ist die einfachste....