Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 424

 
Hallo zusammen! Können Sie mir bitte sagen, wie ich den letzten abgeschlossenen Auftrag in der mql4-Historie auswählen kann? Ich verwende OrderSelect(0,SELECT_BY_POS,MODE_HISTORY), das den ersten geschlossenen Auftrag auswählt.
 
Sergei Maksimenko:
Hallo zusammen! Können Sie mir bitte sagen, wie ich den letzten abgeschlossenen Auftrag in der mql4-Historie auswählen kann? Ich verwende OrderSelect(0,SELECT_BY_POS,MODE_HISTORY); es wählt den ersten geschlossenen Auftrag aus, aber wie kann ich den letzten auswählen?
Anstelle von 0 sollten Sie OrdersHistoryTotal()-1 verwenden.
 
new-rena:

Es ist einfacher, die Barrenänderungen anhand der Barrenzeitänderungen zu verfolgen als anhand der Barrenpreise. Am Ende des Algorithmus wird die aktuelle Taktzeit gespeichert und am Anfang mit der aktuellen Zeit verglichen.

Für den M5-Balken zum Beispiel wird die aktuelle Zeit nur zu Beginn des Balkens und alle 5 Minuten geändert....

Das Testen solcher Programme erfolgt "durch das Öffnen von Preisen", was den Prozess des Debuggens und der Optimierung des Codes erheblich beschleunigt.

Ich muss also herausfinden, welche TF es jetzt ist, und aufrunden, wenn nicht in genau 5 Minuten ein Balken erscheint... In meinem Fall ist der Code sehr einfach und nicht schwerfällig. Natürlich darf sich der Eröffnungskurs nicht ändern, aber Sie können dies anhand der Summe der beiden vorherigen Balken überprüfen. Im Allgemeinen, wenn Sie nicht über die Vorteile Ihrer Lösung geschrieben hätten, hätte ich es besser verstanden, wenn ich den Code beigefügt hätte - ich bin kein Programmierer...
 
-Aleks-:
Ich muss also herausfinden, welche TF es jetzt ist, die Rundung vornehmen, wenn der Balken nicht in genau 5 Minuten erscheint... In meinem Fall ist der Code sehr einfach und nicht umständlich. Natürlich darf sich der Eröffnungskurs nicht ändern, aber Sie können dies anhand der Summe der letzten beiden Balken überprüfen. Im Allgemeinen, wenn Sie nicht über die Vorteile Ihrer Lösung geschrieben hätten, hätte ich es besser verstanden, wenn ich den Code beigefügt hätte - ich bin kein Programmierer...
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
  • www.mql5.com
Навигатор по форуму и ответы на часто задаваемые вопросы. Настоятельно Рекомендуется к Прочтению! - MQL4 форум
 
Artyom Trishkin:

Danke - einfacher, als ich es mir nach dem Lesen des Kommentars vorgestellt habe.

 

Guten Tag!

Wer kann mir sagen, wie ich ein Dropdown-Menü in den Experteneinstellungen erstellen kann?

Wie die auf dem Bild. Danke.


 
Sergei Konoplev:

Guten Tag!

Wer kann mir sagen, wie ich ein Dropdown-Menü in den Experteneinstellungen erstellen kann?

Wie die auf dem Bild. Danke.


Ich muss meinen Eintrag in den Code aufnehmen.
 
-Aleks-:
Ich muss also herausfinden, welche TF es jetzt ist, und aufrunden, wenn der Balken nicht in genau 5 Minuten erscheint... In meinem Fall ist der Code sehr einfach und nicht umständlich. Natürlich darf sich der Eröffnungskurs nicht ändern, aber Sie können dies anhand der Summe der letzten beiden Balken überprüfen. Im Allgemeinen, wenn Sie nicht über die Vorteile Ihrer Lösung geschrieben hätten, hätte ich es besser verstanden, wenn ich den Code beigefügt hätte - ich bin kein Programmierer...
//код в фигурных скобках выполнится только один раз, на открытии каждого нового бара М5

datetime prevTime;

if(prevTime!=iTime(Symbol(),PERIOD_M5,0))
   {
     ...
   }
prevTime=iTime(Symbol(),PERIOD_M5,0);
 

Wo liegt der Fehler?

void CheckValidStop4(string symbol,double price, double &sl) //функция на проверку близких стопов от цены и его исправление
{
    if(sl==0)
    return;
    
    double severs_min_stop = MarketInfo(symbol,MODE_STOPLEVEL)* MarketInfo(symbol,MODE_POINT);
    if(MathAbs(price - sl)<= severs_min_stop)
    {
        if(price>sl)
             sl = price - severs_min_stop;
       else  sl = sl + severs_min_stop;
       
        
    }
    sl = NormalizeDouble(sl,(int)MarketInfo(symbol,MODE_DIGITS));
}
 
Leanid Aladzyeu:

Wo liegt der Fehler?

Fehlercode?
Grund der Beschwerde: