Alle Inhalte von duncan
-
Volumen- Indikator
Hi, das einfachste VRANK- System ist für mich immer noch so etwas, da brauch man nicht so viele Bilder zu malen : //einfaches V-RANK20 System / LONG only P=C; P1=Ref(C,-1); mid=(H+L)/2; //Status der BAR's UC=P>P1; DC=P<=P1; UB=C>O; DB=C<=O; UM=C>mid; DM=C<mid; //Aufwärtsvolumen V1=IIf(UC AND UB AND UM,V*3,0);//starkes bullisches Volumen V2=IIf(UC AND UB AND DM,V*2,0);//mittleres bullisches Volumen V3=IIf(UC AND DB AND DM,V*1,0);//leichtes bullisches Volumen //Abwärtsvolumen V4=IIf(DC AND DB AND DM,V*(-3),0);//starkes bärisches Volumen V5=IIf(DC AND UB AND UM,V*(-2),0);//mittleres bärisches Volumen V6=IIf(DC AND UB AND UM,V*(-1),0);//leichtes bärisches Volumen //alle Volumina S=V1+V2+V3+V4+V5+V6; VRANK=EMA(S,20);//Glättung der Daten //=========================Test - System Entry=========================================================================== =================== VolAvg = MA( V, 14 ); VolumeIdx = V / VolAvg; CON1=C > 2 AND MA( V * C * 100, 5 ) > 50000; CON2=(((Max(C-Ref(C,-1),Ref(C,-1)-C)*100)/C)<10); Buy=Sell=Short=Cover=0; VB2=1.5; Buy1=Ref(VRANK,-1) <0 AND Ref(VRANK,-1) < VRANK AND (Ref(VolumeIdx,-1) > VB2 OR VolumeIdx >VB2) AND Ref(VRANK,-1) < BBandBot(VRANK, 20,2) AND CON1 AND CON2; Buy=Ref(Buy1,-1); BuyPrice=O; //=========================Exit's=========================================================================== =================== Support=BBandBot( C, 20, 2 ); PositionSize=-Min(abs(BuyPrice/(BuyPrice-Support)),10); ApplyStop(stopTypeLoss, stopModePercent, 10); ApplyStop( stopTypeNBar, stopModeBars, 3 ); SellPrice=C; //=========================Backtest=============================================== =============================================== SetOption( "AllowSameBarExit", False); // Handel inerhalb eines Tages verbieten SetOption( "initialequity",10000 ); // Startkapital SetOption( "MaxOpenPositions", 100 ); //maximale offene Positionen SetOption( "MinShares", 1 ); //minimale Positionsgröße in Shares SetOption( "MinPosValue", 200 ); //minimaler Betrag SetOption( "AllowPositionShrinking", False ); //verkleiner der Positionsgroesse erlauben SetOption( "ActivateStopsImmediately", False); //alle Stopps sollen nicht sofort aktiv sein RoundLotSize = 1; //Positionen sollen immer aus ganzzahligen Shares bestehen(1,2,3,x) SetTradeDelays( 0, 0, 0, 0 ); hat zwar keine Schnörkel oder so, kommt aber dem Kiss- Gedanken recht nahe. Wer den Russel 3000 oder S&P 500 hat, kann es mal von 1983 - heute laufen lassen: Statistics All trades Long trades Short trades Initial capital 10000.00 10000.00 10000.00 Ending capital 990404.77 990404.77 10000.00 Net Profit 980404.77 980404.77 0.00 Net Profit % 9804.05 % 9804.05 % 0.00 % Exposure % 71.46 % 71.46 % 0.00 % Net Risk Adjusted Return % 13718.91 % 13718.91 % N/A Annual Return % 20.44 % 20.44 % 0.00 % Risk Adjusted Return % 28.61 % 28.61 % N/A -------------------------------------------------------------------------------- All trades 52883 52883 (100.00 %) 0 (0.00 %) Avg. Profit/Loss 18.54 18.54 N/A Avg. Profit/Loss % 0.37 % 0.37 % N/A Avg. Bars Held 3.92 3.92 N/A -------------------------------------------------------------------------------- Winners 26973 (51.01 %) 26973 (51.01 %) 0 (0.00 %) Total Profit 14194858.27 14194858.27 0.00 Avg. Profit 526.26 526.26 N/A Avg. Profit % 4.43 % 4.43 % N/A Avg. Bars Held 4.01 4.01 N/A Max. Consecutive 36 36 0 Largest win 86361.84 86361.84 0.00 # bars in largest win 4 4 0 -------------------------------------------------------------------------------- Losers 25910 (48.99 %) 25910 (48.99 %) 0 (0.00 %) Total Loss -13214453.50 -13214453.50 0.00 Avg. Loss -510.01 -510.01 N/A Avg. Loss % -3.86 % -3.86 % N/A Avg. Bars Held 3.83 3.83 N/A Max. Consecutive 38 38 0 Largest loss -30032.63 -30032.63 0.00 # bars in largest loss 2 2 0 -------------------------------------------------------------------------------- Max. trade drawdown -30032.63 -30032.63 0.00 Max. trade % drawdown -58.25 % -58.25 % 0.00 % Max. system drawdown -739458.64 -739458.64 0.00 Max. system % drawdown -56.59 % -56.59 % 0.00 % Recovery Factor 1.33 1.33 N/A CAR/MaxDD 0.36 0.36 N/A RAR/MaxDD 0.51 0.51 N/A Profit Factor 1.07 1.07 N/A Payoff Ratio 1.03 1.03 N/A Standard Error 126299.01 126299.01 0.00 Risk-Reward Ratio 0.38 0.38 N/A Ulcer Index 14.64 14.64 0.00 Ulcer Performance Index 1.03 1.03 N/A Sharpe Ratio of trades 0.46 0.46 0.00 K-Ratio 0.0346 0.0346 -1.#IND Ist zwar nicht real, aber so sähe das beim Russel3000 von 1983- heute aus: Ist natürlich real nicht möglich, da z.B. der Russel3000 jedes Jahr im Juni neu festgelegt wird. Also ohne weitere Änderungen ganz schön heftige DD's ... Und dieses Jahr?
-
Volumen- Indikator
Hi, der Initial Stopp ist bei mir angepasst an den Support(Bollinger Bänder), aber nicht größer als 10 % maximales Risiko und als zweites prüft das System nach 3 Tagen wie es läuft -> schließt also die Position, wenn es nicht wie definiert läuft, z.B. wenn der Trade nicht 0.01$ im Plus ist ... ist alles eine Frage des RM und wenn mir die Statistik dann sagt, das mein Risiko dadurch kleiner ist, perfekt! Schade das das System, manchmal zu früh raus geht, aber besser als Statistisch gesehen auf der falschen Seite zu stehen. Gruß Duncan
-
Volumen- Indikator
Gute Idee, Du kannst auch die Schnitte mit der Null zählen, ich glaube links 20 und rechts 11 und das in der gleichen Zeit, dann sollte der rechte Wert schon mal besser sein..., das sollte man als Indikator hinbekommen
-
Volumen- Indikator
Ist auch eine Idee Warum, nimm doch einfach die Trendschwäche Idee ... 1. Stopp Lost setzen z.B. +/- 10% dann 2.) schaust Du nach z.B. drei Tagen nach was passiert ist und wenn es nicht in deine Richtung läuft exit und so weiter ... Hm, da köntest Du Dir auch Rohstoffe ansehen, die sollten eingentlich häufiger und länger tendieren ... Gruß Duncan
-
Volumen- Indikator
Hi, so etwas wurde auch im Trader's Artikel beschrieben, aber ich kann ja schlecht den kopieren ..., aber Du hast recht diese Vorgehendweise ist auch möglich und kann noch sehr viel effizienter als meine Idee sein. Mit den paar Code- Zeilen und n-Bar Stopp von drei Tagen komme ich auf 50% Trefferquote im Russel3000 LONG das hat mir für’s erste gereicht ;-) mein Stopp scheint ja auch schon ganz gut zu deinen S2 zu passen, aber deinen Entry zu programmieren ist nicht so einfach … Gruß Duncan Ps: Danke für deinen Beitrag, ich habe für den VRANK auch noch zwei Ideen für den Entry.
-
Volumen- Indikator
Dann versuche es doch zum Beispiel so: //V-RANK20 nach Traders 09.09 P=C; P1=Ref(C,-1); mid=(H+L)/2; //Status der BAR's UC=P>P1; DC=P<=P1; UB=C>O; DB=C<=O; UM=C>mid; DM=C<mid; //Aufwärtsvolumen V1=IIf(UC AND UB AND UM,V*3,0);//starkes bullisches Volumen V2=IIf(UC AND UB AND DM,V*2,0);//mittleres bullisches Volumen V3=IIf(UC AND DB AND DM,V*1,0);//leichtes bullisches Volumen //Abwärtsvolumen V4=IIf(DC AND DB AND DM,V*(-3),0);//starkes bärisches Volumen V5=IIf(DC AND UB AND UM,V*(-2),0);//mittleres bärisches Volumen V6=IIf(DC AND UB AND UM,V*(-1),0);//leichtes bärisches Volumen //alle Volumina S=V1+V2+V3+V4+V5+V6; VRANK=EMA(S,20);//Glättung der Daten Color=IIf(0>HHV(VRANK,5),colorRed,IIf(0<LLV(VRANK,5),colorGreen,colorWhite)); Plot(VRANK,"",colorBlack,styleDots ); Plot(0,"",colorBlue); Color2=IIf(VRANK<Ref(VRANK,-1),colorRed,colorGreen); Plot(BBandTop(VRANK, 20,2),"BBandTop",colorBlue,styleDashed); Plot(BBandBot(VRANK, 20,2),"BBandBot",colorBlue,styleDashed); Strategie=WriteIf(0>HHV(VRANK,5),"Short MA",WriteIf(0<LLV(VRANK,5),"Long MA","- MA")); Plot(MA(VRANK,8),WriteIf(1,Strategie, "" ),color2); Plot(VRANK,"V-RANK 20",color,styleHistogram); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Close %g, Change(%.1f%%), Vol " +WriteVal( V, 1.0 ) +" Strategie: "+" {{VALUES}}", C, SelectedValue( ROC( C, 1 )))); VolAvg = MA( V, 14 ); VolumeIdx = V / VolAvg; CON1=C > 2 AND MA( V * C * 100, 5 ) > 50000; CON2=(((Max(C-Ref(C,-1),Ref(C,-1)-C)*100)/C)<10); Buy=Sell=Short=Cover=0; VB2=1.5; Buy1=Ref(VRANK,-1) <0 AND Ref(VRANK,-1) < VRANK AND (Ref(VolumeIdx,-1) > VB2 OR VolumeIdx >VB2) AND Ref(VRANK,-1) < BBandBot(VRANK, 20,2) AND CON1 AND CON2; Buy=Ref(Buy1,-1); BuyPrice=O; ShortPrice=O; SetChartOptions(0,chartShowArrows|chartShowDates); PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorRed, 0,H, Offset=-45); PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorGreen, 0,L, Offset=-45); Dazu die richtigen Exits und alles wird gut -Regel: Buy1=Ref(VRANK,-1) <0 AND Ref(VRANK,-1) < VRANK AND (Ref(VolumeIdx,-1) > VB2 OR VolumeIdx >VB2) AND Ref(VRANK,-1) < BBandBot(VRANK, 20,2) AND CON1 AND CON2; CON1=C > 2 AND MA( V * C * 100, 5 ) > 50000; CON2=(((Max(C-Ref(C,-1),Ref(C,-1)-C)*100)/C)<10); - VRANK von gestern kleiner als 0 - VRANK von gestern kleiner als heute - VolumenIdx ist gstern oder heute gößer als VB=2 - VRANK war gestern kleiner als sein Bollinger Boden - CLose war größer 2$ - Umsatz der letzten 5 Tage > 5000000 $ - die Preisänderung zwischen Close gestern und heute ist kleiner 10 % Und das ganze noch um ein Tag versetzt: Buy=Ref(Buy1,-1); Und was ist das Ergebnis? Gruß Duncan PS: Es geht auch noch besser, aber versuch macht klug
-
Volumen- Indikator
Hi, was ist dein Ergebnis? Wenn Du z.B. nur VRANK- Werte größer Null anschaust und einen Buy über die Kerze legst die Ihn nach oben brachte, warum hast Du dann so viele blaue Linien? Wenn ich mir alle blauen Linien ansehe, ist der VRank nicht immer über 0. Gruß Duncan
-
Volumen- Indikator
Na klar kannst Du das VRANK >0, dann ist der Trend Long oder VRANK 0 oder Gruß Duncan
-
Explorer für prozentuale Veränderung in x Handelstagen
Hi, ein Explorer der auf Ideen aus AB http://www.aktienboard.com/forum/f29/prore...233#post2216402 basiert: /*Explorer, der Werte findet, die in den letzten X Handelstagen Y % zugelegt haben ... f1 = max Preis f2 = min. Preis f3 = Volumen tage = Anzahl zurück liegende Tage auf die sich die prozentuale Preisveränderung bezieht. prozent = prozentuale Preisveränderung*/ tage = 5; prozent = 10; f1 = High >= 1.5; f2 = High <= 10; f3 = Volume > 500000; f4 = High >= (Ref(High,-tage) + (Ref(High,-tage) * (prozent / 100))); range=H-L; f5 = Close > High - range * 0.236; f = f1 AND f2 AND f3 AND f4 AND f5 AND Close > Open; criteria = IIf(f,((High / Ref(High,-tage) * 100) - 100),0); AddColumn( criteria , "Prozent"); Filter = criteria;
-
Programmierungsfragen- Amibroker
HI, wenn ich das Konzept richtig verstanden habe, dann berechnet AmiBroker das immer in Bezug zum aktuellen Bar, d.h. ist bei deinen aktuellen Bar i kleiner 48 kann AmiBroker auch nichts berechnen und Du bekommst keine Rückgabe, ist i aber größer 48 bekommst Du eine Rückgabe ... so verwende ich AmiBroker. Als ich zu AmiBroker gewechselt bin, konnte ich meine "gesamte" Logik über Board werfen und muss alles neu lernen. AmiBroker ist schon sehr anders als z.B. PRT, aber wenn Du erstmal die Problemchen kennst, ist AMI super offen, kannst also z.B. deine eigenen dll's schreiben Gruß Duncan
-
Programmierungsfragen- Amibroker
HI, Plot(C,"Colse",colorBlue); //Fractals function LastFractalHigh() { for (i=48;i>0;i--) { H1=H[i]>H[i+1]; H2=H[i]>H[i+2]; H3=H[i]>H[i-1]; H4=H[i]>H[i-2]; if (H1 AND H2 AND H3 AND H4) { result=H[i]; break; } } return result; } Plot(LastFractalHigh(),"LastFractalHigh",colorRed,styleDots); meinst Du das Gruß Duncan
-
Nachkommastellen bei RealtimeQuotes
Hi, danke dort konnte man dann das finden: gute Idee ... Gruß Duncan
-
Volumen- Indikator
gutes Auge
-
Volumen- Indikator
Hi, gestern im Traders Magazin (09/09) habe ich einen neuen Indikator kennen gelernt, den ich euch zur Verfügung stellen möchte. Also macht was daraus ... Gruß Duncan. _SECTION_BEGIN("V-RANK 20 v.002"); //V-RANK20 nach Traders 09.09 P=C; P1=Ref(C,-1); mid=(H+L)/2; //Status der BAR's UC=P>P1; DC=P<=P1; UB=C>O; DB=C<=O; UM=C>mid; DM=C<mid; //Aufwärtsvolumen V1=IIf(UC AND UB AND UM,V*3,0);//starkes bullisches Volumen V2=IIf(UC AND UB AND DM,V*2,0);//mittleres bullisches Volumen V3=IIf(UC AND DB AND DM,V*1,0);//leichtes bullisches Volumen //Abwärtsvolumen V4=IIf(DC AND DB AND DM,V*(-3),0);//starkes bärisches Volumen V5=IIf(DC AND UB AND UM,V*(-2),0);//mittleres bärisches Volumen V6=IIf(DC AND UB AND UM,V*(-1),0);//leichtes bärisches Volumen //alle Volumina S=V1+V2+V3+V4+V5+V6; VRANK=EMA(S,20);//Glättung der Daten Color=IIf(0>HHV(VRANK,5),colorRed,IIf(0<LLV(VRANK,5),colorGreen,colorWhite)); Plot(VRANK,"",colorBlack,styleDots ); Plot(0,"",colorBlue); Color2=IIf(VRANK<Ref(VRANK,-1),colorRed,colorGreen); Plot(BBandTop(VRANK, 20,2),"",colorBlue,styleDashed); Plot(BBandBot(VRANK, 20,2),"",colorBlue,styleDashed); Strategie=WriteIf(0>HHV(VRANK,5),"Short MA",WriteIf(0<LLV(VRANK,5),"Long MA","- MA")); Plot(MA(VRANK,8),WriteIf(1,Strategie, "" ),color2); Plot(VRANK,"V-RANK 20",color,styleHistogram); _N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Close %g, Change(%.1f%%), Vol " +WriteVal( V, 1.0 ) +" Strategie: "+" {{VALUES}}", C, SelectedValue( ROC( C, 1 )))); _SECTION_END();
-
ADX als Filter
Von Oktober 2007 da wurde es ja prompt eingebaut ...
-
ADX als Filter
Ich denke das wird der neue Standard ...
-
ADX als Filter
Hi, ja das ist von der Version abhängig, ich nutze zurzeit 5.26.5 beta Gruß Duncan
-
ADX als Filter
Nein, da musst Du System 3 wählen ;-)
-
Entry & Exit am gleichen Tag
Das setzt den Wert für SELL einfach auf wahr, und da Du schon gesagt hast SellPrice =Close wurde das auch so befüllt, sonst SellPrice=C; gruß Duncan PS: Sell,Buy,Cover,Short erwarten einfach wahre Bedingungen ...
-
Entry & Exit am gleichen Tag
Hi, ganz einfach, Sell=1; und wichtig die Option: SetOption( "AllowSameBarExit", True ); // Handel inerhalb eines Tages verbieten/ erlauben. gruß Duncan
-
ADX als Filter
Nicht so pessimistisch teste doch mal … aber ich habe den Fehler zu erst gefunden ... und hast Du Ihn auch? kleiner Fehler: BuyPrice=O; ShortPrice=O; muss aber BuyPrice=C; ShortPrice=C; sein ... nun Minussystem, also wie zu erwarten
-
ADX als Filter
Hm, ist ja nicht sehr viel passiert seit gestern, dann will ich mal etwas nachschieben: Russel 1000 01.01.09 - heute das ist das Ergebnis, wenn man System Nr. 3 Long only handelt. Vielleicht ist bei den Shorts noch ein Fehler... Seit 1994: Jetzt macht mir das aber nicht wieder kaputt, in dem Ihr das alle handelt Gruß Duncan PS: Das System 3 Long only ... ADX_SMI_3.zip PS: Wer motiviert ist, testet noch den n-Bar Stopp für Long und Short auf 2
-
ADX als Filter
Die Idee hatte ich auch schonmal, sieh Dir mal System drei an, dann passen aber natürlich die Exits nicht mehr ... ADX_SMI_2.zip An deinen Punkt geht es noch einmal Short und dann schön long ...
-
ADX als Filter
Hallo, was uns nun fehlt sind zwei System eins für Marktphasen ohne Trend und eins für Phasen mit Trend. erstes System) Marktphasen ohne Trend also ADX(14) In diesen Phasen kann der Markt nun willkürlich hin und her schwingen und dies wollen wir nutzen, z.B. mit dem SMI nachzulesen hier: http://www.tradesignalonline.com/Lexicon/D...entum+%28SMI%29 zweites System) Marktphasen mit Trend als z.B. ADX(14) > 30, d.h. der ADX hat bei der Betrachtung von 14 Perioden einen Wert von größer 30. Diesen kann man nun sehr einfach in einem System verwenden: Long (Short nur anders herum) Entry: 1. der Index kommt von seinen extrem über 50 zurück und Kreuz die 50’er Line also ein Cross- System (System 0) 2. der Index ist über 50 und dreht in die andere Richtung (System 1) 3. der Index Kreuzt die 0, der ADX ist nun größer 30 und der Close ist größer Ema 38 also mit Trend! (System2) Hier könnt Ihr das entsprechende System auswählen ... Exits: 1. am vierten Tag wird zum Close geprüft ob das System 0.01% im Plus ist, wenn nicht wird die Position wieder geschlossen 2. der SMI dreht wieder in die andere Richtung 3. Stopp Lost von 10% 4. Take Profit von 30 % Entry bei ADX Entry bei ADX > 30 Hier ist der ADX zwar über 30, aber eigentlich schwingt dort der ADX vom Short Trend zurück ... trotzdem war der Long erfolgreich. Gruß Duncan PS: Die Systeme sind nur ein Beispiel und laufen selber nicht ;-( ADX_SMI.zip
-
ADX als Filter
Hi Wegi, Bei der Eröffnung wird der Bar anhand der aktuell vorliegenden Daten angezeigt, d.h. die Farbe kann sich auch ändern wenn eine starke Bewegung einsetzt. Ich habe nur die Vorlage umgesetzt mehr nicht, graue Zone könnten Werte Hast Du dazu einen Link? Gruß Duncan