Jump to content
Tom Next - Daytrading Community
  • entries
    172
  • comments
    434
  • views
    3,611

GAP-Close: Teil 2


tinozi

65 views

Kommen wir zum 2. Teil: Der Auswertung der GAP-Close-Strategie im EURUSD. Der EURJPY und GBPUSD folgen in Kürze.

Ich hatte doch heute morgen tatsächlich angefangen, den Kurs der Vergangenheit von Hand nach GAPs an Montagen abzusuchen :respekt: . Nach 30 min flimmerte es mir vor den Augen und ich hatte noch keinen GAP über 50 PIPs Abstand zum Wochenendkurs im EURUSD gefunden.

Also mal kurz gegoogelt und ich habe doch tatsächlich auf MQL4Code Base einen EA gefunden, den ich sehr gut zum Backtesten verwenden kann. linked.gif

 

Hier der Code:

 

//+------------------------------------------------------------------+
 //|														 gaps.mq4 |
 //|														SFK Corp. |
 //+------------------------------------------------------------------+
 #property copyright "SFK Corp."
 #property link	  ""
 //---- input parameters
 extern int	min_gapsize = 1;
 extern double lotsize_gap = 0.1;
 //----
 datetime order_time = 0;
 //+------------------------------------------------------------------+
 //| expert initialization function								   |
 //+------------------------------------------------------------------+
 int init()
{
 //----
 return(0);
}
 //+------------------------------------------------------------------+
 //| expert deinitialization function								 |
 //+------------------------------------------------------------------+
 int deinit()
{
 //----
 return(0);
}
 //+------------------------------------------------------------------+
 //| expert start function											|
 //+------------------------------------------------------------------+
 int start()
{
 /* 
  Thing to be done in future in this program to make it more efficient
  and more powerful:
 1. Make the dicission of the quantity of lots used according to 
	the scillators;
 2. This program will catch the gaps.
  Things to ware of:
 1. the spread;
 2. excuting the order not on the gap ends a little bit less.
 */
 // Defining the variables to decide.
 Print("order time", order_time);
 double current_openprice = iOpen(Symbol(), PERIOD_M15, 0);
 double previous_highprice = iHigh(Symbol(), PERIOD_M15, 1);
 double previous_lowprice = iLow(Symbol(), PERIOD_M15, 1);
 double point_gap = MarketInfo(Symbol(), MODE_POINT);
 int spread_gap = MarketInfo(Symbol(), MODE_SPREAD);
 datetime current_time = iTime(Symbol(), PERIOD_M15, 0);
 // catching the gap on sell upper gap
 if(current_openprice > previous_highprice + (min_gapsize + spread_gap)*point_gap &&
	current_time != order_time)
   {
	 int ticket = OrderSend(Symbol(), OP_SELL, lotsize_gap, Bid, 0, 0, 
							previous_highprice + spread_gap*point_gap, 
							"", 4, 0, Red);
	 order_time = iTime(Symbol(), PERIOD_M15, 0);
	 Print("I am inside (sell) :-)", order_time);
	 //----
	 if(ticket < 0)
	   {
		 Print("OrderSend failed with error #", GetLastError());
	   }
   }
 //catching the gap on buy down gap
 if(current_openprice < previous_lowprice - (min_gapsize + spread_gap)*point_gap &&
	current_time != order_time)
   {
	 ticket = OrderSend(Symbol(), OP_BUY, lotsize_gap, Ask, 0, 0, 
						previous_lowprice - spread_gap*point_gap,
						"", 5, 0, Green);
	 order_time = iTime(Symbol(), PERIOD_M15, 0);
	 Print("I am inside (buy) :-)", order_time);
	 if(ticket < 0)
	   {
		 Print("OrderSend failed with error #", GetLastError());
	   }
   }
 //----
 return(0);
}
 //+------------------------------------------------------------------+

 

Man stellt den Mindestgap (50 PIPs) und die Lotsize sowie Long oder Short oder beide Richtungen ein und los gehts mit dem Test. Ernüchterndes Ergebnis: Im letzten Jahr gab es nur einen GAP größer 50 PIPs im EURUSD und der war vom 9.-11.Mai 2010.

Den habe ich auch gehandelt.linked.gif

 

Hm, ein bisschen mager, um darauf eine Strategie aufbauen zu können.

Also habe ich die letzten 6 Jahre mit den gleichen Parametern gescannt und bin auf gerade mal 33 Trades gekommen. Alle wurden im Gewinn geschlossen, wobei der längste Trade vom 29.09.2008 bis zum 18.12.2008 lief, wobei die Equitykurve schon arg in den Keller ging. Ich habe ein 500-Euro Konto mit 1 Microlot simuliert, also mit 0,5% vom Kontostand. Ein Stop ist in diesem EA natürlich nicht vorgesehen. Aber darum ging es ja hier auch gar nicht.

Die Tabelle des Backtests habe ich um die Spalten MinusPIPs, Bemerkungen und Tradedauer ergänzt, dafür die Positionsgröße, Gewinn und Kontostand entfernt.

MinusPIPs ist die Spanne, die der Trade ins Minus gelaufen ist.

Hier findet ihr die Tabelle:

 

 

Mal schauen, ob ich die beiden anderen Pairs auch noch heute checke, ansonsten reiche ich die nächste Woche nach.

Erstes Fazit: Nur mit dem EURUSD lässt sich wegen der seltenen GAPs sicher keine vernünftige Strategie aufbauen, hier muss ich abwarten, ob das bei den anderen Pairs ähnlich ist (vor allem vom Zeitpunkt). Meist ist es ja so, wenn zum Wochenstarts GAPs auftreten, dann in allen EuroPairs z.B..

Zusätzlich und mit geringsten Positionsgrößen finde ich es okay, die Schließung der GAPs zu handeln.

 

Nur würde ich das Ganze noch ein wenig modifizieren:

Tradebeginn erst 30 min nach Markteröffnung und einstoppen lassen. So entgehen einem vielleicht ein paar Gewinntrades (die sofort wieder schließen) aber man verringert auch das Risiko, den Trade über Tage, Wochen, Monate halten zu müssen und das Kapital zu binden. Tja, und dann wäre da noch die Möglichkeit des Notstopps. Z.B. bei 10% des Kontostandes oder nach 1 Monat....

 

Nachtrag: Die Verlässlichkeit des Backtests darf angezweifelt werden! Ich habe eben den gleichen Test noch mal im MT4 von FXPro durchlaufen lassen und hatte einen Trade dabei, der nicht geschlossen wurde. Als ich daraufhin im Chart nachgeschaut habe bemerkte ich, dass die Kurse vom 12.03.2010 bis 25.03.2010 komplett fehlen!

In dieser Zeit hat sich der Kurs 400 PIPs nach unten bewegt, was im Chart wie ein Riesengap aussieht, der natürlich seitdem nicht mehr geschlossen wurde.

 

So, und die Tests im EUR/JPY und GBPUSD habe ich auch versucht, aber da werden im Zeitraum 2004-2010 weniger als 10 GAPs gehandelt :blink: . Da stimmt ja mit der Quali der History irgendwas nicht...

lost_data_backtest_eurusd.gif

8 Comments


Recommended Comments

Ich kann dir da nur ans Herz legen:

steige auf Multicharts mit MBT um.

MC kostet zwar 1500 $, ist aber echt toll. Mit MBT kann man auch Min- und Microlots handeln, ohne dass Mindestkommissionen alles versauen (wie bei IB).

Mit MBT kann man ca. für ein halbes Jahr historische Kurse abrufen, will man mehr, greift man zu einen Datenfeedanbieter, wie zB Barcharts, wo alle möglichen historischen Kurse zusammen für MBT 49 $ im Monat kosten.

Zugegeben, dass ist alles ganz schön teuer wenn man noch nicht richtig dickes Geld verdient, aber zumindest werden die Backtests dann realistischer als mit MT4 und man hat so einige Probleme weniger.

Link to comment

Was mir da gestern Abend aufgefallen ist: Du musst auch unbedingt mal prüfen wann die Broker öffnen und wann schliessen. Gestern Abend gabs ein kleines Gap im EUR/USD. So hab ichs bei GFT gesehen. Bei ActivTrades(MT4) gabs zwar auch nen Gap aber das wurde nicht geschlossen - das bei GFT schon. Es lag daran das ActivTrades eine Stunde später angefangen hat Kurse zu stellen.

Aber trotzdem nen interessantes Thema, aber meine Frage - Wieso nur Gaps über 50 Pips?

Link to comment

@Henrik: Ich stimme dir zu, über kurz oder lang muss ich weg vom Metatrader. Geht aber z.Zt. aus Kosten-/Zeitgründen nicht. Aber ich arbeite dran :kruemel:

Ich müsste mich ja auch erstmal in die Plattform einarbeiten, dann ne Weile Demo fahren usw... Aber irgendwie habe ich noch nicht die Zeit dafür aufbringen können, es stehen auch gerade ein paar berufliche Änderungen an...

 

@Rumpel: GFT beginnt schon 22 Uhr? Bin bei ActivTrades, die öffnen So., 23 Uhr. Einen kleinen Down-GAP von 20 PIPs hatte ich auch. Close am Freitag: 1,2362 und Open gestern bei 1,2342, geschlossen wurde er 15 Minuten später und ging hoch bis 1,2370.

Hast du im Demokonto bei Activtrades geschaut? Sonst kann ich mir den Unterschied von 8 PIPs nicht erklären.

Wieso nur Gaps über 50 Pips?

Schließlich gehe ich das Risiko ein, dass der Trade vor der GAP-Schließung erst mal ein paar hundert PIPs in die Gegenrichtung läuft. Von daher muss ich kleinste Positionsgrößen nehmen und für 10 oder 20 PIPs Gewinn lohnt das nicht...

 

Oder wie seht ihr das?

 

Link to comment
Schließlich gehe ich das Risiko ein, dass der Trade vor der GAP-Schließung erst mal ein paar hundert PIPs in die Gegenrichtung läuft. Von daher muss ich kleinste Positionsgrößen nehmen und für 10 oder 20 PIPs Gewinn lohnt das nicht...

 

Oder wie seht ihr das?

 

Also wenn du schon die Strategie dafür hast, optimiere die doch spaßeshalber mal nach Anzahl der Pips im GAP. Und wenns nur 5 Pips sind - Gewinn ist Gewinn.

Grundsätzlich taugt FX aber nicht für GAPs, da es zu selten ist.

 

 

Link to comment

Mh nein sie fangen auch um 23.00 an. So wie normal .... aber irgendwie lief der Chart beim Metatrader erst ab 0.00 (Demo)

naja wer weis ...

Link to comment
...optimiere die doch spaßeshalber mal nach Anzahl der Pips im GAP. Und wenns nur 5 Pips

Habe es mal mit 5 PIPs Minimum anstatt 50 PIPs durchlaufen lassen. 172 Trades seit 2004, 55 % Drawdown und ein Trade von 2006 wäre noch offen, wurde dann mit Verlust zum Ende des Testzeitraums 05/2010 geschlossen. Hier die Reportdatei.

 

Henrik, nochmal zu Multichart+MBT: Da könnte ich doch zum Kennenlernen die 30Tage-Demo von Multichart an ein Demokonto von MBT anbinden, richtig? Kann man den Testzeitraum verlängern?

Mein bisheriger Broker Activtrades bietet zwar auch den Ninjatrader an, aber nicht für FX, sondern Futures...

 

Grundsätzlich taugt FX aber nicht für GAPs, da es zu selten ist.

Ist wohl so, aber wenn mal ein GAP daherkommt, werde ich die Schließung handeln. Zusätzlich zum normalen Traden...

 

@Rumpel: So sah bei mir der Livechart bei Aktivtrades gestern nacht aus:

http://fx.tinozi.de/16.05.2010_eurusd_gap.gif

Link to comment

Bei Multicharts kann man den Testzeitraum nicht verlängern.

Dafür kann man im Testzeitraum schon voll live traden, im Gegenssatz zu NT, welches man unbegrenzt nutzen kann aber ohne Livetrades.

Ich habe für beide eine Lifetime-Lizenz, und MC ist wesentlich besser in meinen Augen, da auch viel einfacher zu programmieren. Hat zwar auch kleine Schwächen welche aber nach und nach behoben werden in den nächsten Versionen.

Link to comment
×
×
  • Create New...