Ubzener Systementwicklungsprozess - Seite 4

 
sakis:


Ich interessiere mich für beide Systeme es muss verkaufen, wenn der Markt die Richtung ändern

Wenn Sie eine einfache Kreuzung zwischen 3WLMA und 100SMA 30 min Chart EUR/USD tp 150pips und Ausstieg, wenn Kreuzung happent nicht SL werden Sie am Ende mit extremen

profittable System, das ich es für somme Zeit schauen Sie die Ergebnisse und schreiben Sie mir zurück mit 13% drawdowm verwenden

Dieses System (3LWMA 100SMA cross) funktioniert nicht auf EURUSD H1,H4 und Daily chart
 
zzuegg:
Dieses System (3LWMA 100SMA cross) funktioniert nicht auf EURUSD H1,H4 und Daily chart

hallo zzuegg ich weiß, dass es funktioniert in 30min chart und funktioniert nur in euro min chart setzen Sie das System seine selbst mit aus macd
 

sakis:

hi zzuegg i know that,

es funktioniert im 30-Minuten-Diagramm und funktioniert nur in Euro

Setzen Sie das System einfach selbst ohne macd
 
sakis:


Manchmal funktionieren die Systeme im Live-Handel besser als im automatischen Handel, weil das menschliche Auge niemals eine Konsolidierung vor dem 6. tuch zulässt.

des Kanals und auch vor einem Thrust happent

so wie man nie eine gegenläufige Bewegung nimmt, bevor sich überlappende Wellen ereignen, gefolgt von einem Spike mit Kanalüberschreitung

auch Sie alle Möglichkeiten nehmen einen Ausbruch, wenn hapent in einem 3. oder 4. Bewegung in einem kurzen Zeitraum von 1 oder 2 Tagen und hohe Tick-Werte, weil es bedeutet, dass die Preise in starken Händen sind

Wir brauchen also Filter, um dieses menschliche Auge zu überlisten.

 

Ok, hier ist die schlechte Zeit, auf die ich mich bezog. Ich werde das jetzt rückwärts laufen lassen, 1 Jahr nach dem anderen. 2009, 2008 usw.

Hier sind die jährlichen Ergebnisse:

2010--Max-DD= 6.47____Rel-DD= 6.47____Net_Profit=4588____Factor=2.48
2009--Max-DD=26.76____Rel-DD=26.76____Net_Profit=-380____Factor=0.94
2008--Max-DD=19.79____Rel-DD=19.79____Net_Profit=1096____Factor=1.20
2007--Max-DD= 7.10____Rel-DD= 7.10____Net_Profit=1506____Factor=1.62
2006--Max-DD=20.46____Rel-DD=20.46____Net_Profit=-1612____Factor=0.63
2005--Max-DD= 8.79____Rel-DD= 8.79____Net_Profit= -23____Factor=0.99

2005----------------

2006-----------------

2007-----------------

2008--------------

2009 ------------------

2010----------------

Ein paar Beobachtungen.

1) Das System neigt dazu, die meiste Zeit in einer Reihe zu verlieren, anstatt zufällig. Der Z-Score aus dem Artikel könnte dabei helfen.

Dies unterstreicht die Tatsache, warum professionelle Händler eine Rendite von 20-30% pro Jahr anstreben.

 

Im Moment kann ich nur bis zum Jahr 2005 zurückgehen, weil ich die Daten von Fxdd verwende, die hier zu finden sind. Der Grund, warum ich mit diesen Daten ist, weil Fxdd schließt für das Wochenende, genau wie mein Broker und haben das Wochenende Lücken standardmäßig. Außerdem sind ihre Zeiteinstellungen näher an denen meines Brokers. Wenn ich Zeit habe, werde ich die Daten von 2000-2005 hier testen. Ihre Woche beginnt am Mittwoch und sie laufen 6 Tage die Woche.

Tho, der einzige Zeitraum, den ich visuell gesehen habe, ist der Zeitraum von Januar bis März 2010. Meine beste Vermutung ist, dass dieses System in sequentieller Weise verliert, weil es in engen oder sehr volatilen Bereichen ist. Aber das gilt nur am besten für 2008, und selbst wenn Sie nur begrenzte Erfahrung mit dem Anstarren von Charts haben, könnten Sie erraten, dass es etwas mit der globalen Finanzkrise zu tun haben könnte und die Märkte sich zu dieser Zeit mehr auf Fear bewegt haben könnten.

Was ist also jetzt zu tun?

-Ergebnisse akzeptieren (z. B. ein Verlustjahr ist in Ordnung), unsere Kelly berechnen und nicht gierig sein?

-mit weiteren statistischen Analysen wie dem Z-Score weitermachen. Aber selbst wenn ich eine Bestätigung für die Korrelation zwischen Verlusten erhalte, was dann? Vielleicht muss ich dann immer noch auf andere Methoden zurückgreifen, um die Daten zu filtern.

-Visuelles Betrachten der Daten während der schlechten Perioden und versuchen, das zu vermeiden, was sie kaputt macht? Der Nachteil ist, dass dies zu einer Kurvenanpassung führen kann ... wenn zu viel Wissen aus der Vergangenheit vermieden wird, nur um den Backtest gut aussehen zu lassen.

-Anwendung von Blindfiltern wie Range, Volatilität, Zeit, Volumen usw. Der Nachteil hierbei ist, dass die Filter die Anzahl der Trades begrenzen. Beispiel: Handel in 1-Richtung zu einer Zeit oder halten auf lange Trends ist Filter die meisten Menschen nicht erkennen, ist als ein Filter handeln. Mein einziges Problem mit diesem System ist, dass es nicht aktiv genug ist, um $1.000 innerhalb einer angemessenen Zeit in Glück zu verwandeln, um die meisten Menschen glücklich zu machen. Aber das könnte durch das Hinzufügen von anderen stabilen Systemen auf dem Konto überwunden werden.

-Die letzte, aber am wenigsten beliebte Option: Das System ein wenig mehr verändern. Beispiel:

a) Scalp on Direction - Nachteil, wir brauchen Tickdaten. Können solide MM-Prinzipien mit solchen Add-ons funktionieren?

b) Pyramid on Direction - wir fügen Lots hinzu, wenn der Preis in unsere Richtung geht - Nachteil: Wie schließen wir sie, wenn er gegen uns geht?

c) Dollar Cost Averaging - Hinzufügen über Zeitintervalle, aber vor dem Take Profit. Nachteil, es gibt keine Rücksicht auf die Situation.

d) Grid - Hinzufügen der gleichen Größe, wenn sich die Position über eine bestimmte Distanz gegen uns entwickelt - Nachteil, führt zu einer umgedrehten RRR, und MM kann nicht mithalten.

e) Martingale/Progression (ha.ha.ha.ha) auf jede der oben genannten Methoden. Für jemanden, der aus einem kleinen Konto ein großes machen will, könnte dies attraktiv klingen. Der Nachteil ist, dass man definitiv kein richtiges MM verfolgen kann.

Ich persönlich neige dazu, dies als das zu bezeichnen, was es ist und mit MM weiterzumachen.

Ich werde gerne wissen, was andere denken, wie andere vielleicht das Gefühl "No-Way, ich werde etwas Besseres verlangen".

 
ubzen:

Im Moment kann ich nur bis zum Jahr 2005 zurückgehen, weil ich die Daten von Fxdd verwende, die hier zu finden sind. Der Grund, warum ich mit diesen Daten ist, weil Fxdd schließt für das Wochenende, genau wie mein Broker und haben das Wochenende Lücken standardmäßig. Außerdem sind ihre Zeiteinstellungen näher an denen meines Brokers. Wenn ich Zeit habe, werde ich die Daten von 2000-2005 hier testen. Ihre Woche beginnt am Mittwoch und sie laufen 6 Tage die Woche.

Tho, der einzige Zeitraum, den ich visuell betrachtet habe, ist der Zeitraum von Januar bis März 2010. Meine beste Vermutung ist, dass dieses System in sequentieller Weise verliert, weil es in engen oder sehr volatilen Bereichen ist. Aber das gilt nur am besten für 2008, und selbst wenn Sie nur begrenzte Erfahrung mit dem Anstarren von Charts haben, könnten Sie erraten, dass es etwas mit der globalen Finanzkrise zu tun haben könnte und die Märkte sich zu dieser Zeit mehr auf Fear bewegt haben könnten.

Was ist also jetzt zu tun?

-Ergebnisse akzeptieren (z. B. ein Verlustjahr ist in Ordnung), unsere Kelly berechnen und nicht gierig sein?

-mit weiteren statistischen Analysen wie dem Z-Score weitermachen. Aber selbst wenn ich eine Bestätigung für die Korrelation zwischen Verlusten erhalte, was dann? Vielleicht muss ich dann immer noch auf andere Methoden zurückgreifen, um die Daten zu filtern.

-Visuelles Betrachten der Daten während der schlechten Perioden und versuchen, das zu vermeiden, was sie kaputt macht? Der Nachteil ist, dass dies zu einer Kurvenanpassung führen kann ... wenn zu viel Wissen aus der Vergangenheit vermieden wird, nur um den Backtest gut aussehen zu lassen.

-Anwendung von Blindfiltern wie Range, Volatilität, Zeit, Volumen usw. Der Nachteil hierbei ist, dass die Filter die Anzahl der Trades begrenzen. Beispiel: Handel in 1-Richtung zu einer Zeit oder halten auf lange Trends ist Filter die meisten Menschen nicht erkennen, ist als ein Filter handeln. Mein einziges Problem mit diesem System ist, dass es nicht aktiv genug ist, um $1.000 innerhalb einer angemessenen Zeit in Glück zu verwandeln, um die meisten Menschen glücklich zu machen. Aber das könnte durch das Hinzufügen von anderen stabilen Systemen auf dem Konto überwunden werden.

-Die letzte, aber am wenigsten beliebte Option: Das System ein wenig mehr verändern. Beispiel:

a) Scalp on Direction - Nachteil, wir brauchen Tickdaten. Können solide MM-Prinzipien mit solchen Add-ons funktionieren?

b) Pyramid on Direction - wir fügen Lots hinzu, wenn der Preis in unsere Richtung geht - Nachteil: Wie schließen wir sie, wenn er gegen uns geht?

c) Dollar Cost Averaging - Hinzufügen über Zeitintervalle, aber vor dem Take Profit. Nachteil, es gibt keine Rücksicht auf die Situation.

d) Grid - Hinzufügen der gleichen Größe, wenn sich die Position über eine bestimmte Distanz gegen uns entwickelt - Nachteil, führt zu einer umgedrehten RRR, und MM kann nicht mithalten.

e) Martingal/Progression (ha.ha.ha.ha) auf jede der oben genannten Methoden. Für jemanden, der aus einem kleinen Konto ein großes machen will, könnte dies attraktiv klingen. Der Nachteil ist, dass man definitiv kein richtiges MM verfolgen kann.

Ich persönlich neige dazu, dies als das zu bezeichnen, was es ist und mit MM weiterzumachen.

Ich würde gerne wissen, was andere denken, da andere vielleicht das Gefühl haben "No-Way, ich werde etwas Besseres verlangen".


Hallo,

Pyramiding auf Richtungen scheint mächtig, das ist genau das, was meine Version tut. Ich Pyramide mit den sekundären Trades.

Leider zeigt uns MAE, dass die Mittelwertbildung bei dieser Strategie nicht funktioniert, ich sage "leider", weil ich das mag ;)


Aber eine andere Frage, die ich habe, ist an Phillip.

In Ihrem Skript untersuchen Sie die Zeit zwischen OrderOpen und OrderClose, aber wie Ihr Diagramm zeigt, sollten Sie auch einige Zeit vor und nach Open/Close untersuchen, um einen Überblick und eine richtige MAE/MFE-Berechnung zu erhalten? Bin ich auf dem falschen Weg?

 
zzuegg:

Aber eine andere Frage habe ich an Phillip.

In Ihrem Skript untersuchen Sie die Zeit zwischen OrderOpen und OrderClose, aber wie Ihr Diagramm zeigt, sollten Sie auch einige Zeit vor und nach Open/Close untersuchen, um einen Überblick und eine richtige MAE/MFE-Berechnung zu erhalten? Bin ich auf dem falschen Weg?


Richtig. Auf einer Trade-by-Trade-Basis sollten Sie berechnen, ob die Zeit bis zur MAE zuerst oder zuletzt im Verhältnis zur Zeit bis zur MFE eintrat. Abschlüsse, bei denen die MAE vor der MFE eintritt, werden als "Typ 1" bezeichnet. Abschlüsse, bei denen die MFE vor der MAE eintritt, werden als "Typ 2" bezeichnet.

Ein einfaches Maß für die Marktprognosefähigkeit Ihrer Strategie besteht darin, das Auftreten von Abschlüssen des Typs 1 durch die Gesamtzahl der Abschlüsse ins Verhältnis zu setzen und mit 100% zu multiplizieren. Angenommen, Sie haben 100 Abschlüsse in einem Jahr, 90 davon sind Abschlüsse vom Typ 1 und 10 davon vom Typ 2. Ihre "Vorhersage-Erfolgsquote" beträgt also 90/100 x 100% = 90%.

Strategien mit einer besseren kurzfristigen Marktvorhersage sind wünschenswerter als Strategien, die die kurzfristige Marktrichtung nicht korrekt vorhersagen können. (aus allen offensichtlichen Gründen)
 

Ok, das habe ich verstanden, aber sollten Sie auch zulassen, dass TimeToMAE in Bezug auf die Opentime negativ und positiv ist? Positives TimeToMAE, wenn Sie zu früh in den Handel eingestiegen sind, und negatives, wenn Sie zu spät eingestiegen sind. Natürlich könnte die Mittelwertbildung der Werte zu einer perfekten Strategie führen, so dass Sie auch den StdDev des tToMAE betrachten müssen.

Wie ich sehe, lassen Sie keine negativen tToMAE's zu.

Durch die Einführung der Variablen WatchBarsBeforeOpen und WatchBarsAfterClose denke ich, dass ich dieses Problem überwunden habe. Beachten Sie, dass es sich hierbei noch um ein frühes Projekt handelt. tToMAE und tToMFE werden in Minuten angegeben, so genau wie es der verwendete Zeitrahmen erlaubt.

Es sind noch keine Analysen enthalten, nur Rohdaten.

//+------------------------------------------------------------------+
//|                                      AdvancedReport_03_04_11.mq4 |
//|                                                           zzuegg |
//|                                       when-money-makes-money.com |
//+------------------------------------------------------------------+
#property copyright "zzuegg"
#property link      "when-money-makes-money.com"

extern int WatchBarsBeforeOpen=10;
extern int WatchBarsAfterClose=10;
extern int WatchPeriod=0;

int ticket[];
int mae[];
int mae.time[];
int mfe[];
int mfe.time[];
int mfee[];
int profit[];
int missed[];

void reportTrade(int trade){
   OrderSelect(trade,SELECT_BY_TICKET,MODE_HISTORY);
   int start   =(iBarShift(OrderSymbol(),WatchPeriod,OrderOpenTime(),false) +WatchBarsBeforeOpen)+1;
   int end     =iBarShift(OrderSymbol(),WatchPeriod,OrderCloseTime(),false) -WatchBarsAfterClose;
   int highest =iHighest (OrderSymbol(),WatchPeriod,MODE_HIGH,(start-end)+1,end);
   int lowest  =iLowest  (OrderSymbol(),WatchPeriod,MODE_LOW,(start-end)+1,end);
  // Print(OrderTicket()+"  "+start+"  "+end+"  "+highest+"  "+lowest);
   ArrayResize(ticket,ArraySize(ticket)+1);   
   ArrayResize(mae,ArraySize(mae)+1);
   ArrayResize(mae.time,ArraySize(mae.time)+1);
   ArrayResize(mfe,ArraySize(mfe)+1);
   ArrayResize(mfe.time,ArraySize(mfe.time)+1);
   ArrayResize(mfee,ArraySize(mfee)+1);
   ArrayResize(profit,ArraySize(profit)+1);
   ArrayResize(missed,ArraySize(missed)+1);
   
   //Print(TimeMinute(OrderOpenTime())+"  "+TimeMinute(OrderCloseTime())+"  "+TimeMinute(iTime(OrderSymbol(),WatchPeriod,lowest))+"  "+TimeMinute(iTime(OrderSymbol(),WatchPeriod,highest)));
   ticket[ArraySize(ticket)-1]            =OrderTicket();
   switch(OrderType()){
      case OP_BUY:{
         mae[ArraySize(mae)-1]            =(OrderOpenPrice()-iLow(OrderSymbol(),WatchPeriod,lowest))/MarketInfo(OrderSymbol(),MODE_POINT);
         mae.time[ArraySize(mae.time)-1]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,lowest))/60;
         mfe[ArraySize(mae)-1]            =(iHigh(OrderSymbol(),WatchPeriod,highest)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         mfe.time[ArraySize(mae.time)-1]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,highest))/60;
         profit[ArraySize(profit)-1]      =(OrderClosePrice()-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         missed[ArraySize(missed)-1]      =(mae[ArraySize(mae)-1]+mfe[ArraySize(mfe)-1])-profit[ArraySize(profit)-1];
         mfee[ArraySize(mfee)-1]          =(mfe[ArraySize(mfe)-1])-profit[ArraySize(profit)-1];
      break;
      }
      case OP_SELL:{
         mae[ArraySize(mae)-1]            =(iHigh(OrderSymbol(),WatchPeriod,highest)-OrderOpenPrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         mae.time[ArraySize(mae.time)-1]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,highest))/60;
         mfe[ArraySize(mae)-1]            =(OrderOpenPrice()-iLow(OrderSymbol(),WatchPeriod,lowest))/MarketInfo(OrderSymbol(),MODE_POINT);
         mfe.time[ArraySize(mae.time)-1]  =(OrderOpenTime()-iTime(OrderSymbol(),WatchPeriod,lowest))/60;
         profit[ArraySize(profit)-1]      =(OrderOpenPrice()-OrderClosePrice())/MarketInfo(OrderSymbol(),MODE_POINT);
         missed[ArraySize(missed)-1]      =(mae[ArraySize(mae)-1]+mfe[ArraySize(mfe)-1])-profit[ArraySize(profit)-1]; 
         mfee[ArraySize(mfee)-1]          =(mfe[ArraySize(mfe)-1])-profit[ArraySize(profit)-1];      
      break;
      }
   }  
}

void writeCSV(string EA.name,string EA.parameter=""){
   int hnd=FileOpen(EA.name+"-"+EA.parameter+".csv",FILE_CSV | FILE_WRITE,";");
   FileWrite(hnd,"Ticket","MAE","TimeToMAE","MFE","TimeToMFE","MFEE","Profit","Missed");
   for(int i=0;i<ArraySize(mae);i++){
      FileWrite(hnd,ticket[i],mae[i],mae.time[i],mfe[i],mfe.time[i],mfee[i],profit[i],missed[i]);
   }
   FileClose(hnd);
}


void AdvancedReport.doStatistics(string EA.name,string EA.parameters="",int EA.limitMagicNumber=-1){
   for(int i=0;i<OrdersHistoryTotal();i++){
      OrderSelect(i,SELECT_BY_POS,MODE_HISTORY);
      if(OrderMagicNumber()==EA.limitMagicNumber || EA.limitMagicNumber==-1){
         reportTrade(OrderTicket());
      }
   }
   
   
   writeCSV(EA.name,EA.parameters);
}
 
ubzen:

Ok, hier ist die schlechte Zeit, auf die ich mich bezog. Ich werde das jetzt rückwärts laufen lassen, 1 Jahr nach dem anderen. 2009, 2008 usw.

Hier sind die jährlichen Ergebnisse:

2010--Max-DD= 6.47____Rel-DD= 6.47____Net_Profit=4588____Factor=2.48
2009--Max-DD=26.76____Rel-DD=26.76____Net_Profit=-380____Factor=0.94
2008--Max-DD=19.79____Rel-DD=19.79____Net_Profit=1096____Factor=1.20
2007--Max-DD= 7.10____Rel-DD= 7.10____Net_Profit=1506____Factor=1.62
2006--Max-DD=20.46____Rel-DD=20.46____Net_Profit=-1612____Factor=0.63
2005--Max-DD= 8.79____Rel-DD= 8.79____Net_Profit= -23____Factor=0.99

2005----------------

2006-----------------

2007-----------------

2008--------------

2009 ------------------

2010----------------

Ein paar Beobachtungen.

1) Das System neigt dazu, die meiste Zeit in einer Reihe zu verlieren, anstatt zufällig. Der Z-Score aus dem Artikel könnte dabei helfen.

Dies unterstreicht die Tatsache, warum professionelle Händler eine Rendite von 20-30% pro Jahr anstreben.



Wenn Sie über ROI-Daten verfügen, die sich über Monate und Jahre erstrecken, dann haben Sie die Daten, die Sie benötigen, um das Risiko eines zukünftigen Ruins zu bewerten.

http://www.futuresmag.com/Issues/2009/August2009/Pages/Minimizing-your-risk-of-ruin.aspx

Diese Backtesting-Daten sind genau die Daten, die benötigt werden, um aus den Backtesting-Ergebnissen etwas zu berechnen, das zur Vorhersage künftiger Ergebnisse genutzt werden kann.

Z-Scores sagen nichts über künftige Ergebnisse aus, da sie zeitreihenabhängig sind. Ein Z-Score aus dem Jahr 2009 kann nur dann für 2011 relevant sein, wenn die Marktpreisaktivität im Jahr 2011 im Wesentlichen eine Wiederholung von 2009 ist.

Der Z-Score ist eine interessante Statistik, die aber keinen Wert hat und keinen Aufschluss darüber gibt, wie Ihre Strategie in Zukunft abschneiden wird. Es gibt einen Grund, warum CTAs, Vermögensverwalter, Morningstar usw. den Z-Score für professionell verwaltete Konten nicht verfolgen und darüber berichten. Er ist ein wertloser Maßstab für den Erfolg.

Die Berechnung des Ruinrisikos und des mittleren Drawdowns sind jedoch Dinge, die die Profis tun, und das nicht nur in der Forex-Branche.

Was die Broker betrifft, so ist die Verwendung verschiedener Broker für das Backtesting so etwas wie der Versuch eines armen Mannes, seine Strategie von der zugrunde liegenden Zeitreihe zu entkoppeln. Sie wissen nicht, wie die zukünftigen Zeitreihen aussehen werden, aber die vergangenen Zeitreihen von zwei Brokern sind nicht identisch. Daher ist es eine gute Idee, Backtests mit einer Vielzahl historischer Datensätze aus verschiedenen Quellen durchzuführen und dann zu analysieren, wie robust Ihre Strategie ist, denn diese Robustheit sagt aus, wie gut Ihre Strategie in zukünftigen Zeitreihen funktionieren könnte.

Fachleute führen auch Backtests mit unterschiedlichen historischen Marktkursen durch. In einigen Fällen verwenden sie Monte-Carlo-Methoden, um völlig fiktive Marktdaten zu erstellen, die statistisch gesehen den tatsächlichen Marktdaten entsprechen, nur um ihr Backtesting zu untermauern.

Nur als Denkanstoß: Vielleicht sind Sie sich all dessen bewusst und haben Ihre eigenen, ebenso stichhaltigen Gründe für die Wahl alternativer Analysemethoden.