Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 114
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
Guten Tag, wie kann ich einen Trigger erstellen? Ich brauche zum Beispiel diese Bedingung if(iClose(NULL,HTF,4)<BlueLine) wenn sie ausgeführt wird DayDown = 1 ! F: Wie kann DayDown auf 1 belassen werden und erst am nächsten Tag abgefragt werden?
Ich habe andere Objekte, die an 1 Objekt angehängt sind, und wenn Sie dieses Objekt löschen, bleibt der Rest einfach im Diagramm hängen
Ich habe es so verstanden:
if(DayNext!= Day()) // Wenn ein neuer Tag, müssen Sie abfragen
{
// Abfragen
if(iClose(NULL,1440,2)<BlueLine)
if(iOpen(NULL,1440,1)<BlueLine && iClose(NULL,HTF,1)>BlueLine)
PROBOI1 = 1;Print("Geschlossen über BlueLine = ",iClose(NULL,HTF,1));
if(iClose(NULL,1440,2)>RedLine)
if(iOpen(NULL,1440,1)>RedLine && iClose(NULL,HTF,1)<RedLine)
PROBOI1 = -1;Print("Closed below RedLine = ",iClose(NULL,HTF,1));
DayNext = Day(); // Merken Sie sich den Tag
}
Korrigieren Sie, wenn etwas falsch ist! Und wenn ich verfolgen will, was jetzt auf einer niedrigeren TF passiert, muss ich dann Day außerhalb der Umfrage schreiben? Rechts -STARIJ:
if(iClose(NULL,60,1)>RedLine&&iClose(NULL,1440,2)>RedLine) ) Sell = 1
https://www.mql5.com/ru/forum/226620#comment_6481536
Setzen Sie die magische Zahl +1 für die Bedingung 1, die magische Zahl +2 für die Bedingung 2 und so weiter. Auf diese Weise können Sie dann sehen, ob diese Position mit Bedingung 1 oder mit Bedingung 2 eröffnet wurde...
Nachmittags. Ich habe mich nur für eine Position BAY. Das Magie-Set für den Verkauf funktioniert aus irgendeinem Grund nicht. Alles ist absolut identisch, außer dem Magier natürlich. Was habe ich falsch gemacht?
Was habe ich falsch gemacht?
Ich entschuldige mich dafür, dass ich den Anfang der Korrespondenz nicht gefunden habe, aber ich möchte Ihnen sofort raten, komplexe Bedingungen und Berechnungen darin zu vermeiden - das macht den Code unleserlich und erschwert daher die Suche nach logischen Fehlern, ich würde Ihren Code wie folgt schreiben:
Wenn Sie verstehen, was ich meine, können Sie den Code, den ich Ihnen gegeben habe, noch ein wenig abändern, d. h. in eine separate Bedingung einfügenif(OrderType()==OP_BUY....
Dann wird es viel einfacher sein, logische Fehler zu finden, imho
Ich entschuldige mich dafür, dass ich den Anfang der Korrespondenz nicht gefunden habe, aber ich möchte sofort dazu raten, komplexe Bedingungen und Berechnungen darin zu vermeiden - das macht den Code unlesbar und erschwert folglich die Suche nach logischen Fehlern, ich würde Ihren Code so schreiben:
Wenn Sie verstehen, was ich meine, können Sie den Code, den ich Ihnen gegeben habe, noch ein wenig abändern, d. h. in eine separate Bedingung einfügenif(OrderType()==OP_BUY....
Dann wird es viel einfacher sein, logische Fehler zu finden, imho
Verstanden, danke, aber soweit ich verstanden habe, gibt es keinen Unterschied für das Verständnis des Codes durch die Plattform, während es für mich komplizierter zu sein scheint, eine Bedingung in mehrere kürzere aufzuteilen, um nach Fehlern zu suchen, weil die Anzahl der ineinandergreifenden Anweisungen steigt. Aber vielleicht hast du recht und ich werde bald auf deine Seite wechseln. Was die Logik des Codes betrifft, so habe ich keinen Unterschied zwischen meinem und Ihrem Code gefunden und sehe den Fehler immer noch nicht.
Was die Logik des Codes betrifft, so habe ich keinen Unterschied zwischen meinem und Ihrem Code gefunden, und ich sehe den Fehler immer noch nicht.
Genau so - die Logik des Codes ist die gleiche, aber wenn Sie die Bedingungen aufteilen, ist es schneller zu finden, wo der logische Fehler ist, und in Ihrem Fall, wenn Sie ihn herausnehmen:
in eine separate Bedingung umwandeln, wird der Code optimiert - die Bedingung wird nur einmal statt viermal wie in Ihrem Beispiel geprüft.
Überprüfen Sie die Ausgabe im Journal des Expert Advisors mit der Funktion
Print()
für die Protokollierung, um zu sehen, welches Codefragment mit welchen Parametern ausgeführt wird
Leute,
Wie lese ich den Morning Flat Indikator im Expert Advisor Code?
Ich versuche es auf diese Weise und es funktioniert nicht.
Der Indikator selbst