Hilfe bei der Codierung - Seite 36

 

Brauche Hilfe bei STOPLOSS

mladen:
kemal44

Hier ist ein Link zu einem Thread, in dem erklärt wird, wie man Funktionen im Code verwendet: https: //www.mql5.com/en/forum/173005

Es wird dort sehr gut erklärt (und mehr als ich in einem Beitrag erklären kann), wie man sie benutzt

Lieber Mladen ,

wenn Backtesting, BreakEven-Stoplos scheint zu funktionieren, aber wenn das reale Konto, so weit ich sehe, dass es nicht richtig funktioniert,

Würden Sie sich bitte eine Experten-Datei ansehen und mir dann sagen, was damit nicht stimmt?

Vielen Dank im Voraus

Dateien:
xpexpert.txt  24 kb
 

...

kemal

Prüfen Sie in der Registerkarte "Experten" des Terminals, welcher Fehler ausgegeben wird.

Ich kann es nicht überprüfen, da die Einstiegslogik fehlt (es setzt nie BuyCondition oder SellCondition auf true, so wie es geschrieben ist)

kemal44:
Lieber Mladen ,

beim Backtesting scheint BreakEven-Stoplos zu funktionieren, aber wenn das reale Konto, so weit ich sehe, dass es nicht richtig funktioniert,

Könnten Sie einen Blick auf eine Experten-Datei werfen und mir dann sagen, was daran falsch ist?

vielen Dank im Voraus
 
mladen:
kemal

Prüfen Sie in der Registerkarte "Experten" des Terminals, welcher Fehler dort angezeigt wird.

Ich kann es nicht überprüfen, da die Einstiegslogik fehlt (BuyCondition oder SellCondition werden nie auf true gesetzt, so wie es geschrieben ist)

Hier ist der Experte mit der Kauf-Verkaufs-Logik,

Das Problem ist Breakeven Stop-Loss.

Was ich mit breakeven machen will, ist, dass wenn der Gewinn um 5 Pip vom Einstiegspunkt nach oben springt, stop-loss auf den Einstiegspunkt gesetzt werden sollte, um das Portfolio zu schützen,

Vielen Dank im Voraus

Dateien:
xpexpert_1.txt  24 kb
 

...

Da der minimale Abstand des Stop-Loss von Symbol zu Symbol und von Broker zu Broker abhängt und von einem Moment zum anderen variieren kann, fügen Sie vor der Einstellung des Break-Even eine Prüfung hinzu, die in etwa so aussehen würde (dies ist ein allgemeines Beispiel, wenn ein Auftrag ein Kaufauftrag ist, Sie können ihn sehr ähnlich wie einen Verkaufsauftrag schreiben):

double minimalDistance = MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;

if (OrderType()=OP_BUY && (Bid-OrderOpenPrice())>=minimalDistance)

... your code for setting stop loss

PS: Dies alles gilt (nach den letzten Änderungen - ab Build 419) für den Fall, dass Ihr Broker kein ECN-Broker ist. Wenn Ihr Broker ein ECN-Broker ist, dann gibt MarketInfo(Symbol(),MODE_STOPLEVEL) in den neuesten Builds 0 zurück und Sie müssen etwas experimentieren, um den minimalen Abstand (wenn es einen gibt) des Stop-Loss einzustellen

kemal44:
Hier ist der Experte mit der Kauf-Verkaufs-Logik,

Das Problem ist der Breakeven-Stop-Loss.

Was ich mit breakeven erreichen möchte ist, dass wenn der Gewinn um 5 Pip vom Einstiegspunkt nach oben springt, der Stop-Loss auf den Einstiegspunkt gesetzt werden sollte, um das Portfolio zu schützen,

Vielen Dank im Voraus
 
mladen:
Da der minimale Abstand des Stop-Loss von Symbol zu Symbol und von Broker zu Broker abhängt und von einem Moment zum anderen variieren kann, sollten Sie vor der Einstellung des Break-Even eine Prüfung hinzufügen, die in etwa so aussehen würde (dies ist ein allgemeines Beispiel, wenn eine Order eine Kauforder ist, Sie können sie ähnlich wie eine Verkaufsorder schreiben):
double minimalDistance = MarketInfo(Symbol(),MODE_STOPLEVEL)*Point;

if (OrderType()=OP_BUY && (Bid-OrderOpenPrice())>=minimalDistance)

... your code for setting stop loss

PS: Dies alles gilt (nach den letzten Änderungen - ab Build 419) für den Fall, dass Ihr Broker kein ECN-Broker ist. Wenn Ihr Broker ein ECN-Broker ist, wird MarketInfo(Symbol(),MODE_STOPLEVEL) in den letzten Builds 0 zurückgeben und Sie müssen etwas experimentieren, um den minimalen Abstand (wenn es einen gibt) des Stop Loss einzustellen.

Vielen Dank;

Entfernung ist eine gute Idee,

Ich habe keine Ahnung von ECN-Broker-Regeln, mein Broker ist ein lokales Unternehmen.

 

...

kemal44

Von Ihrem Broker - versuchen Sie Folgendes: eine einfache Möglichkeit zu überprüfen ist, um zu versuchen, eine Bestellung manuell zu öffnen, aber wenn Sie das tun, versuchen Sie die Einstellung Stop Loss und / oder Take Profit. Wenn diese Felder im Dialog zum Eröffnen einer Order deaktiviert sind (wie auf dem Bild unten) oder Sie dort einen anderen Wert als 0 eingeben, erhalten Sie eine Fehlermeldung, dann ist Ihr Broker ein "ECN / STP"-Broker

kemal44:
danke;

Entfernung ist eine gute Idee,

Ich habe keine Ahnung von ECN-Broker-Regeln, mein Broker ist ein lokales Unternehmen.
Dateien:
order_open.gif  22 kb
 
mladen:
kemal44

Von Ihrem Broker - versuchen Sie Folgendes: eine einfache Möglichkeit zu überprüfen ist, um zu versuchen, eine Bestellung manuell zu öffnen, aber wenn Sie das tun, versuchen Sie die Einstellung Stop Loss und / oder Take Profit. Wenn diese Felder deaktiviert sind (wie auf dem Bild unten) in den offenen Auftrag Dialog oder was auch immer Wert außer 0 Sie in diesen erhalten Sie einen Fehler, dann ist Ihr Broker ist ein "ECN / STP" Art von Broker

Mein Handelsfenster ist genau das gleiche wie auf dem Bild oben. Ich habe festgestellt, dass mein Broker vom Typ "ECN / STP" ist.

Vielen Dank!

in der Zwischenzeit, können wir Kanäle (StdDev etc..), die von MT4 automatisch in unserem Diagramm durch den Indikator oder ea-basierten Code, ich habe keine Ahnung, wie es zu codieren, würden Sie mir helfen, um Beispiel-Code für das?

Vielen Dank im Voraus

 

...

kemal44

Ich bin mir nicht sicher, ob ich die Frage nach den "Kanälen" verstehe, aber lass es mich versuchen:

Sie können jeden in Metatrader eingebauten Indikator mit den von ihnen bereitgestellten Funktionen verwenden. Für die Standardabweichung zum Beispiel ist die Syntax die folgende:

][[/TD] - [ sein.[

[/TR]

[TR]

[

[TR]

[TD]ma_method

[TD] - [TD="width: 100%"]MA-Methode. Es kann ein beliebiger Aufzählungswert der Methode des gleitenden Durchschnitts sein.

[TR]

[TD][TD] - [TD="width: 100%"]Angewandter Preis.

[TR

] [TD][TD] - [TD="width: 100%"]Index des aus dem Indikatorpuffer entnommenen Wertes (Verschiebung relativ zum aktuellen Balken um die angegebene Anzahl von Perioden).
double iStdDev(

[/TD]

string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift)[/TD]

[/TR]

[/TABLE

Berechnet den Indikator Standardabweichung und gibt seinen Wert zurück.

Parameter:

[TABLE="class: docparams"]

symbol[/TD] -
/TD]Symbol, dessen Daten zur Berechnung des Indikators verwendet werden sollen. NULL bedeutet das aktuelle Symbol.[/TD]

[/TR]

timeframe
/TD]Timeframe. Es kann ein beliebiger Wert aus der Timeframe Aufzählung 0 bedeutet den aktuellen Chart-Zeitrahmen.[/TD]

[/TR]

ma_period[/TD] -
/TD]MA-Periodema_shift -
TD="width: 100%"]MA-Verschiebung
applied_price
shift

Beispiel:

double val=iStdDev(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);

_________________________________________

Ähnliches gilt für andere eingebaute Indikatoren (diese :

Sie können also jede dieser Funktionen als Funktionsaufruf von einem anderen Indikator, Skript oder EA verwenden.

Wenn Sie die Werte einiger der eingebauten Indikatoren im Chart anzeigen möchten, müssen Sie einen Zeichenpuffer verwenden (wie bei regulären Indikatoren) und die Werte einiger der oben genannten Funktionen dem Zeichenpuffer zuweisen. EAs haben keine Zeichenpuffer, also können Sie das nicht mit Zeichenpuffern aus einem EA machen (Sie müssten Objekte verwenden, aber das ist eine ganz andere Geschichte)

kemal44:
Mein Trading-Fenster ist genau das gleiche wie oben pic.I undurstood mein Borker ist Art von "ECN / STP".

Vielen Dank!

in der Zwischenzeit können wir Kanäle (StdDev etc..), die von MT4 automatisch in unserem Diagramm durch den Indikator oder EA-basierten Code, ich habe keine Ahnung, wie es zu codieren, würden Sie mir helfen, um Beispiel-Code für das zu bekommen?

Vielen Dank im Voraus
 
mladen:
kemal44

Ich bin mir nicht sicher, ob ich die Frage nach den "Kanälen" verstehe, aber lassen Sie es mich versuchen:

Sie können jeden in Metatrader eingebauten Indikator mit den von ihnen bereitgestellten Funktionen verwenden. Für die Standardabweichung zum Beispiel ist die Syntax die folgende:

] sein.

[/TR]

[TR]

[TD="width: 100%"]MA shift

[TR]

[TD]ma_method[TD] - [TD="width: 100%"]MA method. Es kann ein beliebiger Aufzählungswert der Methode des gleitenden Durchschnitts sein.

[TR]

[TD][TD] - [TD="width: 100%"]Angewandter Preis.

[TR

] [TD][TD] - [TD="width: 100%"]Index des aus dem Indikatorpuffer entnommenen Wertes (Verschiebung relativ zum aktuellen Balken um die angegebene Anzahl von Perioden).
double iStdDev([/TD]string symbol, int timeframe, int ma_period, int ma_shift, int ma_method, int applied_price, int shift)[/TD]

[/TR]

[/TABLE

Berechnet den Indikator Standardabweichung und gibt seinen Wert zurück.

Parameter:

[TABLE="class: docparams"]

symbol[/TD] -[/TD]Symbol, dessen Daten zur Berechnung des Indikators verwendet werden sollen. NULL bedeutet das aktuelle Symbol.[/TD]

[/TR]

timeframe[/TD] -[/TD]Timeframe. Es kann ein beliebiger Wert aus der Timeframe Aufzählung0 bedeutet den aktuellen Zeitrahmen des Charts.[/TD]

[/TR]

ma_period[/TD] -[/TD]MA periodma_shift -
applied_price
shift

Beispiel:

double val=iStdDev(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0);

_________________________________________

Ähnliches gilt für andere eingebaute Indikatoren (diese :

Sie können also jede dieser Funktionen als Funktionsaufruf von einem anderen Indikator, Skript oder EA verwenden.

Wenn Sie einige der Werte der eingebauten Indikatoren auf dem Chart anzeigen möchten, müssen Sie einen Zeichenpuffer verwenden (wie bei regulären Indikatoren) und die Werte einiger der oben genannten Funktionen dem Zeichenpuffer zuweisen. EAs haben keine Zeichenpuffer, also können Sie das nicht mit Zeichenpuffern aus einem EA machen (Sie müssten Objekte verwenden, aber das ist eine ganz andere Geschichte)

Was ich mit Sdv Channel meine, ist der Kanal wie unten,

Übrigens, danke für die prompte Antwort.

Dateien:
xxx.gif  13 kb
 

EA mit Parabolic SAR

Hat jemand eine Idee für den Handel mit Parabolic SAR. Ich möchte EA mit Parabolic SAR machen, aber bis jetzt bekomme ich kein gutes Ergebnis. Wenn Sie also eine Idee mit Parabolic SAR haben, werde ich es besser machen. Die letzte, die ich mache, kann diesen Gewinn machen. aber Equity nie gleich mit Gleichgewicht.

Dateien: