Ema Cross! - Seite 55

 

Ema_cross_2

Lieber codersguru,

Vielen Dank für Ihren EA und Ihr Gegentrend-Konzept,

Sogar für das erste Mal, ich und mein Freund sind skeptisch von diesem Countertrend-Methode, aber nach dem Studium und laufen vorwärts testen Sie Ihre EA, wir haben mit den Ergebnissen überrascht

Wir testen weiterhin EMA_CROSS_2 mit dem Zeitrahmen H1, aber wir fanden etwas Interessantes im Paar EUR/USD 03 April 2006, nach dem Kreuzen nach unten, diese EA öffnen Verkaufsposition statt kaufen Position.... ist es normal handeln? (siehe Anhang)

Vielen Dank an Sie...

dedywind

 

7

Hallo floks,

Ich habe 10 EAs für den Wettbewerb geschrieben, aber sie waren zu viel zum Testen.

Also werde ich 3 von ihnen für den Wettbewerb auswählen und die 7 hier einreichen . Sie machen Gewinn in Vorwärtstests.

Viel Spaß damit!

 

Kodierer,

Ich werde zurückgehen und den gesamten Thread lesen, aber ich kann mich nicht erinnern, ob dies angesprochen wurde.

Wenn Sie die Plattform schließen, egal ob es sich um InterbanFX, MT4, ects. handelt, habe ich festgestellt, dass, wenn ich nicht in einer Position bin, und ich habe die neueste MA EA auf es wird automatisch einen Handel ausführen.

Wie können wir verhindern, dass dies jedes Mal passiert, wenn wir die Software wieder öffnen.

Danke

 

Neuling braucht Hilfe mit MA cross EA...

codersguru:
amarnath,

Dies ist mein Bericht (beigefügt)!

Und dies ist die von mir verwendete Version (beigefügt)!

Ich denke, wir können uns nicht nur auf den Backtest verlassen. Aber meine in meinem Test habe ich das Datum von 2005/01/01 bis heute!

Hat schon jemand den MoneyMaker getestet?

Hallo CodersGuru,

Ich habe Ihren ursprünglichen EMA_Cross EA ein wenig modifiziert, um mit einem 5 EMA und einem 10 LWMA Cross mit einem RSI und Stochastic Filter zu arbeiten. Während dieser EA LONG- und SHORT-Aufträge eröffnet und korrekt schließt, erlaubt er mir nicht, gleichzeitig eine Position zu schließen und dann sofort eine neue Position in der entgegengesetzten Richtung zu eröffnen (z.B.: echte "Swing"-Handels-Technik). Auf diese Weise verliere ich viele potenzielle Swing-Trades.

Außerdem kann es vorkommen, dass die Kreuzbedingungen von EMA1 > WMA1 und EMA2 < WMA2 keinen Kauf auslösen, wenn die beiden gleitenden Durchschnitte für den vergangenen Zeitraum denselben Wert hatten oder innerhalb von 1 bis 2 Pips voneinander lagen. Daher möchte ich den Code so ergänzen, dass er nach dieser Art von Bedingung (die häufig auftritt) sucht, um einen Einstieg auszulösen.

Ich bin kein Programmierer, also hoffte ich, Sie könnten mir helfen, herauszufinden, wie man das macht.

Ich habe meinen Code unten inline eingefügt und die MQ4-Datei als Anhang beigefügt. Für jede Hilfe wäre ich Ihnen sehr, sehr dankbar!

//+----------------------------------------------------------------------------------------+

//| 5/10 MA Cross mit RSI und Stoch-Filter

//| Ian Boersma - Copyright 2006 |

//| |

//+----------------------------------------------------------------------------------------+

#property copyright "Ian Boersma"

//---- Eingabeparameter

extern double TakeProfit=100;

extern double Lots=1;

extern double TrailingStop=35;

extern int ShortEma = 5;

extern int LongWma = 10;

extern int RSIPer = 14;

extern int StochK = 10;

extern int StochD = 3;

extern int StochSlow = 3;

//+------------------------------------------------------------------+

//| Experten-Initialisierungsfunktion |

//+------------------------------------------------------------------+

int init()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Experten-Deinitialisierungsfunktion |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

//+------------------------------------------------------------------+

//| Experten-Startfunktion +

//| Hier initialisieren wir interne Variablen für die Programmverwendung +

//+------------------------------------------------------------------+

int start()

{

//----

//LotCalc Deklarationen

int cnt, ticket, total;

//MAs und Filtervariablendeklarationen

double RSI;

double Stoch;

double EMA1,EMA2,WMA1,WMA2;

if(Bars<100)

{

Print("Balken weniger als 100");

return(0);

}

if(TakeProfit<10)

{

Print("TakeProfit kleiner als 10");

return(0); // TakeProfit prüfen

}

//MA und Filtervariablendefinition

EMA1 = iMA(NULL,0,ShortEma,0,MODE_EMA,PRICE_CLOSE,0);

WMA1 = iMA(NULL,0,LongWma,0,MODE_LWMA,PREIS_SCHLUSS,0);

EMA2 = iMA(NULL,0,ShortEma,0,MODE_EMA,PREIS_SCHLUSS,1);

WMA2 = iMA(NULL,0,LongWma,0,MODE_LWMA,PREIS_SCHLIESSEN,1);

RSI = iRSI(NULL,0,RSIPer,PRICE_CLOSE,0);

Stoch = iStochastic(NULL,0,StochK,StochD,StochSlow,MODE_SMA,0,MODE_MAIN,0);

int isCrossed = 0;

if (EMA1 > WMA1 && EMA2 = 50 && Stoch < 80)

{isCrossed = 1;

}

if (EMA1 = WMA2 && RSI 20)

{istGekreuzt = 2;

}

//Wir prüfen, ob das Handelsterminal leer ist

total = OrdersTotal();

if(total < 1) //Wenn das Handelsterminal leer ist...

{

if(isCrossed == 1) //wenn Cross auf LONG Swing hinweist...

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,2,0,Ask+TakeProfit*Point, "Mein EA",12345,0,Yellow);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der BUY-Order : ",GetLastError());

return(0);

}

if(isCrossed == 2) //wenn Cross auf SHORT swing hinweist...

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,2,0,Bid-TakeProfit*Point, "Mein EA",12345,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());

}

else Print("Fehler beim Öffnen der SELL-Order : ",GetLastError());

return(0);

}

return(0);

}

//Position Exit-Funktion...

for(cnt=0;cnt<gesamtzahl;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

OrderPrint();

if(OrderType()<=OP_SELL && OrderSymbol()==Symbol())

{

if(OrderType()==OP_BUY) // Long-Position wird eröffnet

{

// Prüfen, ob eine SHORT-Cross-Bedingung vorliegt...

if(isCrossed == 2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); // Position schließen

return(0); // Ausstieg

}

// Überprüfen Sie unseren Trailing Stop, um zu sehen, ob er angepasst werden muss

if(NachlaufenderStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);

return(0);

}

}

}

}

else // auf Short-Position gehen

{

// Prüfen, ob eine LONG-Cross-Bedingung vorliegt...

if(isCrossed == 1)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); // Position schließen

return(0); // Ausstieg

}

// Überprüfen Sie unseren Trailing Stop, um zu sehen, ob er angepasst werden muss

if(NachlaufenderStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

}

}

return(0);

}

//+------------------------------------------------------------------+

 
iboersma:
Hallo CodersGuru,

Ich habe Ihren ursprünglichen EMA_Cross EA ein wenig modifiziert, um mit einem 5 EMA und einem 10 LWMA Cross mit einem RSI- und Stochastik-Filter zu arbeiten. Während dieser EA öffnet LONG und SHORT Aufträge und schließt aus ihnen richtig, es erlaubt mir nicht, gleichzeitig eine Position zu schließen und dann sofort eine neue Position in die entgegengesetzte Richtung (z. B.: echte "Swing"-Handelstechnik) zu öffnen. Auf diese Weise verliere ich viele potenzielle Swing-Trades.

Außerdem kann es vorkommen, dass die Kreuzbedingungen von EMA1 > WMA1 und EMA2 < WMA2 keinen Kauf auslösen, wenn die beiden gleitenden Durchschnitte für den vergangenen Zeitraum den gleichen Wert hatten oder innerhalb von 1 bis 2 Pips voneinander lagen. Daher möchte ich den Code so ergänzen, dass er nach dieser Art von Bedingung (die häufig auftritt) sucht, um einen Einstieg auszulösen.

Ich bin kein Programmierer, daher hoffe ich, dass Sie mir helfen können, herauszufinden, wie ich das machen kann. ....

Ich werde es überprüfen!

 
codersguru:
Ich werde es überprüfen!

Danke für Ihre Hilfe...

- Ian

 
codersguru:
Ich werde es überprüfen!

CodersGuru,

Ich habe eine neuere Version meines EA angehängt, da ich ein Problem mit der Bestimmung der "isCrossed"-Bedingung entdeckt habe (ich habe versucht, die RSI- und Stoch-Filter zur ursprünglichen isCrossed-Bedingung hinzuzufügen, anstatt sie nur als Qualifier für die Eingabe einer Position hinzuzufügen.

Ich hoffe, das macht mehr Sinn...

- Ian

 
iboersma:
Vielen Dank für Ihre Hilfe... - Ian

Ich denke, dass Punkt 1 funktioniert (wenn Kauf schließen, Verkauf öffnen und wenn Verkauf schließen, Kauf öffnen) Siehe den beigefügten Test.

Dateien:
 
codersguru:
Ich denke, dass Punkt 1 funktioniert (bei Kaufschluss offener Verkauf und bei Verkaufsschluss offener Kauf). Schauen Sie sich den angehängten Test an.

Cool! Das sieht definitiv wie das Stope and Reverse-Typ-System aus, das ich suche (obwohl der Nettogewinn nicht sehr ermutigend aussieht...:))

Ich verwende dieses System seit etwa einer Woche manuell und habe einige sehr ermutigende Ergebnisse erzielt. Es wird also interessant sein, die vollständigen Backtesting-Zahlen zu erhalten, um zu sehen, ob ich auf der richtigen Spur bin oder einfach nur Glück hatte...

- Ian

 
gody6000:
das ist die 2. Woche lolhttp://9q9q.com/March/1144348631.zip

Entschuldigung, aber was ist das?

Grund der Beschwerde: