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
Dann machen Sie einen Vorschlag im Profil-Thread (es gibt allerdings keinen Fehler).
Nun... Ich glaube, das ist ein Fehler. Nach meinem Verständnis kann ich im Kalender das Ende des Zeitraums als heutiges Datum auswählen,
dann wird erwartet, dass der Tester und der Optimierer bis zur aktuellen Zeit arbeiten, aber das passiert nicht ((
die entwickler sind sich dessen bewusst und es liegt in ihrer Macht, eine gute Plattform zu schaffen. wenn nicht, dann nicht.
Ich habe diesen Artikel "A Step-by-Step Guide to Writing MQL5 Expert Advisors for Beginners" https://www.mql5.com/ru/articles/100 gelesen und darin die folgenden Zeilen gefunden:
Bei 3- und 5-stelligen Kursen multiplizieren wir die Werte für Stop Loss und Take Profit mit 10.
Das im Terminal enthaltene MACD-Beispiel enthält die gleichen Informationen:
//--- Abstimmung für 3 oder 5 Ziffern
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10;
m_angepasster_Punkt=m_Symbol.Punkt()*Ziffern_angepasst;
Was ist diese Aktion? Warum werden Variablen mit 10 mit 3 und 5 Dezimalstellen multipliziert?
Ich habe diesen Artikel "A Step-by-Step Guide to Writing MQL5 Expert Advisors for Beginners" https://www.mql5.com/ru/articles/100 gelesen und darin die folgenden Zeilen gefunden:
Bei 3- und 5-stelligen Kursen multiplizieren wir die Werte für Stop Loss und Take Profit mit 10.
Das im Terminal enthaltene MACD-Beispiel enthält die gleichen Informationen:
//--- Abstimmung für 3 oder 5 Ziffern
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10;
m_angepasster_Punkt=m_Symbol.Punkt()*Ziffern_angepasst;
Was ist diese Aktion? Warum werden Variablen mit 10 mit 3 und 5 Dezimalstellen multipliziert?
Es ist für die Freunde, die daran gewöhnt sind, alles in vier Ziffern zu zählen, und die ihre Meinung nicht ändern wollen.
Wenn wir also einen Stop-Loss von 100 Punkten in den Parametern festlegen, erhalten wir bei fünfstelligen Berechnungen 1000 Punkte und bei vierstelligen Berechnungen 100 Punkte, was dasselbe ist.
Die vierstellige Zahl hat Vorteile, die Leichtigkeit der Neuberechnung des Gewinns, 1 pip 1% der investierten Mittel.
Ich habe diesen Artikel "A Step-by-Step Guide to Writing MQL5 Expert Advisors for Beginners" https://www.mql5.com/ru/articles/100 gelesen und darin die folgenden Zeilen gefunden:
Bei 3- und 5-stelligen Kursen multiplizieren wir die Werte für Stop Loss und Take Profit mit 10.
Das im Terminal enthaltene MACD-Beispiel enthält die gleichen Informationen:
//--- Abstimmung für 3 oder 5 Ziffern
int digits_adjust=1;
if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10;
m_angepasster_Punkt=m_Symbol.Punkt()*Ziffern_angepasst;
Was ist das für eine Aktion? Warum sollte man eine Variable mit 10 mit 3 und 5 Dezimalstellen multiplizieren?
Für eine bessere Kompatibilität mit verschiedenen Brokern (die 4- oder 5-stellige Kurse anbieten), d.h. ohne die Notwendigkeit, die Parameter des Expert Advisors zu ändern.
Dieser Algorithmus basiert auf der Tatsache, dass bei Brokern, die 4-stellige Kurse anbieten, _Digits4 oder 2 sein können (normalerweise bei Paaren mit JPY),
und in den 5-Stellern 5 und 3 entsprechend.
Allerdings bin ich selbst an der Sicherheit dieser Methode interessiert, da es Tools mit unterschiedlichenWerten von _Digitsgibt.
Ich persönlich prüfe mit "EURUSD". Aber zumindest gibt es Broker im MT4, bei denen der Eurodollar einen etwas anderen Namen hat, zum BeispielEURUSD_fx
oder so ähnlich.
пункты 1 и 2 уходят, если фиксировать правое время на момент начала теста/оптимизации.
никто не просит актуальность до секунды... но один торговый день - это, извините, ни в какие ворота.
Urain:
Dann müssen Sie nicht nur das Jahr, den Monat und das Datum eingeben, sondern auch die Stunde und die Minuten des Endes.
Nicht unbedingt, die Zeit kann rein programmatisch festgelegt werden, wenn die Prüfung/Optimierung läuft.
Ehrlich gesagt, finde ich den Vorschlag recht vernünftig. Ich bin sehr dafür.
Im Moment ist das für mich irrelevant, aber vielleicht ist es bald sehr wünschenswert.
Dies ist für diejenigen, die es gewohnt sind, alles in vierstelligen Punkten zu zählen, und die nicht umbauen wollen.
Wenn wir also in den Parametern einen Stoploss von 100 Punkten einstellen, erhalten wir eine Neuberechnung von 1000 Punkten im fünfstelligen Bereich und 100 Punkten im vierstelligen Bereich, was dasselbe ist.
Die vierstellige Zahl hat Vorteile, die Leichtigkeit der Neuberechnung des Gewinns, 1 pip 1% der investierten Mittel.
Ich sehe, lassen Sie uns fortfahren) Eine weitere Frage - der gleiche Artikel verwendet NormalizeDouble Funktion bei der Bildung von Stop Loss und Take Profit aus welchem Grund? Es scheint bedeutungslos zu sein.
Ich verstehe, lassen Sie uns fortfahren) Eine solche Frage - in demselben Artikel wird die Funktion NormalizeDouble bei der Bildung von Stop Loss und Take Profit aus welchem Grund verwendet? Es scheint bedeutungslos zu sein.
Es ist nicht sinnlos, bei der Berechnung des Niveaus werden Operationen mit Doubles durchgeführt, und das Ergebnis wird nicht normalisiert, wenn Sie es so an den Server weitergeben, erhalten Sie Requotes. Aus diesem Grund wird das Ergebnis der Berechnung normalisiert.
Stoploss sagen wir 100, Punkt 0,00001. Was könnte bei der Multiplikation der beiden entstehen? Werden die 9er irgendwo auftauchen? Zum Beispiel 0,0009999?
Eine normale Zahl sollte 1,45893 lauten, aber wir erhalten 1,4589300000000002
Wir haben geplant, in den EA-Informationen eine Registerkarte "Sicherheit" einzurichten, auf der die Sicherheitsstufe und die Liste der aufgerufenen DLL-Funktionen angezeigt werden.
Rechtzeitig zum Start des Shops werden wir an den EX5-Dateien arbeiten.
Renat, es gibt noch zwei Fragen zu DLL-Aufrufen im neuen EX5-Format.
1. Wie wird sich der Code verhalten, wenn Anrufe deaktiviert sind? Wie jetzt - läuft er nicht einmal?
2. Wenn er nicht startet, wofür ist dann MQL5_DLLS_ALLOWED /TERMINAL_DLLS_ALLOWED?