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

 

Bitte geben Sie an, wie das folgende Design ungefähr aussehen würde:

1) Ein neuer Tick wird generiert - eine Bedingung ist erfüllt, z.B. wird bei diesem Tick eine Musteranzeige gezeichnet und ein Alert generiert

2) Nachdem die oben genannte Bedingung erfüllt ist, muss die mehrfache Wiederholung derselben Handlung der oben genannten Handlung eingestellt werden, bis die Zeitspanne gleich ist:

TimeCurrent() <= (time[index] + PeriodSeconds(PERIOD_CURRENT))

3) Sobald der Balken in den nächsten Balken übergeht, nehmen Sie die Bedingung wieder auf, bis der nächste oben beschriebene Zeitraum erreicht ist.

Ist ein solcher Entwurf realistisch?

 
clickaider:

Bitte geben Sie an, wie das folgende Design ungefähr aussehen würde:

1) Ein neuer Tick wird erzeugt - die Bedingung ist erfüllt, z.B. wird auf diesem Tick eine Musteranzeige gezeichnet und ein Alert ausgegeben

2) Nachdem die oben genannte Bedingung erfüllt ist, müssen mehrere Wiederholungen derselben oben beschriebenen Aktion gestoppt werden, bis der Zeitraum gleich ist:

3) Sobald der Balken in den nächsten Balken übergeht, nehmen Sie die Bedingung wieder auf, bis der nächste oben beschriebene Zeitraum erreicht ist.

Ist ein solcher Entwurf realistisch?

Den größten Teil der Logik haben Sie bereits selbst geschrieben...

 
Artyom Trishkin:

Den größten Teil der Logik haben Sie bereits selbst geschrieben...

Die Logik mag richtig sein, aber die richtige Funktionalität zu finden, ist das Problem. Könnten Sie mir bitte sagen, welche Funktionen oder Beispielkonstrukte ich anwenden soll, um das Problem zu lösen, denn ich bin hier ziemlich ratlos.

 
clickaider:

Die Logik mag richtig sein, aber die richtige Funktionalität zu finden, ist das Problem. Könnten Sie mir bitte sagen, welche Funktionen oder Beispielentwürfe ich verwenden kann, um das Problem zu lösen, da ich hier ziemlich in eine Sackgasse geraten bin.

  1. Ein neuer Tick wird generiert - ist die Bedingung erfüllt, wird z.B. eine Musteranzeige auf diesem Tick gezeichnet und ein Alert generiert.
    1. Ich brauche eine Funktion, um eine Bedingung zu erhalten und das Flag dieser Bedingung zu setzen, um mit den nächsten beiden Klauseln zu arbeiten
    2. Benötige eine Funktion zum Zeichnen eines Musters
    3. Benötigt wird eine Funktion zum Senden von Benachrichtigungen (nicht unbedingt eine Funktion - es gibt Standardfunktionen für nur Benachrichtigung, nur E-Mail und nur Push)
  2. Nachdem die obige Bedingung erfüllt ist, müssen wir die Ausführung mehrerer Wiederholungen derselben Aktion der obigen Aktion bis zu einer Zeitspanne von ... stoppen.
    1. Wenn die drei Schritte aus Schritt 1 bereits erledigt sind, dann nichts tun - mit Schritt 3 fortfahren, ansonsten mit Schritt 1 fortfahren
  3. Sobald der Balken zum nächsten wechselt, wird die Bedingung bis zum nächsten oben beschriebenen Zeitraum neu gestartet
    1. Wir brauchen eine Funktion zur Definition eines neuen Balkens. Sobald ein neuer Balken definiert ist, gehen Sie zu Punkt 1, ansonsten zu Punkt 2.
 

Bitte um Hilfe.

Ich habe eine Liste von enum.

enum ENUM_Target_NAME 
  {
   arr_Buy,
   arr_Sell,
   arr_Svod,
   arr_Regr,
   arr_200,
   arr_100,
   Target_25_iD,
   Target_50_iD,
  };
input ENUM_Target_NAME Target=ENUM_Target_NAME(5);

Ich brauche die Werte, um eine Zeichenfolge zu werden, d.h. ein Text zu werden, dieser Ansatz funktioniert nicht

(string)Target

Ich erhalte einfach die Nummer eines Variablenwerts aus der Liste, und ich brauche den Text - den echten Namen aus der Liste, zum Beispiel "arr_100".

Wie kann man das tun?

 
Aleksey Vyazmikin:

Bitte um Hilfe.

Ich habe eine Liste von enum.

Ich brauche die Werte, um eine Zeichenfolge zu werden, d.h. ein Text zu werden, dieser Ansatz funktioniert nicht

Ich erhalte einfach die Nummer eines Variablenwerts aus der Liste, und ich brauche den Text - den echten Namen aus der Liste, zum Beispiel "arr_100".

Wie kann man das tun?

EnumToString()

 
Artyom Trishkin:

EnumToString()

Ich danke Ihnen!

 
Nauris Zukas:

Können Sie mir einen Link zu der Dokumentation geben, in der die Bedeutung dieser <>-Symbole erläutert wird?

Es handelt sich um eine Schablonenmethode. Der Typ des darin enthaltenen Parameters wird entsprechend dem in diesen Klammern übergebenen Typ abgeglichen. Der Typ wird statisch bei der Kompilierung des Programms bestimmt. Sie können mehr darüber in "Funktions- und Klassenvorlagen" lesen:https://www.mql5.com/ru/docs/basis/oop/templates.

Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
Документация по MQL5: Основы языка / Объектно-ориентированное программирование / Шаблоны функций
  • www.mql5.com
Перегруженные функции обычно используются для выполнения похожих операций над различными типами данных. Простой пример такой функции в MQL5 - ArraySize(), которая возвращает размер массива любого типа. На самом деле эта системная функция является перегруженной, и вся реализация такой перегрузки спрятана от разработчика программ на MQL5: То есть...
 
Nauris Zukas:

Guten Tag, ich habe .mqh für die Datenverarbeitung und Speicherung in der Ressource erstellt. Alles funktioniert, aber es gibt eine Nuance, wenn ich den Indikator zu kompilieren, ist die .mqh zurückgesetzt und neu-does das Gewicht Prozess für die Speicherung. Ziel - SolangeDaten in der Ressource vorhanden sind , wird sie nicht zurückgesetzt. Wo liegt der Fehler, wie kann er behoben werden?

Ressourcen sind für statische (permanente), unveränderliche Daten vorgesehen. Ihre Aufgabe ist es, eine Datei mit Daten herunterzuladen, die Daten im Speicher des Indikators zu ändern und die neuen Daten in der Datei zu speichern, so dass Sie nach dem Neustart und der Neukompilierung des Indikators neue Daten herunterladen. Die Ressourcen werden dabei nicht helfen.

 
Vasiliy Sokolov:

Ressourcen sind dazu bestimmt, statische (konstante), unveränderliche Daten zu speichern. Für Ihre Aufgabe müssen Sie eine Datei mit Daten laden, diese Daten im Speicher des Indikators ändern und das neue Datengewicht in der Datei speichern, so dass Sie nach dem erneuten Laden und Kompilieren des Indikators neue Daten laden können. Die Ressourcen werden dabei nicht helfen.

Ich verstehe, danke!

Grund der Beschwerde: