Zum Inhalt springen
View in the app

A better way to browse. Learn more.

#T/N/X/T

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

tlu

*_skilled
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von tlu

  1. Hm, wie wäre es mit http://tools.boerse-go.de/index-tool/ ? Wobei ich nicht weiß, wie groß die Abweichung zu den offiziellen Daten ist.
  2. tlu antwortete auf duncan's Thema in Plattform (AB)
    Ich hatte schon mal angefangen zu testen (bis 'was dazwischen kam), und die Ergebnisse waren in der Tat nicht besonders berauschend. Aber es gibt ja mehrere Möglichkeiten, wie man die Signale definiert - und ich habe noch nicht alle durchgespielt. Dauert daher noch ein bisschen ...
  3. tlu antwortete auf tlu's Thema in Plattform (AB)
    Weil in diesen Thread schon einige Male von CMAE die Rede war: Eine schöne Zusammenfassung diverser Aussagen zu diesem Thema von AB-Entwickler Tomasz Janeczko findet sich auf http://codefortraders.com/phpBB3/viewtopic...?f=38&t=192
  4. tlu antwortete auf duncan's Thema in Plattform (AB)
    Ich liebe einfache Systeme! Komplexe Systeme funktionieren nach meiner Erfahrung in der Realität meist nicht besonders gut - im WF-Test schon gar nicht. Aber wir werden ja sehen ...
  5. tlu antwortete auf duncan's Thema in Plattform (AB)
    Ich wollte dich nicht hetzen Wobei das System natürlich auch schon so gehandelt werden könnte. Also z.B. Kauf, wenn DI+-DI->0 und ADX>25 usw. Hatte ich früher auch schon mal getestet. Muss ich mir noch mal zu Gemüte führen und einen Walk-Forward Test durchführen.
  6. tlu antwortete auf duncan's Thema in Plattform (AB)
    @duncan: Das sieht doch schon richtig gut aus! Das Ganze ist ja "nur" zur Trenderkennung gedacht - welche Systeme willst du denn jetzt damit kombinieren?
  7. tlu antwortete auf duncan's Thema in Plattform (AB)
    Ich habe jetzt erst genauer in den Link aus deinem ersten Beitrag hineingeschaut. Da heißt es ja: "Bars are colored by the histogram of the DI+ and DI- indicators, and can be used for trading when prices are in a trend. " Das Histogramm und damit die Einfärbung des Charts ist damit wohl einfach die Differenz aus DI+ und DI-, die um die Null-Linie schwankt, und die weiße Linie ist dann wohl der ADX. Lässt sich - wenn das so richtig ist - in der beschriebenen Weise einfach in AFL umsetzen.
  8. tlu antwortete auf duncan's Thema in Plattform (AB)
    Ich habe noch vergessen, den ADX mit dem Chart oben zu synchronisieren. Das kannst du mit StaticVarSet und StaticVarGet erreichen. Also z.B. : Im ADX-Pane kannst du definieren: StaticVarSet("adx_above", MXADX>25); StaticVarSet("adx_below", MyADX und im oberen Pane: buysig = StaticVarGet("adx_above"); sellsig = StaticVarGet("adx_below"); Plot( C, "Close", iif(buysig,colorGreen,colorRed),styleCandle); oder so ähnlich. Ich hab's nicht getestet, müsste aber so funktionieren.
  9. tlu antwortete auf duncan's Thema in Plattform (AB)
    Was ist denn das Histogramm und was die weiße Linie? Also falls der ADX das Histogramm sein soll, kannst du das ganz einfach so darstellen: Plot(MyADX,"MyADX",IIf(MyADX>25,colorGreen,colorRed),styleHistogram); Ist es das, was du haben möchtest?
  10. Ich bin ja kein Programmierer, insofern weiß ich nicht genau, was eine "offene" Deklarierung ist. Aber void, double etc. gibt es bei AB nicht. Insofern finde ich auch AFL einfacher als in vielen anderen TA-Programmen wie z.B. Tradestation oder Wealthlab. Definitiv nicht. AFL basiert auf C bzw. C++.
  11. @Krümel: Echt klasse Erklärung! Irgendwie war mir das zwar auch klar, aber deine Ausführungen haben dafür gesorgt, dass ich nun weiß warum
  12. tlu antwortete auf tlu's Thema in Plattform (AB)
    Naja, was heißt Arbeit? Die Durchführung einer WFO ist naturgemäß schon langwieriger als eine "normale" Optimierung, weil man die passende IS- und OOS-Längen finden muss und ggfs. auch mit etwas veränderten Parameter-Bereichen spielen muss. Mehrere Durchgänge sind also auf jeden Fall nötig (wobei CMAE das Ganze deutlich beschleunigt). Aber es lohnt sich auf jeden Fall: Du glaubst gar nicht, wie viele Trading Systeme mit ach so tollen Equity-Kurven im Walk-Forward Test kläglich versagen! Deshalb ist dieser für mich der beste Realitätscheck, den ich kenne. Ohne ich fasse ich kein Trading System an.
  13. tlu antwortete auf tlu's Thema in Plattform (AB)
    Hier noch eine kleineErgänzung, für diejenigen, die es interessiert. Ein Überblick über CMAE und andere in Amibroker verfügbaren non-exhaustive Optimierungsmethoden findet sich unten auf http://www.amibroker.com/guide/h_optimization.html . Dort sind auch zwei Links zu CMAE, in denen u.a. erläutert wird, dass CMAE anderen Algorithmen überlegen ist.
  14. tlu antwortete auf tlu's Thema in Plattform (AB)
    Bitte sehr Das Thema Walk-Forward scheint überhaupt im Forum noch nicht aufgegriffen worden zu sein. Mir fehlt auch der Überblick, welche Trading Software das überhaupt kann.
  15. tlu antwortete auf tlu's Thema in Plattform (AB)
    Noch ein Nachtrag zum 2. Beitrag: In meinem Code werden nur Kennzahlen berechnet, die direkt aus der IS- bzw. OOS-Equity-Kurve abzuleiten sind. Trade-basierte Metrics wie z.B. Avg. Profit/Loss, Avg Bars held, Number/Percentage Winners usw. sind naturgemäß damit nicht berechenbar. Wie schon erwähnt, sind diese Detailinfos für die einzelnen IS- und OOS-Perioden in der Datei WalkForward.html im Amibroker-Verzeichnis verfügbar und müssten irgendwie programmtechnisch ausgelesen werden, um solche Metrics berechnen zu können. Das geht weit über meine Programmierkenntnisse hinaus. Wenn sich also jemand berufen sieht, das anzugehen - immer zu
  16. tlu antwortete auf tlu's Thema in Plattform (AB)
    Grins. Die Zahl der Downloads hält sich eh' in recht engen Grenzen bislang ...
  17. tlu antwortete auf tlu's Thema in Plattform (AB)
    Das wäre wirklich super! Und vielleicht kannst du sogar, wenn du mal viel Zeit hast, beim Perfect Profit Compounding einbauen ... Aber mal 'ne generelle Frage: Ist denn mein Code so einigermaßen brauchbar? Ist etwas unsinnig oder fehlt etwas? Würde mich schon mal interessieren ...
  18. tlu antwortete auf tlu's Thema in Plattform (AB)
    Hier der versprochen Code zur WFO. Das Problem bei Amibroker ist, dass für die WFO noch kein schöner Backtest-Report zur Verfügung steht, wie man das sonst gewohnt ist. Nach der WFO findest sich zwar ein neuer Tab geöffnet, der in Tabellenform alle Trades und Kennzahlen für sämtliche IS- und OOS-Perioden aufführt (Datei WalkForward.html im Amibroker-Verezeichnis), aber das ist es dann auch. Angehängt sind 3 Dateien: MessagePanelInclude.afl (leicht mofizierte Version des Codes hier) zu speichern im Include-Ordner, meine Walk Forward_GFX.afl und als Drittes eine leicht modifizierte Version des Codes von hier) , die eine sehr schöne Darstellung der jährlichen und monatlichen Performance ermöglicht. Zu meinem Code vorweg: Ich bin leider kein Programmierer. Mein Code enthält daher diverse Fehler und ist wahrscheinlich auch ziemlich ineffizient geschrieben. Features: Der Code ist geschrieben für die WFO eines einzelnen Tickers. Wenn man ihn auf einen Markt bzw. eine Watchlist anwendet, sollte man als Chart eine passende Benchmark wählen, da dafür die Buy&Hold-Kalkulation durchgeführt wird. Über InitialEquity = GetOption("InitialEquity"); wird das in Automatic Analysis gespeicherte Anfangskapital eingelesen. Ist dort nichts enthalten oder wird ein anderes Kapital definiert, sind einige Kalkulationen falsch. Die IS-Equity-Kurve ist adjustiert. Sie hat ja über die Länge der ersten IS-Periode einen Vorlauf, ihr Wert ist daher zu Beginn der 1. OOS-Periode nicht identisch mit dem Anfangswert der OOS-Equity-Kurve. Daher die Adjustierung, die beide Kurven zu diesem Zeitpunkt identisch setzt, um einen sauberen visuellen Vergleich zu ermöglichen. Standardmäßig werden die IS- und OOS-Equity-Kurven und die Buy&Hold-Kurve angezeigt. Über das Parameter-Menü (rechte Maustaste) können IS- und OOS-Drawdown und IS- und OOS- Relative Performance (einfach als Quotient der jeweiligen Equity Kurve zur B&H-Kurve) angezeigt werden. Aber bitte nicht alles gleichzeitig, sonst wird's unübersichtlich. Meist blende ich die IS-Equity-Kurve aus und konzentriere mich auf OOS. Über das Parameter-Menü kann auch das Aussehen und die Lage des Kennzahlen-Panels geändert werden. Ich habe mich bemüht, die einzelnen Kennzahlen jeweils sauber vom Beginn der 1. OOS-Periode bis zum Ende der letzten OOS-Periode zu berechnen, damit für IS und OOS nicht Äpfel mit Birnen verglichen werden. Einige Metrics sind wohl bekannt. RelativeCAR ist einfach IS- bzw. OOS-CAR minus B&H-CAR. WFE ist Walk-Forward Efficiency nach Pardo und OOS-CAR/IS-CAR. Perfect Profit wird anhand eines ZigZag auf die Benchmark berechnet (@Krümel: Den Code aus deinem Link habe ich noch nicht in AFL übersetzen können), man sollte im Paramter-Menü wählen, ob man ein Long-only oder Long und Short-system hat. Model Efficiency (ebenfalls nach Pardo) vergleicht die IS- und OOS-CAR mit dem Perfect Profit - je höher, desto besser). Bugs: Die Berechnung des K-ratio ist wohl nicht richtig und funktioniert nach zuviel Rumbasteln z.Z. für IS überhaupt nicht. Die Berechnung von R-squared ist offenbar auch nicht korrekt. Dasselbe gilt wohl für CECPP (ebenfalls nach Pardo), die Correlation between equity curve and perfect profit. Wenn mir dabei jemand helfen könnte, wäre ich sehr dankbar. MessagePanelInclude.afl.txt Walk_Forward_Equity_GFX.afl.txt OOS_Yearly_monthly_Profit_Chart.afl.txt
  19. Ich hatte kürzlich versprochen, einen Thread zum Thema Walk-Forward Optimization (WFO) zu starten. Here we go. In diesem ersten Beitrag möchte ich das genrelle Vorgehen und meine Erfahrungen, die ich unter Amibroker damit gemacht habe, darstellen. In einem zweiten Beitrag stelle ich meinen WFO-Code vor, der allerdings noch unfertig und fehlerhaft ist - vielleicht könnt ihr mir dabei unter die Arme greifen. WFO habe ich kennen gelernt durch die Lektüre der Bücher Quantitative Trading Systems von Howard Bandy (das sich explizit mit Amibroker beschäftigt) und The Evaluation and Optimization of Trading Systems von Robert Pardo. Bandy hatte WFO seinerzeit beschrieben, bevor das in Amibroker implementiert war; mittlerweile gibt es ein Addendum als PDF zum Buch, in dem u.a. diese neue Funktion dargestellt wird. M.E. ruht die WFO-Logik auf zwei Säulen: Zum einen hat wahrscheinlich jeder von uns schon häufig festgestellt, dass ein Trading System, das einfach über einen gewissen Zeitraum in der Vergangenheit optimiert wurde und eine ganz tolle Equity-Kurve produziert hatte, in der Realität kläglich versagt hat. Eine probate Methode ist daher, den gesamten Testzeitraum in eine In-sample-(IS)-Periode, in der das System optimiert wird, und eine Out-of-sample-(OOS)-Periode, in der mit den optimierten Parametern ein Backtest durchgeführt wird, aufzuteilen. D.h., das in der IS-Periode optimiert System wird auf die neuen bzw. unbekannten Daten der OOS-Periode angewandt, um zu überprüfen, ob es da immer noch funktioniert. Das Problem ist jedoch, dass Märkte dynamisch sind, d.h. sich im Zeitverlauf ändern, so dass eine fixe Aufteilung des Testzeitraums in IS und OOS möglicherweise wenig aussagt. Bei der WFO werden daher die IS- und OOS-Perioden gekürzt in der Hoffnung, dass der Markt und das Trading System synchron bleiben - oder statistisch gesprochen: stationär, d.h. dass die erwarteten Werte, Standardabweichungen und Korrelationen über den jeweiligen Zeitraum konstant bleiben. IS- und OOS-Perioden werden dabei jeweils bis heute nach vorne gerollt. Das genaue Vorgehen bei der WFO wird in dem o.g. PDF-Fiel und in der Amibroker-Hilfe schön dargestellt - siehe die dortige Grafik. Beispiel: Es soll ein WFO seit Anfang 1990 auf den DAX durchgeführt werden. Zunächst sollte man sich überlegen, welches Optimization Target (bzw. welche Objective Function) man in Automatic Analysis-> Settings -> Walk-Forward benutzt werden sollte. Gute Kandidaten sind m.E. CAR/MDD, RAR/MDD, K-ratio, UPI. Dann wählt man bei End-od-day-Daten die Easy Mode (EOD) und z.B. als IS-Periode 2 Jahre, d.h. von 01.0.1990 bis 31.12.1991 und als Step z.B. 6 Monate - das ist dann unsere OOS-Periode. Nun wird zunächst über die 1. IS-Periode von 1.1.1990-31.12.1991 optimiert und anschließend mit dem optimierten Parameter-Set ein Backtest über die 1. OOS-Periode vom 1.1.1992-30.06.1992 durchgeführt. Im 2. Durchgang verschiebt sich nun die IS-Periode auf 01.07.1990-30.06.1992 und die OOS-Periode auf 01.07.1992-31.12.1992, im 3. Durchgang IS auf 01.01.1991-31.12.1992 und OOS auf 01.01.1993-30.06.1993 - usw., bis man in der Gegenwart angekommen ist. Nach dem Ende der WFO werden die Equity-Kurven für die einzelnen IS- und OOS-Perioden zu einer gesamten IS- und OOS-Equity-Kurve verknüpft, die man sich mit dem unten auf der AB-Hileseite genannten Code anzeigen lassen kann: PlotForeign("~~~ISEQUITY","In-Sample Equity", colorRed, styleLine); PlotForeign("~~~OSEQUITY","Out-Of-Sample Equity", colorGreen, styleLine); Um das noch mal deutlich zu machen: Während die IS-Equity-Kurve das Ergebnis des Systems aus bekannten Daten anzeigt (denn über die wurde es jeweils optimiert), zeigt die OOS-Equity-Kurve, wie das System bei Anwendung auf jeweils unbekannte Daten abgeschnitten hätte. Das ist daher wohl der ultimative Realitätscheck: Wenn die OOS-Equity-Kurve eine stabile Entwicklung und gute Performance anzeigt, dann ist die Wahrscheinlichkeit recht hoch, dass das System auch in der Realität funktionieren dürfte (auch wenn es dafür natürlich nie eine Garantie geben kann). Man hat dann wohl ein System gefunden, das sich gut an veränderte Marktbedingungen anpassen kann, nicht überoptimiert oder over-fitted ist, sondern offenbar generalisieren kann. Erfahrungen und Tipps: Die Länge der IS- und OOS-Periode muss man selbst herausfinden. Es gibt dafür keine allgemeingültigen Regeln. Pardo schreibt irgendwo, dass eine OOS-Periode, die 1/4 bis 1/3 der IS-Periode lang ist, ein guter Ausgangspunkt ist. Aber letztlich muss man das selber ausprobieren und auf jeden Fall mehrere Durchgänge machen, da das auch stark vom jeweiligen System abhängt. Wenn man z.B. ein langfristiges Modell hat, das nur alle paar Monate ein Signal generiert, aber als OOS-Periode 1 Monat gewählt hat, wird die OOS-Equity-Kurve mit Sicherheit miserabel aussehen, da in dieser kurzen Periode nicht genügend Trades generiert werden. Man sollte vor der WFO zunächst eine Optimierung über den gesamten Zeitraum durchführen, um eine Vorstellung zu bekommen, wo die relevanten Parameter-Bereiche liegen. Simples Beispiel: Wenn man etwa ein System testet, das Signale als Schnittpunkt des Kurses mit einem gleitenden Durchschnitt generiert, und dabei einen Parameter-Bereich von 2 bis 200 Tagen vorgibt, kann es sein, dass in einer IS-Periode, in der der Markt "verrückt" spielt, ein sehr ungewöhnlicher Parameter-Wert "optimal" ist (v.a. wenn die gewählte IS-Periode relativ kurz ist), in der darauf folgenden OOS-Periode das System aber völlig versagt, weil es zwar die Verhältnisse in der IS-Periode perfekt gelernt hat (-> over-fitting), das Ergebnis aber auf unbekannte Daten nicht angewendet werden kann. Meine Erfahrung zeigt, dass es Sinn machen kann, dass man mehrere WFO-Durchgänge macht, bei denen man die Parameter-Bereiche probeweise etwas verengt - oft bekommt man dadurch stabilere OOS-Equity-Kurven. Erwägenswert ist auch, für die WFO statt einer vollständigen Optimierung eine "non-exhaustive" Optimierung mit CMAE durchzuführen: OptimizerSetEngine("cmae"); Während es bei einer vollständigen Optimierung passieren kann, dass für eine IS-Periode eine Parameter-Kombination gewählt wird, die jedoch nur eine schmale Spitze (peak) im Ertragsgebirge darstellt und daher im OOS vermutlich weniger gute Ergebnisse bringt, neigt CMAE aufgrund seines Suchalgorithmus dazu, stabile Plateaus zu bevorzugen, d.h. Parameter-Kombinationen, die "allgemeingültiger" sind und daher teilweise zu stabileren OOS-Equity-Kurven führen können. Siehe dazu auch die Anmerkungen in dem o.g. PDF-File. Unabhängig davon kann CMAE eine umfangreiche Optimierung und WFO mit mehreren Parametern deutlich abkürzen. So viel erst mal vorab - ist lang genug geworden. Bin jetzt gespannt auf eure Kommentare, besonders natürlich von denjenigen von euch, die selbst mit der WFO arbeiten!
  20. tlu antwortete auf tlu's Thema in Plattform (AB)
    Klar: //KBrain System Coded by Karthikmarar. Blog. www.stocktechnician.blogspot.com email. karthikmarar@yahoo.com //System based on the BrainTrend system in Metatrader // The Turquiose colored Dot indicates start of a Up Trend // The Magenta DOt indicates end of an Up move and beginning of a downmove // The system is a Stop and reverse system _SECTION_BEGIN("KBrain"); //========================Initiation======================== bts=ParamToggle("BrainTrend1 signal","No|Yes" ,0); btst=ParamToggle("BrainTrend1 stop","No|Yes" ,0); btsl=ParamToggle("BrainTrend1 stop line","No|Yes" ,0); period=Param("Period",14,6,20,1); x1=53; x2=47; d=2.3; f=7; s=1.5; range=ATR(f); Range1 = ATR(f)/d; Range2 = (ATR(f)*s)/4; range3=ATR(10); R = ((HHV(H,period) - C) /(HHV (H,period) -LLV (L,period))) *-100; EMA1= EMA(R,Period); EMA2= EMA(EMA1,5); Difference= EMA1 - EMA2; ZeroLagEMA= EMA1 + Difference; value2=abs(ZeroLagEMA); function PercentR( periods ) { return -100 * ( HHV( H, periods ) - C )/( HHV( H, periods ) - LLV( L, periods ) ); } for( i = period+10; i < BarCount; i++ ) { C[0]=0; Value2[0]=0; p[0]=0; Plot1[0]=0; Plot2[0]=0; Val1=0; Val2=0; temp[0]=0; Value3[0]=0; tm[0]=0; p1[i]=0; bt1[0]=0; bt2[0]=0; r[0]=0; bt1a[0]=0; bt2a[0]=0; istop[0]=Val1[0]; stop[i]=Val1[0]; bstop[0]=0; sstop[i]=0; //==================================Indicators============================ { if (value2[i] < x2 AND abs(Close[i]-Close[i-2]) > range1[i]) p[i] = 1; else { if (value2[i] > x1 AND abs(Close[i]-Close[i-2]) > Range1[i]) p[i] = 2; else p[i]=0; } } if ((value2[i] < x2 AND p[i] == 1) OR (value2[i] < x2 AND p[i] == 0)) { if (abs(Close[i]-Close[i-2]) > Range1[i]) { Plot1[i]=H[i]; Plot2[i]=L[i]; } else { Plot1[i]=Plot1[i-1]; Plot2[i]=Plot2[i-1]; } } else { if ((value2[i] > x1 AND p[i] == 2) OR (value2[i] > x1 AND p[i] == 0)) { Plot1[i]=L[i]; Plot2[i]=H[i]; } else { Plot1[i]=Plot1[i-1]; Plot2[i]=Plot2[i-1]; } } //==================KBrain Signal ==================================== { if (value2[i] < x2 AND (abs(Close[i]-Close[i-2]) > Range1[i])) { if (p[i] == 1 OR p[i] == 0) Value3[i]=L[i]-range3[i]; val1[i]=Value3[i]; p[i]=1; temp[i]=1; } else { temp[i]=temp[i-1]; } { if (value2[i] > x1 AND (abs(Close[i]-Close[i-2]) > Range1[i])) { if (p[i] == 2 OR p[i] == 0) Value3[i]=H[i]+range3[i]; val2[i]=Value3[i]; p[i]=2; temp[i]=2;; } } } { if (temp[i]==1 AND Plot1[i]>0 AND tm[i] != 1) tm[i]= 1; if (temp[i]==2 AND Plot2[i]>0 AND tm[i] != 2) tm[i]=2; } //===============================stop======================================== { if (value2[i] < x2 AND (abs(Close[i]-Close[i-2]) > Range1[i])AND p[i] !=2) { value3[i]=L[i]-range3[i]; va1[i]=Value3[i]; p1[i]=2; r[i]=Va1[i]; bstop[i]=Va1[i]; bt2[i]=bt2[i-1]; } if (value2[i] > x1 AND (abs(Close[i]-Close[i-2]) > Range1[i])AND p[i] !=1) { Value3[i]=H[i]+range3[i]; va2[i]=Value3[i]; p1[i]=1; r[i]=Va2[i]; sstop[i]=Value3[i]; bt1[i]=bt1[i-1]; } } if (val1[i] == 0 AND val2[i] == 0 AND p[i] == 0 ) { bstop[i]=bstop[i-1]; sstop[i]=sstop[i-1]; } if (bstop[i]<bstop[i-1] AND tm[i]==1 AND tm[i-1]==1) bstop[i]=bstop[i-1]; if (sstop[i]>sstop[i-1] AND tm[i]==2 AND tm[i-1]==2) sstop[i]=sstop[i-1]; } //=============================SYSTEM====================================== Mycolor=IIf(p==1,colorLime,IIf(p==2,colorRed,colorBlue)); PlotOHLC( Open, High, Low, Close, "", Mycolor, styleBar| styleThick ); PlotShapes( shapeCircle* (bts AND tm==1 AND Ref(tm,-1)==2),colorTurquoise, 0, bstop, 0 ); PlotShapes( shapeCircle* (bts AND tm==2 AND Ref(tm,-1)==1), colorCustom12, 0, sstop, 0 ); PlotShapes( IIf(btst AND p==1,shapeSmallCircle,Null), colorTurquoise,0,bstop,0); Plot(IIf(btsl AND tm==1,bstop,Null),"",colorPaleBlue,1); PlotShapes( IIf(btst AND p==2,shapeSmallCircle,Null), colorCustom12,0,sstop,0); Plot(IIf(btsl AND tm==2,sstop,Null),"",colorLightYellow,1); Buy=Cover=(bts AND tm==1 AND Ref(tm,-1)==2); Sell=Short=(bts AND tm==2 AND Ref(tm,-1)==1); SellPrice=ValueWhen(Sell,C,1); BuyPrice=ValueWhen(Buy,C,1); Long=Flip(Buy,Sell); Shrt=Flip(Sell,Buy ); _SECTION_END(); //=================TITLE========================================================== ====================================== _SECTION_BEGIN("Title"); if( Status("action") == actionIndicator ) ( Title = EncodeColor(colorWhite)+ "KBrain V 1.0. " + " - " + Name() + " - " + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorWhite) + " - " + Date() +" - "+"\n" +EncodeColor(colorYellow) +"Op-"+O+" "+"Hi-"+H+" "+"Lo-"+L+" "+ "Cl-"+C+" "+ "Vol= "+ WriteVal(V)+"\n"+ EncodeColor(colorLime)+ WriteIf (Buy , " GO LONG / Reverse Signal at "+C+" ","")+ WriteIf (Sell , " EXIT LONG / Reverse Signal at "+C+" ","")+"\n"+EncodeColor(colorWhite)+ WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BuyPrice)+"","")+ WriteIf(Buy , "Total Profit/Loss for the Last trade Rs."+(SellPrice-C)+"","")+ WriteIf(Long AND NOT Buy, "Trade : Long - Entry price Rs."+(BuyPrice),"")+ WriteIf(shrt AND NOT Sell, "Trade : Short - Entry price Rs."+(SellPrice),"")+"\n"+ WriteIf(Long AND NOT Buy, "Current Profit/Loss Rs."+(C-BuyPrice)+"","")+ WriteIf(shrt AND NOT Sell, "Current Profit/Loss Rs."+(SellPrice-C)+"","")); _SECTION_END(); Äh - versteh ich jetzt nicht so ganz. Die Variante, die bei der Optimierung das beste Ergebnis erbracht hat, muss doch beim Backtest mit ebendiesen Parametern dieselben Zahlen ergeben? Oder wie meintest du das? Über welchen Zeitraum und mit welchen Einstellungen?
  21. Über die Seite war ich auch mal gestolpert. Interessant - muss ich mir aber noch genauer anschauen. Beim KBrain-System z.B. bekomme ich überhaupt keine Signale - hast du das schon mal getestet? Hm, wie kommst du auf diese Werte? Handelst du auf Margin? Hier mein Backtest (nach Optimierung) auf den DAX seit 1996: Sieht nicht so toll aus.
  22. Die kenne ich auch schon, schaue aber selten rein. Ja, die meisten Metastock-Formeln lassen sich relativ leicht nach AFL übersetzen (nur diese bescheuerte PREV-Funktion macht häufig Probleme). Andere nützliche Seiten (hatte ich schon mal gepostet): http://codefortraders.com/phpBB3/viewforum.php?f=60 und http://codefortraders.com/phpBB3/viewforum.php?f=38 http://amibrokerfan.com/index.php?option=c...f&Itemid=28 und natürlich auf Amibroker selbst: http://www.amibroker.com/library/ http://www.amibroker.com/kb/ http://www.amibroker.org/userkb/
  23. tlu antwortete auf tlu's Thema in Plattform (AB)
    Gut, dann werde ich in den nächsten Tagen einen entsprechenden Thread starten.
  24. tlu antwortete auf tlu's Thema in Plattform (AB)
    Hatte ganz vergessen zu antworten. Ich habe bis jetzt noch keine Stopp-Strategie gefunden, die die Performance eines Systems nicht ganz erheblich beeinträchtigt hätte (egal ob das nun fixe, Trailing oder Chandelier-Stopps sind). Wenn du eine kennst - bitte schön, ich bin stark daran interessiert. Ich räume aber ein, dass ich in meinem DAX-Chart eine Stopp-Linie mitziehe, so dass ich im Katastrophenfall doch mal die Reißleine ziehen kann. Das ist aber bislang so gut wie nicht vorgekommen, da der VarCCI recht gute Signale geliefert hat. Aber dennoch ist insofern zugegebenermaßen eine diskretionäre Komponente enthalten.
  25. tlu antwortete auf tlu's Thema in Plattform (AB)
    @ibelieve: Hast du dich mal damit beschäftigt? Hast du noch Fragen dazu? Sollten wir vielleicht hier einen Thread über Walk-Forward Optimierung eröffnen? Ich würde dann auch meinen Code zur WFA beisteuern. Der ist zwar noch nicht fertig bzw. noch nicht ganz so, wie ich ihn haben will. Aber vielleicht können wir gemeinsam daran basteln, und vielleicht haben auch noch einige andere hier Ideen dazu.

Account

Navigation

Suche

Suche

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.