Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 575
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Hier ist meine Variante, das Problem der Wiederholungssuche zu lösen:
Damit das Skript funktioniert, muss die Dictionary-Datei in MQL5\Include kopiert werden
Die Suche wird in der gelb markierten for-Schleife in einem Durchgang durchgeführt. Die resultierende Liste enthält keine Wiederholungen (wenn A B wiederholt und B A wiederholt, wird eine Menge {A, B} anstelle von zwei {A, B} und {B, A} ausgegeben). ).
Die Ausgabe dieses Skripts zeigt Folgendes:
Aus der Referenz:
Hier ist meine Version der Lösung für das Problem der Wiederholungssuche:
Bitte helfen Sie mir, eine Funktion zur Berechnung des Standard-RSI zu finden, die Anforderungen sind einfach:
1. Rückgabe des RSI-Wertes für einen bestimmten Balken
2. Berechnen Sie den Index nur für die Balken (falls erforderlich), die angefordert werden (wünschenswert)
3. Mit der angegebenen TF rechnen können
4. Arbeitet auf Kosten von Punkt 2 schneller als der Indikator
Ich möchte die Funktion in den Expert Advisor integrieren, wenn jemand eine fertige Funktion hat, bitte teilen Sie sie mit mir.
Ich frage, weil der Indikator sehr häufig vorkommt und kein Geheimnis ist.
Bitte helfen Sie mir, eine Funktion zur Berechnung des Standard-RSI zu finden, die Anforderungen sind einfach:
1. Rückgabe des RSI-Wertes für einen bestimmten Balken
2. Berechnen Sie den Index nur für die Balken (falls erforderlich), die angefordert werden (erwünscht)
3. Mit der angegebenen TF rechnen können
4. Arbeitet auf Kosten von Punkt 2 schneller als der Indikator
Ich möchte die Funktion in den Expert Advisor integrieren, wenn jemand eine fertige Funktion hat, bitte teilen Sie sie mit mir.
Ich frage, weil der Indikator sehr häufig vorkommt und kein Geheimnis ist.
Was ist mit dem Standard-iRSI nicht in Ordnung? Nicht geheim genug?
Es gibt einige Änderungen, die ich an der Funktion vornehmen muss...
Nehmen Sie dann ein vorgefertigtes Modell und ändern Sie es nach Ihren Wünschen:
Nehmen Sie dann ein vorgefertigtes Modell und ändern Sie es nach Ihren Wünschen:
Hier ist meine Variante, das Problem der Suche nach Wiederholungen zu lösen:
Vasily, wenn ich#include <Dictionary.mqh> öffne, öffnet es sich genauso wie im EA-Körper. Sollte es so sein, oder sollte da ein anderer Code drin sein?
Denn in dem Code, den ich sehe, ist nicht klar, wie er nach Wiederholungen sucht ((
Liege ich richtig in der Annahme, dass es sich um einen Tippfehler handelt? Es sollte 0 statt 1 sein.
wie diese:int searchPeriod=(Search_Period<1)?0:Search_Period;
und weiter in dem ausführbaren Skript:
int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // die Anzahl der zu kopierenden Kerzen
In diesem Fall sollten wir wahrscheinlich bereits eine Variable verwenden: searchPeriod. richtig?
------
Eine andere Frage: Was bewirkt diese Linie? Ich habe festgestellt, dass jedes Element der Struktur auf Null zurückgesetzt wird. Und ich verstehe nicht, was wir hier nullen, wenn wir diese Daten scheinbar nur geschrieben haben und sie weiter verwenden sollen.
ZeroMemory(dataCandle); // Nullstellung der Daten in der Struktur
Liege ich richtig in der Annahme, dass es sich um einen Tippfehler handelt? Es sollte 0 statt 1 sein.
wie diese:int searchPeriod=(Search_Period<1)?0:Search_Period;
und weiter in dem ausführbaren Skript:
int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // die Anzahl der zu kopierenden Kerzen
In diesem Fall sollten wir wahrscheinlich bereits eine Variable verwenden: searchPeriod. richtig?
------
Eine andere Frage: Was bewirkt diese Linie? Ich habe festgestellt, dass jedes Element der Struktur auf Null zurückgesetzt wird. Und ich verstehe nicht, was wir hier nullen, wenn wir diese Daten scheinbar nur geschrieben haben und sie weiter verwenden sollen.
ZeroMemory(dataCandle); // Löschung der Daten in der Struktur
"so:int searchPeriod=(Search_Period<1)?0:Search_Period;"
Nein, das ist es nicht. So haben Sie es (wörtlich): Wenn der vom Benutzer in den Einstellungen festgelegte Suchzeitraum kleiner als eins ist, ist searchPeriod gleich null; andernfalls ist searchPeriod gleich dem vom Benutzer in den Einstellungen festgelegten Wert von Search_Period. Dies ist nicht korrekt. Wir brauchen keinen Suchbereich, der gleich Null ist. Wenn dieser Bereich also vom Benutzer auf 0 oder weniger als Null (weniger als eins) gesetzt wird, dann setzen wir diesen Bereich gleich dem Minimum - eins.
"int copy_bars=(int)fmin(Search_Period,Bars(Symbol(),Period())); // Anzahl der zu kopierenden Candlesticks
Hier sollten wir bereits die Variable: searchPeriod. verwenden, richtig? "
Ja, das stimmt, es ist ein Tippfehler.
"Noch eine Frage: Wozu dient diese Linie? Wozu ist sie da? Ich habe festgestellt, dass es jedes Element der Struktur auf Null zurücksetzt. Und hier verstehe ich nicht, warum und was wir nullen, wenn wir gerade diese Daten geschrieben haben und sie weiter verwenden sollen. ZeroMemory(dataCandle); // Nullung der Daten in der Struktur".
Dies geschieht, bevor wir die Struktur mit Daten füllen. Zuerst setzen wir ihn auf Null, dann füllen wir ihn. Schauen Sie - wir setzen sie vor der Schleife auf Null. Und dann füllen wir in der Schleife die Struktur mit Daten.