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

 
Sprut112:
Wie kann man dem Expert Advisor (Standard-Ma) erklären, dass man nur dann kaufen (verkaufen) sollte, wenn sich die Durchschnitte kreuzen, und nicht generell, wenn ma_1>ma_2. Und er kauft ständig, er kann nicht aufhören

Sie müssen sich in der Variablen merken, dass die Kreuzung bereits stattgefunden hat, und wenn sie zurückkommt, schreiben Sie die Variable so um, dass sie bereits wieder gekreuzt wurde. Dies ist die Variante №1.

Schauen Sie sich die Geschichte der Transaktionen, wenn die letzte Buy, dann warten Sie auf das Signal zu verkaufen, und dann abwechselnd wie diese, dieser Weg ist zuverlässiger

 
Vitaly Muzichenko:

Sie müssen sich in der Variablen merken, dass die Kreuzung bereits stattgefunden hat, und wenn sie zurückkommt, schreiben Sie die Variable so um, dass sie bereits wieder gekreuzt wurde. Dies ist die Variante №1.

Schauen Sie sich die Geschichte der Trades, wenn die letzte Buy, dann warten Sie auf das Signal zu verkaufen, und dann abwechselnd in einem Kreis, dieser Weg ist zuverlässiger

Etwas sehr Kluges, können Sie nicht etwas zur Bedingung hinzufügen?
 
Sprut112:
Ist es nicht kompliziert, etwas zur Bedingung selbst hinzuzufügen?

Was ist denn so schlimm daran? Es ist nicht schwer, mit der Geschichte zu arbeiten, und es ist sogar noch einfacher, die Schnittmenge in eine Variable zu schreiben.

 
Vitaly Muzichenko:

Sie müssen sich in der Variablen merken, dass die Kreuzung bereits stattgefunden hat, und wenn sie zurückkommt, schreiben Sie die Variable so um, dass sie bereits wieder gekreuzt wurde. Dies ist die Variante №1.

Schauen Sie sich die Geschichte der Transaktionen, wenn der letzte Kauf, werden wir für das Signal zum Verkauf warten, und so werden wir abwechselnd um, ist diese Methode zuverlässiger

Wenn es sich um den letzten MA-Durchgang handelt, ist der Handel entlang des MA in der Regel einfacher:

1. Kontrolle der neuen Leiste

2. An der neuen Bar überprüfen wir den Zustand:

ma_1[1] >ma_2[1] && ma_1[2]<ma_2[2] - Kreuzung von oben nach unten

oder ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - Kreuzung von oben nach unten

wenn es keinen Unterschied macht, welcher MA von oben kreuzt, dann werden beide Bedingungen verwendet:

if((ma_1[1]>ma_2[1]  && ma_1[2]<ma_2[2]) || (ma_1[1]<ma_2[1]  && ma_1[2]>ma_2[2])) // пересечение!!!
 
Vitaly Muzichenko:

Was ist denn so schlimm daran? Es ist nicht schwer, mit der Geschichte zu arbeiten, und es ist sogar noch einfacher, die Schnittmenge in eine Variable zu schreiben.

In Ordnung, danke.
 
Igor Makanu:

Wenn der letzte MA-Kreuzungspunkt erreicht ist, ist der Handel auf dem MA normalerweise einfacher:

1. die neue Leiste überwachen

2. an der neuen Bar überprüfen wir den Zustand:

ma_1[1] >ma_2[1] && ma_1[2]<ma_2[2] - Kreuzung von oben nach unten

oder ma_1[1]<ma_2[1] && ma_1[2]>ma_2[2] - Kreuzung von oben nach unten

wenn es keinen Unterschied macht, welcher MA von oben kreuzt, dann werden beide Bedingungen verwendet:

Nun, das macht immer noch Sinn.
 

Freunde, könntet ihr mir bitte sagen, warum sich bei der Optimierung eines EA im Ordner \Terminal\tester\logs riesige Protokolldateien mit folgendem Inhalt ansammeln:

2 00:00:01.796 2014.04.01 10:57:30 Tester: #102 gelöscht wegen Verfall

2 00:00:02.221 2014.04.24 08:59:59 Tester: #103 wegen Ablaufs gelöscht

2 00:00:02.326 2014.04.30 12:57:30 Tester: #104 wegen Ablauf gelöscht

2 00:00:02.852 2014.05.29 10:20:00 Tester: Auftrag #105, Verkaufen 0,10 EURUSD wird bei 1,35871 eröffnet

0 00:00:02.852 2014.05.29 10:22:30 Tester: Stop Loss #105 bei 1,35910 (1,35876 / 1,35926)

2 00:00:02.941 2014.06.04 01:20:00 Tester: Auftrag #106, Kauf 0,10 EURUSD wird bei 1,36306 eröffnet

0 00:00:02.941 2014.06.04 01:22:30 Tester: Stop Loss #106 bei 1.36259 (1.36253 / 1.36303)

2 00:00:03.133 2014.06.13 14:03:20 Tester: Auftrag #107, Verkauf von 0,10 EURUSD wird bei 1,35382 eröffnet

Und einige meiner EAs schreiben solche Protokolle und andere nicht. Ich kann es nicht erkennen.

 


Wie ist das möglich?

 
Wie kann ich die Eingabevariablen im EA-Code unveränderlich machen? Ich verwende zum Beispiel einen EA auf einem Macd und möchte nicht, dass seine Variablen im Einstellungsfenster angezeigt werden
 
Sprut112:
Wie kann man Eingabevariablen im EA-Code unveränderbar machen? Ich verwende zum Beispiel einen EA auf Macd und möchte nicht, dass seine Variablen im Einstellungsfenster angezeigt werden

Lesen Sie die Hilfe, indem Sie im Quellcode auf "Befehle" bei input oder extern F1 drücken ;)