Systeem RapidFireSwingTrading - Uitnodiging voor de cracks
Geplaatst: zo 10 aug 2003, 11:31
In het Augustnummer van TKA wordt e.e.a. over "explosieve trades" met het RapidFireSwingTrading geschreven. Dit systeem zou in periode 26/3-26/6 handelend op alle AEX aandelen een winst van 90% hebben gehaald! (Er staat weinig vermeld of hier kosten/slippage etc van zijn afgehaald).
Goed, zo"n systeem wil je natuurlijk graag hebben, dus ik heb wat zitten proberen. Ik loop echter vast op het feit dat Vestics nog steeds geen limieten ondersteund (Pierre, wanneer ???). Ik krijg de entry op de juiste level, maar de exit niet. Het zou mooi zijn als we ikv gezamenlijke ontwikkeling "m sluitend krijgen. Dus cracks van het forum, let"s go !
Systeem: RapidFireSwingTrading.
Entry:
1. Wacht op zgn NR4 setup dag. Vandaag is setup dag als H-L lager is dan H-L van de 3 dagen ervoor. Daarnaast moet vandaag een inside bar dag zijn, dus H<H[1] en L>[L1].
2a. Ga long op de volgende bar met als limiet de high van de setup dag. M.a.w. als de koers van de volgende bar boven de high van de setupdag komt, dan enterlong.
2b. Ga short op volgende bar limiet low van setupdag.
3a. Indien long, set stoploss op low van setupdag. Dwz als gedurende de entry&volgende bars de koers zakt onder de low van de setupdag, sluit de positie.
3b. Indien short, set stoploss op high vab setupdag.
Exit:
Exit op de 2e dag. De auteur suggereert dat met exitstrategie verbetering waarschijnlijk een verbetering is te realiseren.
Vestics Code:
value function zRapidFireSwing() begin
value xStopLoss, xEntryPrice;
value xCondition1;
xCondition1= ((High[1]-Low[1])<(High[2]-Low[2])) AND
((High[1]-Low[1])<(High[3]-Low[3])) AND
((High[1]-Low[1])<(High[4]-Low[4])) AND
((High[1]<High[2])AND (Low[1]>Low[2]));
if MarketPosition=1 then begin
if low<xStoploss then vExitLong("",1,0,1,xStoploss);
if BarsSinceEntry()=1 then vExitlong;
end;
if MarketPosition=-1 then begin
if high>xStoploss then vExitShort("",1,0,0,xStoploss);
if BarsSinceEntry()=1 then vExitshort;
end;
If marketposition = 0 AND time < 1945 then begin
if xCondition1=1 then begin
If Open<Close then begin
If low<low[1] then begin
xEntryPrice=low[1];
if Open<xEntryPrice then xEntryPrice=Open;
vEntershort("",1,0,0,xEntryPrice);
xStopLoss=high[1];
end;
if high>high[1] then begin
xEntryPrice=high[1];
if Open>xEntryPrice then xEntryPrice=Open;
vEnterlong("",1,0,0,xEntryPrice);
xStopLoss=low[1];
end;
end;
If Open>=Close then begin
If high>high[1] then begin
xEntryPrice=high[1];
if Open>xEntryPrice then xEntryPrice=Open;
vEnterlong("",1,0,0,xEntryPrice);
xStopLoss=low[1];
end;
if low<low[1] then begin
xEntryPrice=low[1];
if Open<xEntryPrice then xEntryPrice=Open;
vEntershort("",1,0,0,xEntryPrice);
xStopLoss=High[1];
end;
end;
end;
end;
plot1(xCondition1);
end;
Toelichting:
Ik heb geprobeerd om de limiet entry als volgt te simuleren:
1.Op huidige bar, check of gisteren een setup dag was
2. Zo ja, dan moet je checken of je vandaag door je limieten bent gegaan. Dit kan door H>H[1] en L<L[1], echter gedurende huidige bar kunnen beide zijn ontstaan en waar zijn, dus welke eerst?
3. Ik heb ooit ergens gelezen dat als O>C men in TS er van uit gaat dat de H eerder was dan de L. En viceversa voor C<O.
4. In de Rapid-strategy met de stoplosses, kun je dus beide posities in de bar nemen (dit gebeurt ook in het echt als je op tick-niveau naar positie kijkt). Voorbeeld je opent long en koers zakt onder de low[1] dan stoploss je eruit, maar is tevens de entry conditie voor short.
5. Tot zover lukt het nog. Nu de trades in Vestics realiseren. Ik doe dit met vEnterlong("",1,0,0, xEntryPrice) m.a.w. ik geef mee op welke koers ik instap (de limiet). Dit lukt ook en ook voor vEntershort.
6. Ik zit dus op de limiet koers in mijn gewenste positie. Ik heb dus mijn stoploss berekend en wil dus exiten op de stoploss koers. Daartoe kijk ik in de volgende bar of mijn low lager is dan stoploss (long) of mijn high hoger dan stoploss (short).
7. If so dan wil ik dus eigenlijk weer iets roepen als vExitLong("",1,0,0,xStoploss). MAAR DAT WERKT NIET AAAAAARGH! Je bent zover en dan dit. Ok, ik weet niet wat er gebeurt in de kernel ofzo maar vestics ziet het signaal, maar exit vrolijk op de closewaarde van de bar en niet de limiet.....
HIER, beste cracks, heb ik jullie hulp nodig. Kunnen we iets verzinnen om toch op de limiet te exiten?
- toch met vExit... maar zie ik iets over het hoofd
- gebruik van instrument om de closewaarde bij stoploss exit te over-rulen naar stoplosswaarde (zoiets gebeurd bij gebruik van instrument future, zie post van Geert Udema)
- andere manier van programmeren???
-...
Ok cracks, de case en beloning (systeempje) liggen er, laten we de mouwen oprollen...
Dank voor je hulp!
Michel
Goed, zo"n systeem wil je natuurlijk graag hebben, dus ik heb wat zitten proberen. Ik loop echter vast op het feit dat Vestics nog steeds geen limieten ondersteund (Pierre, wanneer ???). Ik krijg de entry op de juiste level, maar de exit niet. Het zou mooi zijn als we ikv gezamenlijke ontwikkeling "m sluitend krijgen. Dus cracks van het forum, let"s go !
Systeem: RapidFireSwingTrading.
Entry:
1. Wacht op zgn NR4 setup dag. Vandaag is setup dag als H-L lager is dan H-L van de 3 dagen ervoor. Daarnaast moet vandaag een inside bar dag zijn, dus H<H[1] en L>[L1].
2a. Ga long op de volgende bar met als limiet de high van de setup dag. M.a.w. als de koers van de volgende bar boven de high van de setupdag komt, dan enterlong.
2b. Ga short op volgende bar limiet low van setupdag.
3a. Indien long, set stoploss op low van setupdag. Dwz als gedurende de entry&volgende bars de koers zakt onder de low van de setupdag, sluit de positie.
3b. Indien short, set stoploss op high vab setupdag.
Exit:
Exit op de 2e dag. De auteur suggereert dat met exitstrategie verbetering waarschijnlijk een verbetering is te realiseren.
Vestics Code:
value function zRapidFireSwing() begin
value xStopLoss, xEntryPrice;
value xCondition1;
xCondition1= ((High[1]-Low[1])<(High[2]-Low[2])) AND
((High[1]-Low[1])<(High[3]-Low[3])) AND
((High[1]-Low[1])<(High[4]-Low[4])) AND
((High[1]<High[2])AND (Low[1]>Low[2]));
if MarketPosition=1 then begin
if low<xStoploss then vExitLong("",1,0,1,xStoploss);
if BarsSinceEntry()=1 then vExitlong;
end;
if MarketPosition=-1 then begin
if high>xStoploss then vExitShort("",1,0,0,xStoploss);
if BarsSinceEntry()=1 then vExitshort;
end;
If marketposition = 0 AND time < 1945 then begin
if xCondition1=1 then begin
If Open<Close then begin
If low<low[1] then begin
xEntryPrice=low[1];
if Open<xEntryPrice then xEntryPrice=Open;
vEntershort("",1,0,0,xEntryPrice);
xStopLoss=high[1];
end;
if high>high[1] then begin
xEntryPrice=high[1];
if Open>xEntryPrice then xEntryPrice=Open;
vEnterlong("",1,0,0,xEntryPrice);
xStopLoss=low[1];
end;
end;
If Open>=Close then begin
If high>high[1] then begin
xEntryPrice=high[1];
if Open>xEntryPrice then xEntryPrice=Open;
vEnterlong("",1,0,0,xEntryPrice);
xStopLoss=low[1];
end;
if low<low[1] then begin
xEntryPrice=low[1];
if Open<xEntryPrice then xEntryPrice=Open;
vEntershort("",1,0,0,xEntryPrice);
xStopLoss=High[1];
end;
end;
end;
end;
plot1(xCondition1);
end;
Toelichting:
Ik heb geprobeerd om de limiet entry als volgt te simuleren:
1.Op huidige bar, check of gisteren een setup dag was
2. Zo ja, dan moet je checken of je vandaag door je limieten bent gegaan. Dit kan door H>H[1] en L<L[1], echter gedurende huidige bar kunnen beide zijn ontstaan en waar zijn, dus welke eerst?
3. Ik heb ooit ergens gelezen dat als O>C men in TS er van uit gaat dat de H eerder was dan de L. En viceversa voor C<O.
4. In de Rapid-strategy met de stoplosses, kun je dus beide posities in de bar nemen (dit gebeurt ook in het echt als je op tick-niveau naar positie kijkt). Voorbeeld je opent long en koers zakt onder de low[1] dan stoploss je eruit, maar is tevens de entry conditie voor short.
5. Tot zover lukt het nog. Nu de trades in Vestics realiseren. Ik doe dit met vEnterlong("",1,0,0, xEntryPrice) m.a.w. ik geef mee op welke koers ik instap (de limiet). Dit lukt ook en ook voor vEntershort.
6. Ik zit dus op de limiet koers in mijn gewenste positie. Ik heb dus mijn stoploss berekend en wil dus exiten op de stoploss koers. Daartoe kijk ik in de volgende bar of mijn low lager is dan stoploss (long) of mijn high hoger dan stoploss (short).
7. If so dan wil ik dus eigenlijk weer iets roepen als vExitLong("",1,0,0,xStoploss). MAAR DAT WERKT NIET AAAAAARGH! Je bent zover en dan dit. Ok, ik weet niet wat er gebeurt in de kernel ofzo maar vestics ziet het signaal, maar exit vrolijk op de closewaarde van de bar en niet de limiet.....
HIER, beste cracks, heb ik jullie hulp nodig. Kunnen we iets verzinnen om toch op de limiet te exiten?
- toch met vExit... maar zie ik iets over het hoofd
- gebruik van instrument om de closewaarde bij stoploss exit te over-rulen naar stoplosswaarde (zoiets gebeurd bij gebruik van instrument future, zie post van Geert Udema)
- andere manier van programmeren???
-...
Ok cracks, de case en beloning (systeempje) liggen er, laten we de mouwen oprollen...
Dank voor je hulp!
Michel