Alle Inhalte von duncan
-
Teil 2: Indikatorentwicklung 1-2-3-Detektion
Soory, mein Fehler. Wer lesen kann ist klar im Vorteil
-
Teil 2: Indikatorentwicklung 1-2-3-Detektion
Interessant ... Sorry, wie geht so etwas ma((H-L),5)
-
Teil 1: Indikatorentwicklung 1-2-3-Detektion
- Teil 2: Indikatorentwicklung 1-2-3-Detektion
Hi, Ihr könntet auch einfach eine weitere Zeitebene oder Widerstand/Unterstützung zur Analyse dazu nehmen und nur die Ausbrüche über /unter die 2 handeln an der min. 2 Vorgaben erfüllt sind, wie z.B.: 1. sauberes 1-2-3 a. 1-2-3 auch in größer Zeitebene (15m/1h oder 1d / 1w) b. ist ein Widerstand oder eine Unterstützung auf Tages- oder Wochenbasis -> größere Bewegung Gruß Duncan PS: Ich glaube das ist mittlerweile nur noch eine Fleißarbeit das in einen Backtest zu bringen- Teil 2: Indikatorentwicklung 1-2-3-Detektion
Hi, ich habe es dann gleich mal getestet und eine einfache Version läuft sofort Das System muss aber jetzt so angepasst werden, das nur die Entrys genutzt werden, wo das Risiko gering ist, also SHX in der Nähe von SLX ist ! Wie hier: Und dann Gruß Duncan Buy=IIf(Ref(SLX,-1) < SHX AND SHX > SLX AND (O > SHX OR C > SHX),1,0); Short=IIf(Ref(SHX,-1) > SLX AND SLX < SHX AND (O < SLX OR C < SLX),1,0); SLX ist Swing LOW und SHX ist Swing High ... PS: Das ist doch nun ein Anfang für Dich oder ... gähn gute Nacht PPS: Nun sind dreiecke,W, etc, bestimmt auch kein Hit mehr ...- Teil 2: Indikatorentwicklung 1-2-3-Detektion
Hi ibelieve, vielleicht testest Du die 1-2-3 suche mit dem Swing High Low Code: IF ( Ref(SL,-1) REF(SL,-1)) then If C > SH or O > SH then Long=1 und dann noch Stopp = SL ist nur so eine Idee. Gruß Duncan- Systementwicklung / Auswertung der Ergebnisse
Hallo, im Thread ICHIMOKU (Bereich AmiBroker) wurde ein für mich wichtiges Thema besprochen und ich werde mit diesem Thread das Thema noch einmal aufgreifen. Worum soll es sich in diesem Thread handeln? Um die Bewertung eines System anhand von Auswertung. Nicht, das ich in diesem Bereich irgendwelches Fachwissen habe, aber vielleicht haben wir am Ende eine Checkliste für alle beteiligten. Voraussetzung: 1. ein System, welches im Backtest läuft (besser als +/- 0) -> http://klaus-m.blogspot.com/2009/01/swing-...strategien.html 2. das System sollte nachweislich, keine groben Fehler beinhalten (wie z.B. Ergebnisse aus der Zukunft) Portfolio(Russel 1000) Equity des System von 01.01.2008 bis heute: Das System zum Spielen: Test_Swing_Posted_9_orig.zip technische Grundlage: 1. als technische Grundlage für die Analyse nutze ich AmiBroker und stelle die Datengrundlage als CSV zur Verfügung Auswertung_1000.zip 2. Excel mit Histogramm Macro von hier Informationen dazu von Krümel in Auszügen(danke ): http://www.aktienboard.com/forum/f40/swing.../21#post2059247 Und das mit den Wolken seh ich auch so: Ausreißer hast Du immer mal, aber bei hinreichend großer Anzahl an Simulationen sollte man für ein stabiles System nen Mittelwert finden, um dessen Wert die tatsächlich gemessenen Werte möglichst dicht streuen. Ansonsten macht die Mittelwertberechnung auch keinen Sinn. Bsp: Wenn man 2 verschiedene Wolken hat, die (sehr wahrscheinlich ) aus unterschiedlichen Verteilungen stammen. Je nachdem wie die Wolke aussieht (rund, oval, und dessen Richtung) kann man weitere Erkenntnisse über das System gewinnen. Fast jedes System hat irgendwelche Freiheitsgrade, wo Du rumschrauben kannst. Sei es nun das Gesamtkapital, der prozentuale Einsatz, die Auswahl, falls mehr Kandidaten ausgewürfelt werden als man Trades eingehen kann, irgendwelche Indikatoreneinstellungen usw. Ein System kann super sein, aber Du kannst es beispielsweise nur auf nem 6-stelligen Konto handeln, weil Dich bei kleineren Konten die Gebühren killen oder Du Durststrecken drin hast, die das kleinere Konto nicht überlebt. Ich kenn Euer System nicht so genau, vermute aber, dass Ihr zum Teil mehr Kandidaten bekommt, für die ein Signal vorliegt als Trades gemacht werden dürfen. Jetzt ist die Frage, wie geht man bei der Auswahl vor von den Werten, die tatsächlich gehandelt werden. Bsp: Es fällt ne Liste raus (ich nehm mal Nummern statt WKNs): 1,2,3,4,5,6,7,8,9,10,...30 Es dürfen aber nur 4 Werte gehandelt werden. Variante 1: ich nehme einfach die ersten 4 Werte der Liste. Problem: was passiert, wenn das zufällig immer die besten/schlechtesten sind und ich bei anderen Werten schlechter/besser gewesen wäre ? Um solche Effekte auszuschließen, kann man jetzt alle möglichen Kombinationen von je 4 Werten aus der obigen Liste durchsimulieren. Das wird aber recht aufwendig, da man das eigentlich für jedes Signal separat machen muss. Von daher reduziert man den Rechenaufwand, indem man lediglich eine hinreichend große Anzahl zufälliger Kombinationen "zieht" (also z.B. 100 Minilisten a 4 Werte). Bsp: {4,9,20,29} ,{5,9,18,25},... Dann rechnet man sich die Performanceparameter für diese Varianten aus. Wenn die Ergebnisse (als Punkte dargestellt) relativ nah beieinander liegen in dem Plot (z.B. als runde "Wolke", wo man ganz klar ein "Ballungszentrum" ausmachen kann - der "Mittelwert"), kann man daraus schließen, dass das Auswahlverfahren der Aktien keinen sonderlich großen Einfluss auf die Performance hat (v.a wenn es nicht viele Ausreißer gibt, also Werte, die weit weg vom Wolkenkern liegen). Und dass man sich keine Sorgen mehr machen muss, dass man durch ein suboptimales Auswahlverfahren zufällig immer die Loser rausgreift (bei den Gewinnern wäre es ja nicht so schlimm ;) ). Mit MCS test kann man dieses Problem umgehen. Vielleicht findest Du bei den Untersuchungen aber auch ne gute Heuristik, wie Du Werte auswählst aus der Kandidatenliste. Na ja, ich würde mal noch paar Runs mehr machen (1000 z.B.), denselben Plot nochmal und als zweites noch nen Histogramm mit den CAR/Max DD %, da sich bei den Scatterplots überlagernde Punkte überdecken, so dass man nicht mehr sieht, wie häufig die Kombination vorkam. Da sichergestellt ist (durch den Scatterplot), dass MaxDD% nicht zu dramatisch wird (Maximum -12, wenn ich richtig gucke), kann man auch wieder auf den Quotienten Car/MaxDD% ausweichen. Das spart 1 Dimension bei der Auswertung, die man z.B. für die Häufigkeit des Vorkommens einer Kombination nutzen kann. Wenn's gut läuft, sollte da irgendwas Glockenförmig-Symmetrisches (möglichst schmal) rauspurzeln, mit den meisten Werten in der Mitte, so dass der Mittelwert seinem Namen auch gerecht wird. Meine ersten Ergebnisse nach den genanten Vorgaben: Scatter-Diagramm mit. X-Achse mit CAR, Y-Achse mit DD%: - von den 1000 Messpunkten bleibt nicht mehr viel übrig, dem entsprechend macht das Histogram mehr als Sinn ... Histogramm mit den CAR/Max DD %: - sieht doch eigentlich gut aus, eine schöne Glocke Aus den Informationen, die mir vorliegen, denke ich dass ein System in etwa diese Daten liefern sollte, aber was denket Ihr? Habt Ihr Ansätze die weiter verfolgt werden sollten? Gruß und bis später Duncan PS: Das soll auch mein Einstand hier sein- ICHIMOKU
Gäh ist noch zu früh JA, das ist richtig, deswegen schaue ich immer ob ich den Chef als Autor finde: Tomasz Janeczko Wir können doch noch einmal mit dem der ursprünglichen Idee von Kahler anfangen und wenn das getestet ist modifizieren ... ... ich sag Dir schon bescheid, wenn ich im Stress bin, bin heute eh fast den ganzen Tag unterwegs, d.h. heute werde ich nicht sehr viel beitragen können ... Das aus meinem vorherigen Beitrag 74 (Code 1&2) , ich weiß nicht ob es jetzt Sinn macht das alte System noch einmal aufzuarbeiten oder einfach neu anzufangen? Frei nach dem Moto, bin heute über diesen Beitrag von Philip Kahler gestolpert und will das mit AmiBroker Backtesten. Gruß Duncan PS: Vielleicht auch den Thread vorher bereinigen neuen auf machen, was auch immer …- ICHIMOKU
Das alte System, mit ganz vielen Testzeilen ... [size="1"]/* ICHIMOKU CHART FOR DAY / WEEK Screen*/ //WERT=0.5; //CON1= Close > WERT AND MA( V * C * 100, 5 ) > 500000; CON1 = 1; //var def LONGSTOP = 0; ShortSTOP = 0; DSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2; DTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2; DSp1 = Ref( ( DSL + DTL ) / 2, -25 ); DSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 ); TimeFrameSet( inWeekly ); // switch to Weekly frame WSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2; WTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2; WSp1 = Ref( ( WSL + WTL ) / 2, -25 ); WSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 ); TimeFrameRestore(); // restore time frame to original WSP1e = TimeFrameExpand( WSP1, inWeekly ); WSP2e = TimeFrameExpand( WSP2, inWeekly ); MP = ( ( O + C ) / 2 ); Short_S1 = MP < WSp1e AND MP < WSp2e AND ( MP < DSP1 OR MP < DSP2 ); LONG_S1 = MP > WSp1e AND MP > WSp2e AND ( MP > DSP1 OR MP > DSP2 ); ROCL = IIf( ROC( Close, 200 ) > 0, 1, 0 ); ROCS = IIf( ROC( Close, 200 ) < 0, 1, 0 ); Color = IIf ( LONG_S1, colorGreen, IIf( Short_S1, colorRed, Graph1Color = 0 ) ); Color2 = IIf( ROCL, colorGreen, IIf( ROCS, colorRed, colorYellow ) ); /* plot color ribbon */ Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 ); Plot( 2, "", Color2, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 ); Plot( C, "Price", Color, styleBar ); //_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} ")); PlotOHLC ( WSp1e, WSp1e, WSp2e, WSp2e, "Weekly", colorLightBlue, styleCloud ); PlotOHLC ( DSp1, DSp1, DSp2, DSp2, "Daily", colorGreen, styleCloud ); //digital Stochastic nach Philip Kahler periods = Param( "Periods", 5, 1, 200, 1 ); KAdjust = Param( "%K avg", 3, 1, 200, 1 ); DAdjust = Param( "%D avg", 3, 1, 200, 1 ); KAdjusted = StochK( periods, KAdjust ); DAdjusted = StochD( periods, KAdjust, DAdjust ); CON = ( ( 22 * KAdjusted ) + ( 8 * DAdjusted ) ) / 30; summ = IIf( CON > 50, 1, -1 ); DSS = Optimize( "digiStoch_Short", 0.5, 0.50, 1, 0.05 ); Short_S2 = IIf( Ref( EMA( Summ, periods ), -1 ) > DSS, 1, 0 ); //Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); //Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); LONGSTOP = IIf( ( L > Ref( L, -1 ) AND Ref( L, -1 ) < Ref( L, -2 ) ), Ref( L, -2 ), IIf( LONGSTOP < Ref( L, -2 ), Ref( L, -2 ), LONGSTOP ) ); ShortSTOP = IIf( ( H > Ref( H, -1 ) AND Ref( H, -1 ) < Ref( H, -2 ) ), Ref( H, -2 ), IIf( ShortSTOP < Ref( H, -2 ), Ref( H, -2 ), ShortSTOP ) ); STOP = IIf ( LONG_S1, LONGSTOP, ShortSTOP ); //LONG DSL = Optimize( "digiStoch_Short2", -0.75, -1, 0, 0.05 ); Long_S2 = IIf( Ref( EMA( Summ, periods ), -1 ) < DSL, 1, 0 ); Buy = IIf( ( Long_S1 AND Long_S2 AND Ref( Summ, -1 ) < Summ )AND CON1, 1, 0 ); //Sell = IIf((Ref(Summ,-1) > Summ),1,0); //Sell=0; //P=Optimize("perst",18,1,20,1); Sell = IIf( Low < STOP, 1, 0 ); SellPrice = STOP; //Buy = ExRem( Buy, Sell ); //Sell = ExRem( Sell, Buy ); //PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) ); //SHORT Short = IIf( ( Short_S1 AND Short_S2 AND Ref( Summ, -1 ) > Summ )AND CON1, 1, 0 ); //RSIC=Optimize("RSIC",12,1,20,1); RSIC = 12; //Cover = IIf((Ref(Summ,-1) < Summ)OR RSI(3)<5,1,0); //Cover = IIf((Ref(Summ,-1) < Summ),1,0); DSS2=Optimize("digiStoch_Short2",-0.75,-1,0,0.05); Cover = IIf((Ref(EMA(Summ,periods),-1)< DSS2 AND Ref(EMA(Summ,periods),-1) < EMA(Summ,periods)) ,1,0); //Cover = IIf( High > STOP, 1, 0 ); //CoverPrice = STOP; //Short = ExRem( Short, Cover ); //Cover = ExRem( Cover, Short ); //Cover=0; //P=Optimize("ptstop",1,1,20,1); //X=Optimize("factor",2.7,0.1,3,0.1); //ApplyStop(stopTypeTrailing, stopModePoint, x*ATR(p), True, True ); //PlotShapes( Cover * shapeUpArrow + Short * shapeDownArrow, IIf( Cover, colorGreen, colorRed ) ); //BACKTEST SetTradeDelays( 1, 0, 1, 0 ); //Positionsgröße Size = 10;//% des verfügbaren Kapital bei 10.0000€ odr 10 % bei 100.000€ SetPositionSize( Size, spsPercentOfEquity ); // kaufe Shares für max. x %[/size] Gruß Duncan PS: blau ist die Wolke für den Wochenchart und grün für den Tageschart ... das sollte man sich nun auf Trendmärkte ansehen Forex, etc. andere Code basis [size="1"]/* ICHIMOKU CHART FOR DAY / WEEK Screen*/ //WERT=9; //CON1= Close > WERT AND MA( V * C * 100, 5 ) > 500000; CON1=1; DSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2; DTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2; DSp1 = Ref( ( DSL + DTL ) / 2, -25 ); DSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 ); TimeFrameSet( inWeekly ); // switch to Weekly frame WSL = ( HHV( H, 26 ) + LLV( L, 26 ) ) / 2; WTL = ( HHV( H, 9 ) + LLV( L, 9 ) ) / 2; WSp1 = Ref( ( WSL + WTL ) / 2, -25 ); WSp2 = Ref( ( HHV( H, 52 ) + LLV( L, 52 ) ) / 2, -25 ); TimeFrameRestore(); // restore time frame to original WSP1e = TimeFrameExpand( WSP1, inWeekly ); WSP2e = TimeFrameExpand( WSP2, inWeekly ); MP=(( O + C ) / 2); Short_S1 = MP < WSp1e AND MP < WSp2e AND (MP < DSP1 OR MP < DSP2); LONG_S1 = MP > WSp1e AND MP > WSp2e AND (MP > DSP1 OR MP > DSP2); Color = IIf ( LONG_S1, colorGreen, IIf( Short_S1, colorRed, Graph1Color = 0 ) ); /* plot color ribbon */ Plot( 1, "", Color, styleArea | styleOwnScale | styleNoLabel, -0.1, 50 ); Plot( C, "Price", Color, styleBar ); //_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} ")); PlotOHLC ( WSp1e, WSp1e, WSp2e, WSp2e, "Weekly", colorLightBlue, styleCloud ); PlotOHLC ( DSp1, DSp1, DSp2, DSp2, "Daily", colorGreen, styleCloud ); //digital Stochastic nach Philip Kahler periods = Param( "Periods", 5, 1, 200, 1 ); KAdjust = Param( "%K avg", 3, 1, 200, 1 ); DAdjust= Param( "%D avg", 3, 1, 200, 1 ); KAdjusted = StochK(periods,KAdjust); DAdjusted = StochD(periods,KAdjust,DAdjust); CON=((22*KAdjusted)+(8*DAdjusted))/30; summ=IIf(CON > 50,1,-1); //Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); //Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); //LONG Buy = IIf((Long_S1 AND Ref(Summ,-1) < Summ)AND CON1,1,0); //Sell = IIf((Ref(Summ,-1) > Summ),1,0); Sell=0; P=Optimize("perst",18,1,20,1); ApplyStop(stopTypeTrailing, stopModePoint, 3*ATR(p), True, True ); //Buy = ExRem( Buy, Sell ); //Sell = ExRem( Sell, Buy ); PlotShapes(Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) ); //SHORT Short = IIf((Short_S1 AND Ref(Summ,-1) > Summ)AND CON1,1,0); RSIC=Optimize("RSIC",12,1,20,1); //Cover = IIf((Ref(Summ,-1) < Summ)OR RSI(3)<5,1,0); Cover = IIf((Ref(Summ,-1) < Summ),1,0); Short = ExRem( Short, Cover ); Cover = ExRem( Cover, Short ); PlotShapes( Cover * shapeUpArrow + Short * shapeDownArrow, IIf( Cover, colorGreen, colorRed ) ); //BACKTEST //Positionsgröße Size = 25;//% des verfügbaren Kapital bei 10.0000€ odr 10 % bei 100.000€ SetPositionSize( Size, spsPercentOfEquity ); // kaufe Shares für max. 50 %[/size]- ICHIMOKU
Hi, schau Dir das mal an: Amibroker Lib ist interessant wie dort DL definiert ist. Vielleicht sollten wir an dieser Stelle mal eine entsprechend Frage platzieren. Gruß Duncan PS: Und noch ein Code zum spielen ... /* ICHIMOKU CHART A bullish signal is issued when the Tenkan-Sen (RED line) crosses the Kijun-Sen (BLUE line) from below. On the other hand, a bearish signal is issued when the Tenkan-Sen crosses the Kijun-Sen from above. Moreover, there are, in fact, different levels of strength for the buy and sell signals of an Ichimoku chart. First, if there was a bullish crossover signal and the crossover occurred above the Kumo (or WHITE clouds), this would be considered a very strong buy signal (indicated with three green up arrows). In contrast, if there was a bearish crossover signal and the crossover occurred below the Kumo, this would be considered a very strong sell signal (indicated with three red down arrows, as above). Secondly, a normal buy or sell signal would be issued if the crossover took place within the Kumo (or clouds). These signals would be indicated with two green up arrows, for a buy signal, and two red down arrows, for a sell signal. Thirdly, a weak buy signal would be issued if there was a bullish crossover that occurred below the Kumo (or clouds). This is indicated with only one green up arrow (as above). On the other hand, a weak sell signal would be issued if there was a bearish crossover that occurred above the Kumo. This is indicated with only one red down arrow. Another striking feature of the Ichimoku charting technique is the identification of support and resistance levels. These levels can be predicted by the presence of Kumo (or WHITE clouds). The Kumo can also be used to help identify the prevailing trend of the market. If the BLACK price line is above the Kumo, the prevailing trend is said to be up. And if the price is below the Kumo, the prevailing trend is said to be down. A final feature of the Ichimoku chart is the PURPLE line, or Chikou Span (or Lagging Span). This line can be used to determine the strength of the buy or sell signal. If the Chikou Span is below the closing price for 26 periods ago and a sell signal is issued, then the strength is with sellers, otherwise it is a weak sell signal. Conversely, if there was a buy signal and the Chikou Span is above the price for 26 periods ago, then there is strength to the upside, otherwise, it can be considered a weak buy signal. This feature can also be incorporated into the other signals. */ SL = ( HHV( H, 26 ) + LLV( L, 26) )/2; TL = ( HHV( H, 9 ) + LLV( L, 9 ) )/2; DL = Ref( C, 25 ); Span1 = Ref( ( SL + TL )/2, -25 ); Span2 = Ref( (HHV( H, 52) + LLV(L, 52))/2, -25); MaxGraph = 6; Plot(SL,"SL",colorBlue,styleThick); // standard, base, or kijun-sen line Plot(TL,"TL",colorRed,styleThick); // turning, conversion, or tenkan-sen line Plot(DL,"DL",colorViolet,styleLine); // delayed, lagging, or chikou span Plot(Span1,"A",colorWhite,styleLine); // senkou span A, kumo, or white clouds Plot(Span2,"B",colorWhite,styleLine); // senkou span B, kumo, or white clouds Plot(Close,"Close",colorBlack,styleLine); // price close Buy1 = IIf(Cross(TL,SL) AND TL>Span1 AND TL>Span2,1,0); Buy2 = IIf(Cross(TL,SL) AND ( (TL>Span1 AND TL<Span2) OR (TL<Span1 AND TL>Span2) ),1,0); Buy3 = IIf( (Buy1 OR Buy2) AND C>Ref(DL,-26),1,0); Short1 = IIf(Cross(SL,TL) AND SL<Span1 AND SL<Span2,1,0); Short2 = IIf(Cross(SL,TL) AND ( (SL>Span1 AND SL<Span2) OR (SL<Span1 AND SL>Span2) ),1,0); Short3 = IIf( (Short1 OR Short2) AND C<Ref(DL,-26),1,0); IIf( (Buy1),PlotShapes(shapeDownArrow*Buy1,colorGreen),0); IIf( (Short1),PlotShapes(shapeUpArrow*Short1,colorRed),0);- ICHIMOKU
Ha ha ... jup. alte Mail aus dem Archiv: Hi, das ist der gleiche Artikel, so dass Du den aus dem Traders nicht mehr brauchst … nimm einfach mal den Code von Kahler (erste Mail) und packe den in TradeSignal dann siehst Du den Unterschied. Ich hoffe es ist erkennbar was ich meine … hast Du eine Idee dazu? Wenn die Entrys besser werden würden dann wäre es für mich perfekt … TradeSignal -> Code von Kahler AmiBroker -> mein alter Code //digital Stochastic nach Philip Kahler periods = Param( "Periods", 5, 1, 200, 1 ); KAdjust = Param( "%K avg", 3, 1, 200, 1 ); DAdjust= Param( "%D avg", 3, 1, 200, 1 ); KAdjusted = StochK(periods,KAdjust); DAdjusted = StochD(periods,KAdjust,DAdjust); CON=((22*KAdjusted)+(8*DAdjusted))/30; summ=IIf(CON > 50,1,-1); Plot( Summ, _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); Plot( EMA(Summ,periods), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_BEGIN("ATR"); periods = Param( "Periods", 15, 1, 200, 1 ); InsideDay = H < Ref(High,-1) AND Low > Ref(Low,-1); Plot(IIf(InsideDay AND LLV(ATR(6),6),ATR(periods),0), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style") ); _SECTION_END(); Antwort: hab hier was gefunden, http://www.intalus.de/de/produkte/tradesig...ert-trading.php kann es sein das der orginal länger auf der 1 bleibt? bei amibroker kommt er doch so gut wie nie auf 1. und er hat schwankungen die er bestimmt nicht machen soll. den rest schaue ich mir morgen an, mach jetzt schluss. Das ist so ziemlich unser alter Stand, mal sehen, ob ich das alte System auch noch finde ...Gruß Duncan- abgetrennt - Offtopic
Kopf hoch es kann nicht jeden Tag die Sonne scheinen! Mancheiner wird deine offene Art vielleicht falsch verstehen! Jedes Mitglied einer Community hat seine Qualitäten und deine Art einfach eine Frage zu stellen finde ich immer wieder gut, weil auch andere hier im Forum diese Fragen haben werden. Gerade Einsteiger trauen sich nicht zu fragen und so finden Sie über Dich jemanden, der die ganzen Fragen schon gestellt hat, also mach weiter so und frag, was immer Du willst / brauchst. Und wenn ich Dich nicht unterstützen kann oder will, dann werde ich Dir das in einer höfflichen Art mitteilen. Irgendwie ziehst Du manchmal Gewitterwolken an, nur warum? Ach egal wenn ich wieder Zeit habe geht es mit dem Thema weiter, Gruß Duncan- ICHIMOKU
Mal übernommen von AB: Aber ich glaube hier hat Krümel Fachwissen zu ...- ICHIMOKU
- abgetrennt - Offtopic
Mein Sohn (3,8 Jahre) findet Flink toll und hat Ihn sofort wieder erkannt, aber danke vielleicht später mal was vom Roman "DUNE" ... für I,believe vielleicht so etwas wie einen ergrauten alten Wissenschaftler ;-)- abgetrennt - Offtopic
- abgetrennt - Offtopic
Edit by Krümel: abgetrennt von hier. Hi Krümel, ist etwas off topic, aber darf ich das: Wichtig: Alle von mir gemachten Aussagen und Antworten auf Fragen entsprechen lediglich meiner persönlichen Meinung und stellen keinerlei Rechts- oder Anlageberatung dar. übernehmen? Gruß Duncan- ICHIMOKU
Wenn meine Frau kommt muss ich alles fallen lassen, da wir heute noch einiges erledigen wollen, aber sollte ich es vorher schaffen bekommst Du es gleich noch- ICHIMOKU
Ich bin schon bei den ersten Codezeilen ;-) Denke ich auch ... Ist auch eine Möglichkeit, da müsstest Du dann alle offenen Positionen killen und ich müsste mein Laptop ausschalten, sonst ist der Account aktiv ... Jup, das denke ich auch- ICHIMOKU
Ok das kannst DU auch testen, da geht es darum die Stabilität des System in Radom- läufen zu testen und wenn die Ergebnisse immer in den gleichen Bereich fallen, sollte das System stabil sein. Jetzt weiß ich was Du meinst MCSModeRandomizePositionScore = ParamToggle( "MCSModeRandomizePositionScore", "Off|On", 0 ); // set the number of MCS runs for each possible scenario MCSRuns = Param( "Monte-Carlo-Simulation Runs", 100, 0, 1000, 10 ); if ( MCSModeRandomizePositionScore == True AND MCSRuns != 0 ) { run = Optimize( "run", 1, 1, MCSRuns, 1 ); } den Code hier ablegen if ( MCSModeRandomizePositionScore == True ) { RandomArray = mtRandomA(); PositionScore = IIf( Buy, RandomArray, IIf( Short, -RandomArray, 0 ) ); //PositionScore = RandomArray; } else { PositionScore = 0; } Und am Ende das Ergebnis mit Excel oder ähnlichem auswerten -> Scatter-Diagramm X-Achse mit CAR, Y-Achse mit DD% Gruß Duncan- ICHIMOKU
Hi, das mit den 20 Tagen habe ich falsch gedeutet. Ok, bin aber dieses Wochenende viel unterwegs -> Offline. Aber in deinem alter ist es klar, das Du keine Zeit mehr hast sorry, musste jetzt sein. Gruß Duncan PS: Aber eine Minute ist für mich noch eine größere Baustelle ... mein Code musste bist dato nicht so perfekt sein, da ich Zeit hatte manuell nachzusteuern -> deine QA muss zu 100 % passen!- ICHIMOKU
- ICHIMOKU
Aber warum willst Du das Risiko eines 1 Minuten Systems für nur 244% eingehen, wenn das System mit EOD auf dem Russel 3000 besser läuft? Da kome ich nicht mit ... der Future ist eine andere Liga, in der absolute Beginner zum Frühstück vernascht werden … Mit meinen Settings:- ICHIMOKU
Eigentlich nicht, das System hat automatisch rotiert, da nicht ständig die gleichen Aktien den Anforderungen entsprachen oder wir sprechen an einander vorbei... Nein, habe ich nicht. Hm, habe ich noch nicht getestet … aber warum willst Du das auf einer Minuten laufen lassen? Da bekommt man ganz andere Probleme: • Verzögerung zwischen Orderbeauftragung und Ausführung • Prüfung der Ausführung und neuer scan muss in echtzeit laufen • Etc. Wenn die Performance im EOD zwischen Theorie und Praxis so bleibt, dann würde das schon reichen Gruß Duncan- ICHIMOKU
Ja, aber es macht auch Spass gemeinsam ein Thema woran zu bringen. Es gibt zwar die Aussage, das ein System auf allen Märkten und Zeitebenen stabil laufen sollte, aber davon halte ich nicht viel. Wenn ich ein System für den Russel 1000 entwickle und es läuft auf dem DAX nicht oder einen Future, dann ist das für mich vertretbar. Es gibt auch Systeme, die im Rohstoffbereich super laufen, aber bei Aktien nichts bringen …. Ich könnte das auf dem Paperaccount aktivieren und Langzeit auswerten … das Swingsystem ist genug getestet, um zu wissen, das es läuft, aber die Margin- Kontrolle ist nicht ohne, soll heißen ist mir momentan zu stressig. Damit habe ich bei AmiBroker noch keine Erfahrung, eine Rotation von Werten wäre hier sicher wichtig. JA, bei mir läuft das System auch am Limit ... aber noch läuft es - Teil 2: Indikatorentwicklung 1-2-3-Detektion