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

 

Karputov Vladimir:
Пожалуйста, всегда уточняйте для какой версии MQL4 или MQL5 Ваш вопрос. 

MQL5

 

Meine Herren Programmierer!

Wie kann ich in MQL5 Balken für verschiedene Währungspaare zeitlich synchronisieren?

Früher hieß es "iBarShift", aber wie wurde es ersetzt?

 
new-rena:

Meine Herren Programmierer!

Wie kann ich in MQL5 Balken für verschiedene Währungspaare zeitlich synchronisieren?

Früher hieß es "iBarShift", aber wie wurde es ersetzt?

CopyTime()

 
pako:

Danke, ich habe es gefunden. ich habe das, was ich wollte, in ein paar Minuten gemacht. toller Artikel. Hut ab vor dem Entwickler!

https://www.mql5.com/ru/articles/81

//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ iBarShif t
//+------------------------------------------------------------------+   
int iBarShift(string symbol,int tf,datetime time)
   {
      if(time<0) return(-1);
      ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
      datetime Arr[],time1;
      CopyTime(symbol,timeframe,0,1,Arr);
      time1=Arr[0];
      if(CopyTime(symbol,timeframe,time,time1,Arr)>0)
        {
         if(ArraySize(Arr)>2) return(ArraySize(Arr)-1);
         if(time<time1) return(1);
         else return(0);
        }
      else return(-1);
   }
Переход с MQL4 на MQL5
Переход с MQL4 на MQL5
  • 2010.05.11
  • Sergey Pavlov
  • www.mql5.com
Данная статья, построенная в форме справочника по функциям MQL4, призвана помочь переходу с MQL4 на MQL5. Для каждой функции языка MQL4 приведено описание и представлен способ ее реализации на MQL5, что позволит вам значительно ускорить перевод своих программ с MQL4 на MQL5. Для удобства функции разбиты на группы, как в документации по MQL4.
 

Hallo!

Können Sie bitte beraten, wie man Informationen über offene und geschlossene Trades in MQL5 Expert Advisor Code (welcher Preis geöffnet wurde, was waren die TP und SL) zu erhalten?

Und gibt es eine integrierte Funktion oder Bibliothek, die ein Array mit n letzten Wertendes gleitenden Durchschnitts(vorzugsweise gewichtet oder exponentiell) zurückgibt?

 
Сергей Михеев:

Ich danke Ihnen!

Und bitte raten Sie, ob es in MQ4 ein Konstrukt wie ein assoziatives Array mit Textschlüsseln gibt, zum Beispiel: Array["Hier ist der Schlüssel!"]?

Ja, die gibt es. Lesen Sie den Artikel zu diesem Thema:"MQL5 Recipes - Implementieren eines assoziativen Arrays oder Wörterbuchs für den schnellen Zugriff auf Daten".

Karputow Wladimir:
Der Zugriff auf die Elemente eines Arrays erfolgt über einen Index. Der Index ist eine Ganzzahl vom Typ int.

Ich empfehle Ihnen, den Artikel ebenfalls zu lesen.

 
Сергей Михеев:

Guten Tag an alle!

Ich muss aus dem Eingabefeld im EA-Fenster den vom Benutzer aus der Dropdown-Liste ausgewählten Zeitrahmen abrufen. (Wie füge ich es in die Funktion ein, ich kämpfe schon zwei Tage hintereinander damit? Bitte geben Sie mir einen Rat)!

Code:

Eingabe enum timeFrame {
Stunde_1 = 60,
Stunde_4 = 240,
Tag_1 = 1440,
Woche_1 = 10080

};

iADX(currencySelect, DIES IST WIE AUSGEWÄHLTE DATEN INSTALLIEREN!, ADXparam, PRICE_CLOSE, MODE_MINUSDI,2)

Ich danke Ihnen!

Erfinden Sie das Rad nicht neu. Machen Sie die Aufzählung ENUM_TIMEFRAMES zu einem Eingabeparameter.

Karputow Wladimir:

Code korrekt in das Forum einfügen

Hier ist ein Beispiel für ein Skript, das Ihre Aufzählung verwendet:

Warum raten Sie zu einem falschen Ansatz? Sie wissen sehr wohl, dass es unsinnig ist, eine eigene Aufzählung von Zeiträumen zu erfinden.

 
Leute!!! Ich verstehe die Sprache nicht, in der die Experten und Skripte in MT4 heutzutage geschrieben werden. Wenn ich angefangen habe, alle Funktionen in meinem Code durch MQL5-Funktionen zu ersetzen, hat MetaEditor vom MT4-Terminal nicht alle Funktionen als Funktionen erkannt! Zum Beispiel diese Funktion

ulong a =OrderGetTicket( 1); // Nummer in der Bestellliste

MetaEditor betrachtet dieseFunktion nicht als eine Funktion. Und der Parameter(ORDER_POSITION_ID) in der Funktion ---> positionID = OrderGetInteger(ORDER_POSITION_ID); er wird überhaupt nicht als Parameter betrachtet...


 
Hallo, können Sie mir sagen, warum meine Debugging-Schaltflächen sind nicht aktiv in metaeditore????source eingefügt wird
 
Kira27:
Leute!!! Ich verstehe die Sprache nicht, in der die Experten und Skripte in MT4 heutzutage geschrieben werden. Wenn ich angefangen habe, alle Funktionen in meinem Code durch MQL5-Funktionen zu ersetzen, hat MetaEditor vom MT4-Terminal nicht alle Funktionen als Funktionen erkannt! Zum Beispiel diese Funktion

ulong a =OrderGetTicket( 1); // Nummer in der Bestellliste

MetaEditor betrachtet dieseFunktion nicht als eine Funktion. Und der Parameter(ORDER_POSITION_ID) in der Funktion ---> positionID = OrderGetInteger(ORDER_POSITION_ID); er wird überhaupt nicht als Parameter betrachtet...


Höchstwahrscheinlich sind die oben genannten Funktionen benutzerdefiniert und MU braucht sie nicht zu kennen. Sie müssen sie selbst anmelden und korrekt benennen.
Grund der Beschwerde: