Systeem RapidFireSwingTrading - Uitnodiging voor de cracks

Vragen en suggesties over handelssystemen en indicatoren

Moderator: Perry

Systeem RapidFireSwingTrading - Uitnodiging voor de cracks

Berichtdoor poekmeister » 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
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor cees » ma 11 aug 2003, 9:14

Ik heb er naar gekeken (meer dan dat) en het lijkt wel of dat jouw vesticode niet helemaal correct is overgekomen op het forum. Zou je dat even willen checken.
Bv bij de entry aan de short kant staat er voor mij althans statements die ik niet thuis kan brengen.

groetjes

cees
cees
 
Berichten: 51
Geregistreerd op: wo 27 feb 2002, 19:48

Systeem RapidFireSwingTrading

Berichtdoor Marco » ma 11 aug 2003, 9:45

Marcel,

Ik heb het spul eens doorgenomen maar besef dat ik slechts zijdelings het stuk in TKA heb doorgebladerd!!!
Normaliter heb ik een hekel aan die sites van Pierce (zie ook FibonacciSecrets, nog zo'n poeha site) met veel beloftes, maar weinig concreets (voorbeelden stammen uit 2001 !!!!!), maar blijkbaar zit er toch wat achter, al is het me nog niet echt duidelijk, want 3maanden backtesten is niet veel vind ik...

Maar goed.
Ik heb je code wat geherformateerd en wat kleine dingen veranderd om het wat beter te begrijpen ;) :
1. Ik snap de test op BarsSinceEntry() = 1 niet om vervolgens een vExitShort te doen, of is dat nu juist de Exit op de 2de dag, maar dan gewoon tegen de close, dus een MOC order??? Dus je zit altijd maar 1 dag erin ?!?!?!
2. Ik denk te begrijpen dat je eigenlijk op meerdere time-frames zou willen werken om je backtest beter te kunnen laten werken, nl je signaal op dagbasis en je exit op tick/minuut basis. Klopt dat ????? Zo niet dan begrijp ik nog niet helemaal waarom je met die limiet entries/exits zo bezig bent...
Natuurlijk, als Vestics de limiet entry/exit zou ondersteunen zou dat ook niet nodig zijn, maar ik vraag me gewoon ff af wat nu precies de bedoeling is!

Tot zover,

Hieronder de door mij gewijzigde code...

Marco.

Vestics Code:

value function zRapidFireSwing()
begin
?value xStopLoss, xEntryPrice;
?value xCondition1;

?{--- Check for signals ---}
?If Marketposition = 0 AND time < 1945 then begin
? ?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 xCondition1 = 1 then begin
? ? ?If Open < Close then begin
? ? ? ?If Low < Low[1] then begin
? ? ? ? ?xEntryPrice := Low[1] << Open;
? ? ? ? ?xStopLoss ? := High[1];
? ? ? ? ?vEntershort("",1,0,0,xEntryPrice);
? ? ? ?end;

? ? ? ?if High > High[1] then begin
? ? ? ? ?xEntryPrice := High[1] >> Open;
? ? ? ? ?xStopLoss ? := Low[1];
? ? ? ? ?vEnterlong("",1,0,0,xEntryPrice);
? ? ? ?end;
? ? ?end;

? ? ?If Open >= Close then begin
? ? ? ?If High > High[1] then begin
? ? ? ? ?xEntryPrice := High[1] >> Open;
? ? ? ? ?xStopLoss ? := Low[1];
? ? ? ? ?vEnterlong("",1,0,0,xEntryPrice);
? ? ? ?end;

? ? ? ?if Low < Low[1] then begin
? ? ? ? ?xEntryPrice := Low[1] << Open;
? ? ? ? ?xStopLoss ? := High[1];
? ? ? ? ?vEntershort("",1,0,0,xEntryPrice);
? ? ? ?end;
? ? ?end;
? ?end;
?end;

?{--- Handle long position exits ---}
?if MarketPosition = 1 then begin
? ?if Low < xStoploss then vExitLong("",1,0,1,xStoploss);
? ?if BarsSinceEntry() = 1 then vExitLong;
?end;

?{--- Handle short position exits ---}
?if MarketPosition = -1 then begin
? ?if High > xStoploss then vExitShort("",1,0,0,xStoploss);
? ?if BarsSinceEntry() = 1 then vExitShort;
?end;

?plot1(xCondition1);
end;
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 12:01

Marco,
De code lijkt mij hetzelfde gebleven, maar doordat je de exits na de entries hebt gezet lijkt het bij mij andere resultaten te geven. Ik moet hier nog eens verder naar kijken.
T.a.v. je vragen
1. Ik zit in feite 2 dagen in de positie en sluit op de 2e dag als ik test voor barssinceentry=1. Tel maar uit. Gisteren was de setup dag, vandaag enter ik en morgen (barsinceentry=1) ben ik dus 2 dagen in de positie (met vandaag meegeteld). Zou dus goed moeten zijn....
2. Ik wil de strategie in principe op de timeframes (dag/intradag) gebruiken die winstgevend zijn ;). Maar ik snap wat je wil vragen.
Kijk ik zat zo te rederenen:
Stel op bar=23 is een setup dag. Dan leg ik aan einde bar 23 in bij mijn broker: short at limit low23, en long at limit high23. Tijdens de executie van die orders op tickbasis (ergens in bar 24) zal wellicht eerst door de low23 gezakt worden en vervolgens wordt de high uitgenomen wederom op tickbasis. Dit effect probeer ik te simuleren....

nog wat verdere wetenswaardigheden:
- als ik op dezelfde dag van entry de positie reverse (dus vEnterlong als ik short zit, krijgt de short tx de goede exitprice)
- ik krijg jouw en mijn code niet aan de praat in daggrafieken....enig idee?
- ik krijg erg goede resultaten voor de trades die niet op dezelfde dag worden gerevesed/gesloten!

Hoop dat dit meer duidelijkheid verschaft. Bedankt voor het meedenken, erg leuk zo :biggrin:
Michel
p.s. Cees, hoop dat je de code van Marco aan de praat krijgt...laat anders even weten...
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 12:03

Marco, nog een opmerking...
Ik zie nu ook dat alle tx die in de entry bar gereversed worden ook sluiten op dezelfde bar. Dit komt volgens mij doordat je de entry en exit logica hebt omgewisseld. Ik ga even kijken of ik kan instellen dat als we gereversed hebben op de entry dag we niet meer willen exiten....
Michel
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 12:12

Marco,
De code lijkt mij hetzelfde gebleven, maar doordat je de exits na de entries hebt gezet lijkt het bij mij andere resultaten te geven. Ik moet hier nog eens verder naar kijken.
T.a.v. je vragen
1. Ik zit in feite 2 dagen in de positie en sluit op de 2e dag als ik test voor barssinceentry=1. Tel maar uit. Gisteren was de setup dag, vandaag enter ik en morgen (barsinceentry=1) ben ik dus 2 dagen in de positie (met vandaag meegeteld). Zou dus goed moeten zijn....
2. Ik wil de strategie in principe op de timeframes (dag/intradag) gebruiken die winstgevend zijn ;). Maar ik snap wat je wil vragen.
Kijk ik zat zo te rederenen:
Stel op bar=23 is een setup dag. Dan leg ik aan einde bar 23 in bij mijn broker: short at limit low23, en long at limit high23. Tijdens de executie van die orders op tickbasis (ergens in bar 24) zal wellicht eerst door de low23 gezakt worden en vervolgens wordt de high uitgenomen wederom op tickbasis. Dit effect probeer ik te simuleren....

nog wat verdere wetenswaardigheden:
- als ik op dezelfde dag van entry de positie reverse (dus vEnterlong als ik short zit, krijgt de short tx de goede exitprice)
- ik krijg jouw en mijn code niet aan de praat in daggrafieken....enig idee?
- ik krijg erg goede resultaten voor de trades die niet op dezelfde dag worden gerevesed/gesloten!

Hoop dat dit meer duidelijkheid verschaft. Bedankt voor het meedenken, erg leuk zo :biggrin:
Michel
p.s. Cees, hoop dat je de code van Marco aan de praat krijgt...laat anders even weten...
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor Marco » ma 11 aug 2003, 12:48

Michel,

Wat doen die quotes toch gek ?!?!?! Of ligt het aan mij !?!?!

De code lijkt mij hetzelfde gebleven, maar doordat je de exits na de entries hebt gezet lijkt het bij mij andere resultaten te geven. Ik moet hier nog eens verder naar kijken.

1. De code is natuurlijk overwegend hetzelfde, heb enkel wat formatting gebruikt, wat taal-puristische wijzigingen aangebracht (gebruik van := en << en >> operatoren) etc.
2. Het omdraaien van de signalen en de exits is niet met een speciale reden gedaan. Tis enkel dat ik dat gewend ben om eerst de signalen te triggeren, vervolgens al dan niet een positie in te nemen en tenslotte al dan niet een positie te sluiten, net als in het gewone leven!
De gevolgen die jij nu ziet zijn nmm dan ook het gevolg van denk of gevolg fouten: ditzelfde zou je nmm dan zien als je een los stoploss systeem zou gebruiken!

Stel op bar=23 is een setup dag. Dan leg ik aan einde bar 23 in bij mijn broker: short at limit low23, en long at limit high23. Tijdens de executie van die orders op tickbasis (ergens in bar 24) zal wellicht eerst door de low23 gezakt worden en vervolgens wordt de high uitgenomen wederom op tickbasis. Dit effect probeer ik te simuleren....

Ik dacht al zoiets. normaal zou je, net als bij ieder breakout systeem een OCO/OCA order inleggen, maar nu wil je via backtesten aantonen/zien dat het werkt. Nmm ben je dan nu bezig met een moeilijke verifieerbare methode (hoe bepaal je in hemelsnaam of de long of short uitbraak eerder kwam?!?) die beter te controleren is als je overstapt op het gebruik van meerdere time-frames. En een tweede time-frame van 1-minuut zie ik dan als nauwkeurig genoeg, want de kans dat binnen die minuut de koers zowel door de High als de Low gaat is toch wel erg klein te noemen, maw je kunt dan per minuut gewoon de High/Low van die minuut testen om een Buy/Sell signaal te laten optreden met een minimale afwijking (vind ik dan...) tov je limietorder, maar dus wel reproduceerbaar en zelfs om te zetten in een systeem waar de signalen volledig door Vestics worden gegenereerd!

- als ik op dezelfde dag van entry de positie reverse (dus vEnterlong als ik short zit, krijgt de short tx de goede exitprice)

Logisch, want je had al aangegeven dat je vEnterLong en vEnterShort het wel goed doen en Vestics kijkt gewoon of de positie gedraaid moet worden en doet bij een EnterLong/Short dan gewoon het dubbele aantal... :o ...

- ik krijg jouw en mijn code niet aan de praat in daggrafieken....enig idee?
- ik krijg erg goede resultaten voor de trades die niet op dezelfde dag worden gerevesed/gesloten!
Snap ik niet. Je hebt wel resultaten en zelfs gedeeltelijk goed, maar krijgt de code niet aan de praat :confused:

Suc6 maar weer, enne waarom post jij dubbel :cool: Ook aan de alcohol?

Marco.

PS. Cees: vaak komt code een beetje gek over op het forum, maar een copy/paste doet wonderen!
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 13:20

Marco,
Ben niet met je eens dat als je een limiet systeem als limiet zou willen simuleren je dan per definitie geen goed winstgevend systeem zou hebben. Kijk maar eens op wealth-lab.com en je vindt legio goede at limit systemen. Maar ik weet, ieder heeft zo zijn eigen voorkeur.
Verder dan maar.
- Ik snap niet wat je bedoelt met quotes die gek doen... Kun je me iets helpen?
- Je idee om naar lager/meerdere timeframes te gaan vindt ik erg interessant (Had ik nog niet aan gedacht). Klinkt veelbelovend en zal er naar kijken. Ben met je eens dat het e.e.a. zou moeten oplossen......mits ik de 1 minuut data heb !!!! (volgens mij heb zit ik meer op 2-5 minuten gegevens, maar dat geeft een eerste benadering)
- T.a.v. logica entries-/exits. Klopt doe ik normaal ook. Maar je krijgt dus nu dat ie 2x op de stoploss eruit knalt. Een keer op de entry logica (in geval van reversal) en 1 keer op de exit logica. Overigens lijkt het erop dat als je de 2e keer overruled en blijft zitten de resulaten niet beter worden...
- Wat ik bedoelde met code aan de praat kijgen is het volgende. Ik heb jouw/mijn code op een daggrafiek ge-insert en zie dan geen trades. Als ik mijn code/jouw code op intradag gebruik dan wel ! Ik zit nl zelf te werken op intradag EuroStoxx....
- Ik wil het systeem ook op dag niveau laten werken om zo gebruik te maken van volume ter bevestiging van de uitbraak. Heb jij een idee hoe het zou kunnen werken op dagbasis?
- Heb jij nog verdere ideeen?
Michel
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 13:24

Marco,
Negeer mijn vraag over daggrafieken. Het blijkt dat als je de time<1945 conditie verwijdert de zaak prima loopt op daggrafieken. Op naar de uitbreiding met volume dus....
Gr Michel
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor Paul M » ma 11 aug 2003, 13:32

value function zRapidFireSwing() begin
value xStopLoss, xEntryPrice,xStartbar;
value xCondition1;
xStartbar=barssinceentry(0);
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 xCondition1 then begin

if High > High[1] then begin
? ? ? ? xEntryPrice := Open;
? ? ? ? xStopLoss ? := Low[1];
? ? ? ? vEnterlong("",1,0,0,xEntryPrice);
? ? ?
end;
if xCondition1 then begin

If Low < Low[1] then begin
? ? ? ? xEntryPrice := Open;
? ? ? ? xStopLoss ? := High[1];
? ? ? ? vEntershort("",1,0,0,xEntryPrice);
end;
end;
end;
end;
if marketposition=-1 then begin
if high>xStopLoss then exitshort;
if xStartbar=1 then exitshort;
end;
if marketposition=1 then begin
if low<xStopLoss then exitlong;
if xStartbar=1 then exitlong;
end;
plot1(xCondition1);

Paul
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Systeem RapidFireSwingTrading

Berichtdoor poekmeister » ma 11 aug 2003, 13:36

Hoi Paul,
Dat is snel. Ik neem aan dat dit de code is voor de dag-variant... niet?
Heb jij verder nog suggesties t.a.v. stoploss probleem?
Michel
poekmeister
 
Berichten: 88
Geregistreerd op: za 17 aug 2002, 19:50

Systeem RapidFireSwingTrading

Berichtdoor PeterK » ma 11 aug 2003, 19:04

Hoi hoi
als ik het zo invoer krijg ik niet zulke goede resultaten als in TKA.
Heb ik iets verkeerd ingevoerd?
Wat is jullie ervaring met de trading results?

Kan iemand me tevens zeggen hoe je de money management vult bij de dax?
Bij de aex is het 200. Bij de dax ???

Al vast bedankt!
PeterK
 
Berichten: 2
Geregistreerd op: ma 11 aug 2003, 19:01
Woonplaats: Enschede

Systeem RapidFireSwingTrading

Berichtdoor Joop Henzen » ma 11 aug 2003, 19:36

DAX ? ?25


ES50 ?10
Joop Henzen
 
Berichten: 215
Geregistreerd op: ma 30 dec 2002, 14:21
Woonplaats: Bussum

Systeem RapidFireSwingTrading

Berichtdoor Murrey » ma 11 aug 2003, 20:38

Beste mensen,

Een paar weken geleden ben ik ook al eens met deze materie bezig geweest.
Maar ik liep tegen een probleem aan die ik hier niet tegen kom.
Hoe gaan jullie om met het volgende:
Om te bepalen OF je een z.g. NR4 dag hebt, moet je eigenlijk de dagkoersen gebruiken.
Om op de betreffende dag in te stappen kijk je op tickbasis.

Met wat hulp van Pierre ben ik tot de volgende functie gekomen. Maar het plaatje wat daaruit komt is niet geweldig.

Schiet er eens op:

value function zExplosiveTrades() begin

?{--- Variabelen ---}
?boolean NR4;
?value hoog=0, hoog1=0, hoog2=0, hoog3=0, hoog4=0;
?value laag=9999, laag1=9999, laag2=9999, ?laag3=9999, laag4=9999;

?{--- Berekeningen ---}
?{--- Als de datum overgaat naar een nieuwe dag worden de tot nu toe ---}
?{---verzamelde hoog en laag vastgelegd ---}
?{---Anders wordt de maximale hoog en laag voor deze dag verzameld ---}
?if date > date[1] then begin
? ?hoog4 := hoog3; hoog3 := hoog2; hoog2 := hoog1; hoog1 := hoog;
? ?laag4 := laag3; laag3 := laag2; laag2 := laag1; laag1 := laag;
? ?hoog := high;
? ?laag := low;
?end
?else begin
? ?if high > hoog then hoog := high;
? ?if low ?< laag then laag := low ;
?end;

?NR4 := (hoog1-laag1) < (hoog2-laag2) and
? ? ? ? ? ? ?(hoog1-laag1) < (hoog3-laag3) and
? ? ? ? ? ? ?(hoog1-laag1) < (hoog4-laag4) and
? ? ? ? ? ? ?(hoog1 < hoog2) and (laag1 > laag2);

?{--- Instappen op de high of low van gisteren ? ? ? ? ? ? ? ? ? ? ?---}
?{---Als gisteren aan NR4 is voldaan en er niet al een trade loopt ---}
?if NR4 and MarketPosition = 0 then begin
? ?if close > hoog1 then vEnterLong ;
? ?if close < laag1 then vEnterShort ;
?end;

?{--- Uitstappen op dag 2 (eventueel perfectioneren)---}
?{--- In werkelijkheid de ochtend van de derde dag ?---}
?if MarketPosition = 1 then
? ?if currentdate + 19000000 ?- Entrydate >=2 then exitlong; ?
?if MarketPosition = -1 then
? ?if currentdate + 19000000 - Entrydate >=2 then exitshort; ?
end;


'k Ben benieuwd,


Mur
Murrey
 
Berichten: 21
Geregistreerd op: za 08 feb 2003, 23:57
Woonplaats: Assen

Systeem RapidFireSwingTrading

Berichtdoor JanBrinker » di 12 aug 2003, 16:25

Beste Murrey en anderen,

Murrey ik heb jouw code geprobeerd. Volgens mij komen bij deze code de Intradaghoog en -laag niet overeen met de hoog-laag op basis van end-of-day gegevens. Volgens mij komt dat doordat Vestics de dag start met de slotveiling van gisteren en dat kan bij ?opening gaps leiden tot verkeerde waarden. De hieronder staande code geeft wel de juiste Intradaghoog en - laag weer zodat de NR4 strategie toegepast kan worden binnen een ?grafiek met een kleiner interval dan een dag. Ik heb onderstaande code toegepast binnen een 1-minuutsgrafiek (waarop duidelijk te zien is dat de dag wordt gestart met een ' tick' gelijk aan slot van gisteren). ?Wat betreft de exits heb ik mij min of meer gehouden aan het artikel in TKA. In onderstaande code sluit ik positie op de tweede dag om 17:15. Uit wat ik tot nu aan trades heb gezien weet ik zeker dat een trailing stop loss en/of ?profit stop de resultaten zullen verbeteren. Ik denk dat de trailing stop zATR Ratchet die enkele maanden terug ergens binnen dit forum is besproken hier goed van pas zou kunnen komen. Misschien een andere keer meer over toevoegen van een verbeterde exit startegie.

Groeten,
Bertjan

value function zExplosiveTrades

begin

?{---- variables ----}
?value xHigh1,xHigh2,xHigh3,xHigh4,xMax,xMin,xBarNo,xLow1,xLow2,xLow3,xLow4,
? ? ? ?xDagteller;
?
?
{--- Berekeningen ---}
{--- Als de datum overgaat naar een nieuwe dag worden de tot nu toe ---}
{---verzamelde hoog en laag vastgelegd ---}
{---Anders wordt de maximale hoog en laag voor deze dag verzameld ---}

? ?If Date<>Date[1] then begin
? ? ? xBarNo=0;
? ? ? xHigh1=xMax; ? ? ?xLow1=xMin;
? ? ? xHigh2=xHigh1[1]; xLow2=xLow1[1];
? ? ? xHigh3=xHigh2[1]; xLow3=xLow2[1];
? ? ? xHigh4=xHigh3[1]; xLow4=xLow3[1];

? ? ? xDagTeller=xdagTeller+1;
? ?end; ? ?

?{--- Constructie om Slotveiling tick van vorige dag uit te sluiten (is bij
? ? ? Gaps van belang omdat anders het slot van de voorgaande dag nog
? ? ? mee komt in berekening van IntraDag Hoog) door bij BarNo=1 te starten.
? ? ? In eerste stukje (hierboven staande) code is gezorgd dat de SlotTick
? ? ? in BarNo=0 " terecht komt". Verder worden de reeksen voor high gisteren,
? ? ? eergisteren "gevuld" zodat bij dagvovergang de Highs en Lows
? ? ? 1 dag kunnen verschuiven.----}
? ? ?

? ? If Date=Date[1] then begin
? ? ? {--- Opvullen ---}
? ? ? xHigh1=xHigh1[1]; xLow1=xLow1[1];
? ? ? xHigh2=xHigh2[1]; xLow2=xLow2[1];
? ? ? xHigh3=xHigh3[1]; xLow3=xLow3[1];
? ? ? xHigh4=xHigh4[1]; xLow4=xLow4[1];
? ? ?
? ? ? {--- Uistluiten Veiling Tick en Initialiseren Low en High voor de dag---}
? ? ? xBarNo=xBarNo+1;
? ? ? If xBarNo=1 then begin
? ? ? ? ? xMax=High;
? ? ? ? ? xMin=Low;
? ? ? end;
? ?end;

?{--- Bepaal Maximum van de Dag ---}
? If xBarNo>1 and High>xMax then xMax=High; ? ?
? end;

?{--- Bepaal Minimum van de Dag ---}
? If xBarNo>1 and Low<xMin then xMin=Low; ? ?
? end;

end;
? ?
?
?{--- Voorwaarden voor NR4 Setup-}
?Value NR4;
?NR4 := (xHigh1-xLow1) < (xHigh4-xLow4) and
? ? ? ? (xHigh1-xLow1) < (xHigh3-xLow3) and
? ? ? ? (xHigh1-xLow1) < (xHigh2-xLow2) and
? ? ? ? (xHigh1<xHigh2) and (xLow1>xLow2);

?{--- Openen Positie als voldaan is aan voorwaarden van NR4 en uitbraak ---}
?
?Value xEntryStopLoss;
?If NR4 and MarketPosition=0 then begin
? ?
? If Close>xHigh1 then begin
? ? ?Buy;
? ? ?xDagTeller=1;
? ? ?xEntryStopLoss=xLow1;
? ? ?end
? else if Close<xLow1 then begin
? ? ? Sell;
? ? ? xDagTeller=1;
? ? ? xEntryStopLoss=xHigh1;
? ?end; ?
? end;

?If MarketPosition<>0 then begin
? ? ? ?
?{--- Bij open positie is dagteller gelijk aan 1, sluit als dagteller=2 ---}
?If xDagTeller=2 and time>1715 then begin
? ? ?ExitLong;
? ? ?ExitShort;
? ?End; ?

?{---- Sluit als EntryStopLoss wordt overschreden---}
? ?If MarketPosition=1 and Close<xEntryStopLoss then ExitLong;
? ?If MarketPosition=-1 and Close>xEntryStopLoss then ExitShort;

?End;
End;


End;
JanBrinker
 
Berichten: 14
Geregistreerd op: za 09 aug 2003, 13:18


Keer terug naar Handelssystemen + Indicatoren

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 0 gasten

cron