Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 160

 

Ich möchte kein neues Thema eröffnen, ich verstehe nicht, wie der EA funktioniert, vielleicht können mir die Älteren etwas sagen.

Ich habe mehrere Indikatoren in meinem Expert Advisor verwendet.

Aber im Protokoll kann ich sehen, dass einer von ihnen ständig von EA geladen und dann wieder entladen wird. Ich kann dieses Verhalten nicht verstehen.

Hier steht uninit Grund 1, was bedeutet das? Andere Indikatoren werden nicht entladen, weil

2017.03.21 12:12:25.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:09:06.551 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:09:06.551 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 12:07:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 12:07:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 12:04:12.957 MTF_WPR USDRUR,H4: initialized
2017.03.21 12:04:12.957 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:43:29.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:43:29.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:38:04.097 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:38:04.097 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:36:15.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:36:15.316 MTF_WPR USDRUR,H4: uninit reason 1
2017.03.21 11:30:11.582 MTF_WPR USDRUR,H4: initialized
2017.03.21 11:30:11.582 Custom indicator MTF_WPR USDRUR,H4: loaded successfully
2017.03.21 11:06:17.316 Custom indicator MTF_WPR USDRUR,H4: removed
2017.03.21 11:06:17.316 MTF_WPR USDRUR,H4: uninit reason 1
 
harbor:

Ich möchte kein neues Thema eröffnen, ich verstehe nicht, wie der EA funktioniert, vielleicht können mir die Älteren etwas sagen.

Ich habe mehrere Indikatoren in meinem Expert Advisor verwendet.

Aber im Protokoll kann ich sehen, dass einer von ihnen ständig von EA geladen und dann wieder entladen wird. Ich kann dieses Verhalten nicht verstehen.

Hier steht uninit Grund 1, was bedeutet das? Andere Indikatoren werden nicht entladen, weil

Falsch gesetzte Indikatorparameter in iCustom()
 
Danke, ich denke schon.
 
Artyom Trishkin:

In diesem Thread möchte ich damit beginnen, denjenigen zu helfen, die wirklich das Programmieren in der neuen MQL4 verstehen und lernen wollen und einfach zu MQL5 wechseln wollen - die Sprachen sind sehr ähnlich.

Dies ist ein guter Ort, um Aufgaben, Algorithmen zu ihrer Lösung und alle anderen Fragen im Zusammenhang mit der MT-Programmierung zu diskutieren.

Ich hoffe, dass andere erfahrene Mitglieder unseres Forums sich uns anschließen werden und der Thread für alle von Interesse sein wird.


Hallo


Ich habe eine solche Frage. Wie schreibt man einen Code in MQL4m? Ich muss zum Beispiel die Preise zusammenzählen und durch die Anzahl dieser Preise dividieren. Stellen Sie sich Folgendes vor: 1,05000+1,06000+1,07000+1,08000:4= 1,06500



Herzlichen Dank!

 
isiklik:


Hallo

Ich habe eine Frage. Wie schreibe ich Code in MQL4? Ich muss zum Beispiel die Preise zusammenzählen und durch die Anzahl dieser Preise dividieren. Zum Beispiel: 1,05000+1,06000+1,07000+1,08000:4= 1,06500.

Herzlichen Dank!

double res=(1.05+1.06+1.07+1.08)/4.0;
 
Artyom Trishkin:

Herzlichen Dank, Artyom!


Alt werden ist keine Freude! Ich habe vergessen, Ihnen das Wichtigste zu sagen.

Nehmen wir an, ich habe im MT4 eine Anzahl N von Geschäften in einer Richtung mit unterschiedlichen Preisen eröffnet.

Wie man einen Code schreibt, würde MT4 diese Preise aus einem Diagramm nehmen, sie addieren und durch die Anzahl der offenen Trades in eine Richtung teilen. Dann fügen Sie 200 Pips hinzu.

Der erzielte Preis würde diese Geschäfte in TakeProfit vorschreiben.

Ich hoffe, das ist alles. :)


Herzlichen Dank!

 
isiklik:

Herzlichen Dank, Artyom!


Das Alter ist keine Freude! Ich habe vergessen, Ihnen das Wichtigste zu sagen.

Nehmen wir an, ich habe im MT4 eine Anzahl N von Geschäften in einer Richtung mit unterschiedlichen Preisen eröffnet.

Wie man einen Code schreibt, würde MT4 diese Preise aus einem Diagramm nehmen, sie addieren und durch die Anzahl der offenen Trades in eine Richtung teilen. Dann fügen Sie 200 Pips hinzu.

Der erzielte Preis würde diese Geschäfte in TakeProfit vorschreiben.

Ich hoffe, das ist alles. :)


Herzlichen Dank!

Sie müssen den Break-even-Kurs berechnen und dazu N-mal Pips addieren bzw. subtrahieren. Schlagen Sie nach, oder sehen Sie sich an, wie man den Break-even berechnet
 
Vitaly Muzichenko:
Sie müssen den Break-even-Preis berechnen und eine Anzahl von N Punkten dazu addieren oder davon abziehen. Schlagen Sie nach, oder sehen Sie sich an, wie man den Break-even berechnet

Nein. Warum muss ich den Break-even erreichen? Ich muss die Anzahl der offenen Aufträge berechnen, um ihnen einen Gesamtumsatz zu geben.
 
Maxim Kuznetsov:

Sie können berechnen, "nach wie vielen Balken es einen Crossover geben wird" (reine Schulgeometrie)

und das Datum daraus nur näherungsweise bestimmt werden kann, werden die Balken nur gebildet, wenn der Markt geöffnet ist, d.h. sie sind für jedes Instrument unterschiedlich.

Vereinfacht, wenn Sie den Kalender im Voraus kennen:

  • 24 Stunden zum aktuellen Tag hinzufügen, wenn es sich um einen Samstag/Sonntag handelt, wird er übersprungen, wenn es sich um einen allgemeinen Feiertag handelt, wird er übersprungen, wenn es sich um einen gesetzlichen Feiertag handelt, wird er übersprungen.
  • für W1 und höher ist zu berücksichtigen, dass der wöchentliche Takt von Samstag auf Sonntag beginnt, M1 - wie nach dem Kalender
  • Bei einer TF, die kürzer als ein Tag ist, müssen Sie auch die Öffnungs-/Schließungszeiten des Marktes und den Zeitplan Ihres DC berücksichtigen
  • wenn Sie die Daten ändern (morgens, bei den ersten Ticks), müssen Sie alle vorherigen Berechnungen erneut durchführen

das ist so unordentlich, dass es ein großes Problem in MT ist :-)


Wenn Sie eine Woche Zeit haben, sollten Sie diese einplanen.

 
isiklik:

Herzlichen Dank, Artyom!


Das Alter ist keine Freude! Ich habe vergessen, Ihnen das Wichtigste zu sagen.

Nehmen wir an, ich habe im MT4 eine Anzahl von Geschäften in einer Richtung mit unterschiedlichen Preisen offen.

Wie man einen Code schreibt, würde MT4 diese Preise aus einem Diagramm nehmen, sie addieren und durch die Anzahl der offenen Trades in eine Richtung teilen. Dann fügen Sie 200 Pips hinzu.

Der erzielte Preis würde diese Geschäfte in TakeProfit vorschreiben.

Ich hoffe, das ist alles. :)


Herzlichen Dank!

Sie durchlaufen alle offenen Positionen auf Ihrem Konto und filtern sie nach magischer Zahl und Typ.
Wenn Sie die richtige Art von Position erhalten, erhöhen Sie die Größe des Zeitfeldes um 1 und geben darin den Eröffnungskurs dieser Position ein.
Wenn die Schleife beendet ist, haben Sie ein Array mit den Eröffnungskursen aller erforderlichen Positionen.
Addieren Sie in der Schleife alle Werte im Array, und teilen Sie am Ende der Schleife den resultierenden Wert durch die Größe des Arrays.
Das war's - Sie haben einen kalkulierten Preis. Fügen Sie nun die erforderliche Anzahl von Punkten*Punkt() hinzu.
Und das nächste Interessante: Wenn der resultierende Preis niedriger ist als der Eröffnungskurs der Position (Kauf), handelt es sich nicht um einen Take Profit, sondern um einen Stop Loss
Grund der Beschwerde: