Universal MA Kreuz EA - Seite 64

 

Hallo könnte jemand bitte einen Breakeven Code zu diesem Ea hinzufügen.

Preis bewegt sich x Pips verschieben Sie die Haltestelle zu breakeven Plus x Pips. Ich habe es versucht, aber ich bekomme immer mehrere Fehler.https://www.mql5.com/en/forum

Vielen Dank im Voraus für jede Hilfe.

Dateien:
 

Ist es das, wonach Sie suchen?

Mjack59_59@yahoo.com:
Hallo könnte jemand bitte einen Breakeven Code zu diesem Ea hinzufügen.

Der Preis bewegt sich um x Pips, der Stop wird auf Break Even Plus x Pips gesetzt. Ich habe es versucht, aber ich erhalte immer mehrere Fehler.https://www.mql5.com/en/forum

Vielen Dank im Voraus für jede Hilfe.

nicht genau das, was Sie wollen, ich vermute, da ich nicht klar bin, was Sie meinen... aber beginnen Sie damit und lassen Sie es mich wissen...

sn

Dateien:
 

Es funktioniert nicht für 5 stellige Makler Chef?

firedave:
Ich versuche, einen EA für jede Moving Average Cross Strategie zu erstellen, um ihn universell einsetzbar zu machen. Bitte lassen Sie mich wissen, wenn Sie einen Vorschlag haben, um diesen EA zu ergänzen.

Gemeinsame Einstellung :

-----------------

StopLoss (Standardwert 100)

Legen Sie Ihren Stop Loss fest. Verwenden Sie 0 (Null), wenn Sie keinen Stop Loss verwenden möchten (nicht empfohlen).

TakeProfit (Standardwert 200)

Legen Sie Ihren Take Profit fest. Verwenden Sie 0 (Null), wenn Sie ein offenes Ziel verwenden möchten.

Trailing Stop Einstellung :

----------------------

ver.6 TrailingStopType (Voreinstellung 1)

Legen Sie den Trailing-Stop-Typ fest. 1:beginnt mit dem Trailing, wenn der Gewinn in Pips größer ist / gleich mit TrailingStop. 2:startet das Trailing, sobald der Handel im Gewinn ist. (wird andere Art von Trailing Stop hinzufügen, wenn vorgeschlagen, letzter Vorschlag ist SafeZone Trailing Stop Post #99 https://www.mql5.com/en/forum/general )

TrailingStop (Standardwert 40)

Legen Sie den Trailing-Stop fest. Verwenden Sie 0 (Null), wenn Sie die Trailing-Stop-Funktion nicht nutzen.

Einstellung des gleitenden Durchschnitts :

------------------------

FastMAPeriod (Voreinstellung 10)

Fast Moving Average Periode.

FastMAType (Voreinstellung EMA / 1)

Fast Moving Average Typ 0:SMA 1:EMA 2:SMMA 3:LWMA

FastMAPrice (Voreinstellung Close / 0)

Fast Moving Average Applied Price 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (Voreinstellung 0)

Schnelle gleitende Durchschnittsverschiebung

SlowMAPeriod (Voreinstellung 80)

Zeitraum des langsamen gleitenden Durchschnitts.

SlowMAType (Voreinstellung EMA / 1)

Typ des langsamen gleitenden Durchschnitts 0:SMA 1:EMA 2:SMMA 3:LWMA

SlowMAPrice (Voreinstellung Close / 0)

Slow Moving Average Applied Price 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 FastMAshift (Voreinstellung 0)

Verschiebung des langsamen gleitenden Durchschnitts

Minimaler Kreuzabstand :

------------------------

ver.2 MinCrossDistance (Voreinstellung 0)

Legt den Mindestabstand zwischen FastMA und SlowMA fest, der als gültige Kreuzung betrachtet wird. Verwenden Sie 0 (Null), um diesen Filter zu deaktivieren.

ver.7 MaxLookUp (Voreinstellung 1)

Legt fest, wie viele Balken nach dem Cross die Einstiegsbedingung in Bezug auf den Mindestabstand zwischen FastMA und SlowMA überprüft werden soll. MinCrosDistance > 0 ist erforderlich, um diese Funktion zu aktivieren. Verwenden Sie 0 (Null), um diese Funktion zu deaktivieren.

Beenden der Einstellung :

-------------

StopAndReverse (Voreinstellung true)

Wenn auf TRUE gesetzt, wird jeder Handel beendet und die Position umgekehrt, wenn sich das Signal ändert.

PureSAR (Voreinstellung false)

Wenn diese Einstellung auf TRUE gesetzt ist, werden kein Stop Loss - Take Profit - und Trailing Stop verwendet. Diese Einstellung ist immer im Spiel.

ver.7.2 ExitOnCross (Standardwert false)

Wenn diese Einstellung auf TRUE gesetzt ist, wird jeder Handel beendet, wenn es ein entgegengesetztes Cross gibt, ohne einen zusätzlichen Filter zu berücksichtigen. Der Ausstieg erfolgt also ausschließlich auf der Basis der Kreuzung des gleitenden Durchschnitts.

Dritte MA-Einstellung:

------------------

ver.5 UseThirdMA (Voreinstellung false)

Wenn auf TRUE gesetzt (und UseCounterTrend = FALSE), wird nur entsprechend der Richtung des ThirdMA gehandelt, oberhalb für BUY und unterhalb für SELL.

ver.5 UseCounterTrend (Voreinstellung false)

Wenn diese Option auf TRUE gesetzt ist, wird der Handel auch dann fortgesetzt, wenn er entgegen der ThirdMA-Richtung erfolgt, jedoch mit einem anderen StopLoss und TakeProfit. Benötigt UseThirdMA = TRUE um diese Funktion zu aktivieren.

ver.7 OnlyCounterTrend (Voreinstellung false)

Wenn auf TRUE gesetzt, wird der EA nur gegen den Trend handeln, d.h. KAUFEN, wenn die ThirdMA unterschritten wird und VERKAUFEN, wenn die ThirdMA überschritten wird. Um diese Funktion zu aktivieren, muss UseCounterTrend = TRUE sein.

ver.5 DritteMAPeriode (Voreinstellung 100)

Dritte gleitende Durchschnittsperiode.

ver.5 ThirdMAType (Standardwert EMA / 1)

Dritter gleitender Durchschnittstyp 0:SMA 1:EMA 2:SMMA 3:LWMA

ver.5 ThirdMAPrice (Standardwert Close / 0)

Dritter gleitender Durchschnitt angewandter Preis 0:Close 1:Open 2:High 3:Low 4:Median 5:Typical 6:Weighted

ver.7.2 ThridMAshift (Voreinstellung 0)

Dritte gleitende Durchschnittsverschiebung

ver.5 CTStopLoss (Voreinstellung 0)

Legen Sie Ihren Stop Loss für den CounterTrend-Handel fest. Verwenden Sie 0 (Null), wenn Sie den Stop Loss nicht verwenden möchten (nicht empfohlen).

ver.5 CTTakeProfit (Voreinstellung 0)

Legen Sie Ihren Take Profit für den CounterTrend-Handel fest. Verwenden Sie 0 (Null), wenn Sie ein offenes Ziel verwenden möchten.

Pivot-Filter-Einstellung :

-------------------

ver.8.0 Use.Pivot.Filter (Voreinstellung false)

Setzen Sie diese Option auf true, wenn Sie den Handel filtern möchten, d.h. nur KAUFEN, wenn die Kreuzung von Slow und Fast MA zwischen S1 und S2 stattfindet, und nur VERKAUFEN, wenn die Kreuzung von Slow und Fast MA zwischen R1 und R2 stattfindet.

Auftragseinstellung :

--------------

ReverseCondition (Standardwert false)

Setzen Sie TRUE, um die Einstiegsbedingung umzukehren.

ver.3 ConfirmedOnEntry (Voreinstellung true)

Wenn diese Option auf TRUE gesetzt ist, wird der Handel beim nächsten Balken nach der Bestätigung des Kreuzes eingegeben/verlassen. Wenn auf FALSE gesetzt, wird der Handel betreten/verlassen, sobald es ein Cross gibt.

ver.4 OneEntryPerBar (Voreinstellung true)

Wenn auf TRUE gesetzt, wird nur einmal pro Bar gehandelt. Wenn auf FALSE gesetzt, wird mehr als einmal auf einem Balken gehandelt, wenn die Einstiegsbedingung noch gültig ist, allerdings immer nur ein Handel auf einmal.

NumberOfTries (Voreinstellung 5)

Anzahl der Versuche, wenn die Order vom System abgelehnt wird.

Slippage (Voreinstellung 5)

Slippage-Einstellung.

MagicNumber (Standardwert 1234)

Verwenden Sie diese Option, um die Magic Number zu generieren. Ändern Sie diese Zahl NUR, wenn Sie den EA auf demselben Paar und demselben Zeitrahmen, aber mit anderen Einstellungen ausführen möchten.

Multiple Open Trade Einstellung :

-----------------------------

ver.5 MaxOpenTrade (Voreinstellung 2)

Anzahl der maximal offenen Trades zu einem Zeitpunkt. Diese Einstellung wird verwendet, wenn StopAndReverse / PureSAR = FALSE, so dass der EA die offene Order nicht schließt, wenn ein gegenteiliges Signal eintritt, sondern einen neuen Handel eröffnet. Legen Sie die Anzahl der erlaubten offenen Trades fest. Wenn StopAndReverse / PureSAR = TRUE ist, wird diese Einstellung immer = 1 sein, d.h. nur ein Handel auf einmal.

ver.6 MinPriceDistance (Voreinstellung 5)

Wenn mehrere offene Trades erlaubt sind (durch Setzen von MaxOpenOrder>1 und OneEntryPerBar=FALSE), bestimmt diese Zahl den Mindestabstand zwischen den einzelnen Trades in derselben Richtung.

Zeitfilter-Einstellung :

-------------------

UseHourTrade (Voreinstellung false)

Wenn auf TRUE gesetzt, wird der EA nur zu einer bestimmten Zeit aktiv.

StartHour (Standardwert 10)

Zeitpunkt, zu dem der EA aktiv wird (zu verwenden bei UseHourTrade = TRUE).

EndHour (Voreinstellung 11)

Zeitpunkt, an dem der EA aufhört, aktiv zu sein (Verwendung mit UseHourTrade = TRUE).

Lot und Money Management Einstellung :

------------------------------------

Lots (Voreinstellung 1)

Anzahl der Lots pro Handel.

MM (Voreinstellung false)

Wenn auf TRUE gesetzt, wird das eingebaute Money Management verwendet.

AccountIsMicro (Voreinstellung false)

Wenn Sie ein Micro-Konto verwenden, setzen Sie dies auf TRUE.

Risiko (Standardwert 10)

Mit MM = TRUE können Sie das Risiko pro Handel festlegen.

Cross-Alarm-Einstellung :

--------------------

ver.5 EnableAlert (Voreinstellung true)

Gibt einen Alarm aus, wenn sich der gleitende Durchschnitt kreuzt, nach oben oder nach unten kreuzt.

ver.5 SoundFilename (Standardwert "alert.wav")

Der Dateiname für den Alarm.

BackTest Einstellung :

------------------

PrintControl (Voreinstellung true)

Druckt einen Kommentar zum Backtesting.

Show_Settings (Voreinstellung true)

Zeigt die Einstellungen auf dem Chart an.

Lassen Sie mich wissen, wenn Sie noch Probleme mit den Einstellungen haben. Vielen Dank an codersguru und pengie für einige Teilcodes. Hoffe dies hilft

Tagebuch :

-----------

version.6:

- ConfirmedOnEntry Fehler behoben.

- Sofortiger Trailing-Stop hinzugefügt.

- MinPriceDistance für mehrere offene Trades hinzugefügt.

Version.7:

- Hinzufügen der Funktion MaxLookUp, um den Einstieg nach einem bestimmten Bar ab dem Cross bezüglich der MinCrossDistance zu überprüfen.

- Hinzufügen der Funktion OnlyCounterTrend bei Verwendung des Filters ThirdMA.

Version.7.1:

- Fehler bei MinCrossDistance behoben.

Version.7.2:

- Fehler bei MinCrossDistance für ConfirmedOnEntry = FALSE behoben.

- MA-Verschiebungsparameter hinzugefügt.

- ExitOnCross Funktion hinzugefügt.

Version.7.3:

- Fehler in der Bildschirmanzeige COMMENT behoben.

Version.8.0:

- Pivot-Filter hinzugefügt.

version.8.1:

- einige Codes überarbeitet, weil Build 206 Bugs.
 

Ungültiger Stoploss / Takeprofit

Hallo Serpentsnoir,

Ich habe diese Version auf 5 Stellen getestet, mit

StopLoss=30

MitnahmeGewinn=40

und den Fehler wie hier gezeigt generiert;

2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell: Bid,Slippage,aStopLoss,aTakeProfit 0.88554/30.00000/0.88466/0.89066

2011.04.27 22:47:44 universalMACrossEA[5 Dig]-V4 EURGBP,M5: sn Debug on sell: ticket,err,count -1/130/5

Könnten Sie mir zeigen, wie man die 130 ist ungültig Stops (TP, SL) zu lösen?

Vielen Dank

Takingpip

 

Ungültiger StopLoss, Fehler 130

StopLoss- und TakeProfit-Levels dürfen nicht zu nahe am Markt liegen. Der Mindestabstand der Stop-Levels in Punkten kann mit der Funktion MarketInfo() mit dem Parameter MODE_STOPLEVEL ermittelt werden. Im Falle von fehlerhaften oder unnormalisierten Stop-Levels wird der Fehler 130 (ERR_INVALID_STOPS) erzeugt.

Die obigen Angaben stammen aus der Metaquotes-Dokumentation.

Der Fehler 130 tritt auf, wenn Sie den Stop Loss zu nahe am Bid/Ask-Kurs setzen. Im Allgemeinen bedeutet dies, dass Sie den Stop Loss erhöhen sollten, um das Problem zu beheben, oder dass Sie den Auftrag nicht ändern sollten, um einen Stop Loss zu setzen, sondern ihn stattdessen schließen sollten, da er sehr nahe am aktuellen Stop Loss des Auftrags liegt.

Beachten Sie, dass MarketInfo mit Mode_Stoplevel eine Null zurückgeben kann, zumindest ist das bei meinem Broker FXCM der Fall, so dass Sie möglicherweise manuell einstellen müssen.

 

Ungültiger Stop-Loss, Fehler 130

Danke für die Erläuterung Tzuman.

Ich habe zum Beispiel auch den

SL = 200

TP = 150

es ist immer noch erzeugt Fehler 130 und mein Broker nur ein Minimum von 10pip für stoploss oder Take Profit.

Ich bin neu in der MT-Programmierung, noch zu lernen. Könnten Sie mir erklären, wo ich den MODE_STOPLEVEL Überwachungsparameter in den Code einfügen kann?

Vielen Dank

 
serpentsnoir:
nicht genau das, was Sie wollen, ich vermute, da ich nicht klar bin, was Sie meinen... aber beginnen Sie damit und lassen Sie es mich wissen... sn

Hallo, ich habe Ihre Version mit BE-Funktion heruntergeladen, aber beim Kompilieren bekam ich diesen Fehler: "'UseBreakEven' - Vergleichsausdruck erwartet

Bitte, können Sie das überprüfen?

Vielen Dank!

 
FxCba:
Hallo, ich habe Ihre Version mit der BE-Funktion heruntergeladen, aber beim Kompilieren bekam ich diesen Fehler: "'UseBreakEven' - Vergleichsausdruck erwartet

Bitte, können Sie das überprüfen?

Dankeschön

Ich ziehe es vor, ganze Zahlen für Flags zu verwenden, anstatt boolesche. Es hat keinen Einfluss auf die Funktionsweise des EA. Ändern Sie einfach den Typ in boolean, wenn Sie wollen, dass der Fehler verschwindet.

sn

 
serpentsnoir:
Ich ziehe es vor, ganze Zahlen für Flags zu verwenden, anstatt bool. Es hat keinen Einfluss auf die Funktionsweise des EA. Ändern Sie einfach den Typ in boolean, wenn Sie wollen, dass der Fehler verschwindet. sn

Meinen Sie, dass Sie eine Zeile wie diese hinzufügen sollten? " bool UseBreakEven = false;"

(Entschuldigung für die Frage, aber ich verstehe den Metatrader-Code nicht)

Ich habe es so gemacht und keinen Fehler erhalten.

 

Tägliches Gewinnlimit zum EA hinzufügen.

Hallo zusammen,

ich würde gerne wissen, ob jemand die folgende Funktion in den beigefügten UMA cross EA einbauen könnte.

extern string DayProfitHelp = "--Enter either DayProfitLimit in USD or DayProfitLimitPct in percent of last day balance. Setzen Sie beides auf 0, um zu deaktivieren.";

extern double DayProfitLimit = 0.0;

extern double DayProfitLimitPct = 0.0;

extern int DayProfitResetHour = 0;

extern bool DayProfitGlobal = FALSE;

Ich fand diese Funktion bei einem anderen EA sehr praktisch. Im Grunde genommen stoppt sie die EA-Eröffnungsaufträge, wenn ein "x%" vor der Stop-Zeit erreicht wurde.

Auch die Trailing-Funktionen funktioniert nicht richtig auf die UMAcrossEA. Wenn jemand helfen könnte, wäre ich dankbar.

Danke vielmals

===============================

extern int SL_pips = 290;

extern int MA_distance_pips = 20;;

extern int MA_Zeitraum = 16;

extern int TP_pips = 20;

extern int TradeVolume = 1;

extern string HourTradeHelp = "--Einstellen, ob der EA nur in einer bestimmten Periode des Tages arbeitet. ForceClose wird alle offenen Orders schließen.";

extern bool UseHourTrade = FALSE;

extern int StartHourTrade = 21;

extern int EndHourTrade = 3;

extern bool ForceClose = FALSE;

extern string MinToKeepTradeHelp = "--Will close the order once its life time is grater than MinutesToKeepTrade. Zum Deaktivieren 0 setzen.";

extern int MinutesToKeepTrade = 0;

extern string DayProfitHelp = "--Enter either DayProfitLimit in USD or DayProfitLimitPct in percent of last day balance. Zum Deaktivieren beides auf 0 setzen.";

extern double DayProfitLimit = 0.0;

extern double DayProfitLimitPct = 0.0;

extern int DayProfitResetHour = 0;

extern bool DayProfitGlobal = FALSE;

extern int ÄndernIntervallMin = 1;

extern int MagischeZahl = 2265;

extern bool Hedge=false;

int g_ord_total_172;

int g_ticket_176;

int g_ticket_180;

int g_minute_184;

bool g_bool_188;

bool gi_192;

bool gi_196;

bool gi_200;

bool gi_204;

double g_price_208;

double gd_216;

double g_preis_224;

double gd_232;

double gd_240;

double gd_248;

double gd_256;

double gd_264;

double gd_272;

double gd_280;

double g_ima_288;

double gd_296;

double gd_304;

double gd_312;

double g_lots_320;

void init() {

gd_240 = MarketInfo(Symbol(), MODE_STOPLEVEL);

gd_256 = gd_240 * Punkt;

gd_248 = (gd_240 + 1.0) * Punkt;

gd_216 = SL_pips * Punkt;

gd_232 = MA_distance_pips * Point;

gd_280 = TP_pips * Punkt;

g_minute_184 = Minute();

}

int start() {

double ld_8;

double ld_16;

if (Kontostand() - gd_304 != 0.0) ld_8 = 100.0 * (gd_304 / (Kontostand() - gd_304));

sonst ld_8 = 0;

wenn (Kontostand() - gd_304 != 0,0) ld_16 = 100,0 * ((Kontostand() - gd_304 + gd_312) / (Kontostand() - gd_304)) - 100,0;

sonst ld_16 = 0;

gd_296 = Ask - Bid;

gd_304 = GetDailyProfit();

g_lots_320 = Lots();

wenn (DayProfitLimitPct > 0.0) gd_312 = (AccountBalance() - gd_304) * (DayProfitLimitPct / 100.0);

sonst gd_312 = DayProfitLimit;

g_bool_188 = !(UseHourTrade && !IsTradeTime(StartHourTrade, EndHourTrade));

if (g_bool_188 && GlobalVariableGet("gISEAStop") == 1.0) g_bool_188 = FALSE;

string ls_0 = "Symbol: " + Symbol()

+ "\nSpread: " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD) / 10.0, 1) + " pips"

+ "\nDaily P/L: $" + DoubleToStr(gd_304, 2) + " (" + DoubleToStr(ld_8, 2) + "%)"

+ "\nLimit P/L: $" + DoubleToStr(gd_312, 2) + " (" + DoubleToStr(ld_16, 2) + "%)"

+ "\nCurrent P/L: $" + DoubleToStr(KontoGewinn(), 2)

+ "\nStop Level: " + DoubleToStr(gd_240 / 10.0, 1) + " pips"

+ "\nVolume: " + DoubleToStr(g_lots_320, 1) + " ($" + DoubleToStr(g_lots_320 * MarketInfo(Symbol(), MODE_LOTSIZE), 2) + ")";

if (gd_312 > 0.0 && gd_304 + AccountProfit() >= gd_312) {

Comment(ls_0

+ "\n\nTagesgewinn erreicht... See you tomorrow... Gute Nacht :-)");

RemoveAllOrders(1);

return (0);

}

g_ord_total_172 = OrdersTotal();

gi_192 = FALSE;

gi_196 = FALSE;

gi_200 = FALSE;

gi_204 = FALSE;

for (int l_ord_total_24 = g_ord_total_172; l_ord_total_24 >= 0; l_ord_total_24--) {

if (OrderSelect(l_ord_total_24, SELECT_BY_POS) == TRUE && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {

if (OrderType() == OP_BUY) {

gi_200 = TRUE;

Close_B(OrderTicket(), OrderLots());

}

if (OrderType() == OP_SELL) {

gi_204 = TRUE;

Close_S(OrderTicket(), OrderLots());

}

if (OrderType() == OP_BUYLIMIT) {

gd_264 = NormalizeDouble(OrderOpenPrice(), Digits);

g_ticket_176 = OrderTicket();

gi_192 = TRUE;

}

if (OrderType() == OP_SELLLIMIT) {

gd_272 = NormalizeDouble(OrderOpenPrice(), Digits);

g_ticket_180 = OrderTicket();

gi_196 = TRUE;

}

}

}

if (g_bool_188) {

g_ima_288 = iMA(NULL, 0, MA_period, 0, MODE_LWMA, PRICE_TYPICAL, 0);

Modify_order();

Open_order();

} sonst {

Dateien:
Grund der Beschwerde: