Handelssysteem toevoegen - met stoploss

Moderator: Perry

Handelssysteem toevoegen - met stoploss

Berichtdoor Paul M » ma 21 jul 2003, 17:01

Wanneer ik een handelssysteem invoeg, bv het Breakoutsystem en ik laat hem los op de AEX dan geeft hij bv 71 trades. Voeg ik nu een stoploss toe dan worden het ?bv 143 trades, maar tussen de goede en slechte trades (Rode en Groene blokken) bespeur ik een x-tal rode punten. Op 5 achtereen volgende bars staat dan op elke bar een rode stip, dit lijkt mij niet correct. Wie heeft dit ook en heeft er ?een eventuele oplossing voor?

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

Handelssysteem toevoegen

Berichtdoor Paul M » ma 21 jul 2003, 19:52

Het probleem schijnt zich niet voor te doen wanneer je
vCrossesAbove of vCrossesBelow in je code hebt staan.
Maar dat is niet wat ik zoek.
Vreemd?

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

Handelssysteem toevoegen

Berichtdoor geert udema » ma 21 jul 2003, 20:54

Ik vermoed dat je op dezelfde close koopt en verkoopt, dus de twee condities treden op hetzelfde moment op.
Als je je exit statement begint met
''if CurrentBar <> Entrydate then " dan blijf je tenminste 1 dag in je trade als mijn vermoeden klopt.
EL heeft Exits met de mogelijkheid te sluiten op een koers van de volgende dag, zoals feitelijk in "normale" daytrading. Dat kan dus in Vestics ook (?)
Groetend, Geert
geert udema
 
Berichten: 114
Geregistreerd op: ma 31 dec 2001, 11:45

Handelssysteem toevoegen

Berichtdoor acp010107 » ma 21 jul 2003, 20:58

Kan het niet zo zijn dat je binnen ??n bar zowel long als short ben gegaan ? M.a.w. zijn de condities voor long en die voor short in het handelssysteem niet zodanig dat je binnen ??n bar bijv. eerst long en dan vervolgens short gaat of andersom ? De volgorde hangt van de volgorde van programmeren. Programmeer je eerst de long-situatie, dan zal je eerst long gaan en dan short, programmeer je eerst de ?short-situatie, dan zal je eerst short gaan en dan long. ?
Succes,
Aad
acp010107
 
Berichten: 101
Geregistreerd op: di 05 maart 2002, 23:48

Handelssysteem toevoegen

Berichtdoor Marco » di 22 jul 2003, 11:14

Quote:
Het probleem schijnt zich niet voor te doen wanneer je
vCrossesAbove of vCrossesBelow in je code hebt staan.
Maar dat is niet wat ik zoek.
Vreemd?


Nee, niet vreemd. Ik zie hetzelfde in een aantal handelsystemen die ik heb zitten wijzigen.

Als je nl een stoploss systeem gebruikt die je positie sluit MAAR er is nog steeds (volgens je breakout systeem) voldaan aan de voorwaarden om de positie te openen, dan wordt-ie dus meteen (op de volgende bar) weer geopend.
En blijkbaar wordt dan ook meteen weer voldaan aan de voorwaarde om de positie te sluiten (hetzij je breakout, hetzij de stoploss). En dat veroorzaakt dus die korte rode blokjes...

De CrossesXXX functies voorkomen dat omdat deze alleen een positie openen op het moment dat een crossing plaatsvindt. Dus als de stoploss vervolgens de positie sluit, wordt weer gewacht op een volgende crossing om evt een positie te openen.

Ik heb, om dit soort dingen te voorkomen, een xBlockSignals variabele toegevoegd die gezet wordt door de stoploss/takeprofit etc. en weer gereset wordt als aan bepaalde voorwaarden is voldaan, waarna weer een nieuwe positie kan/mag worden ingenomen...

Marco.
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Handelssysteem toevoegen

Berichtdoor Paul M » di 22 jul 2003, 12:49

Hallo marco,

Bedankt voor de reactie.
Heb je daar misschien een EL-code van?

Groetjes Paul



(Edited by Paul M at 1:50 pm op 22,juli 2003)
Paul M
 
Berichten: 263
Geregistreerd op: vr 13 dec 2002, 23:21

Handelssysteem toevoegen

Berichtdoor Marco » di 22 jul 2003, 14:43

Paul,

Natuurlijk heb ik hier een stukje VestiCode van. Ik zal vanavond of morgen kijken of ik dat op kan snorren en dan laat ik dat wel ff weten.

Marco.
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Handelssysteem toevoegen

Berichtdoor Paul M » di 22 jul 2003, 17:45

Hallo Marco,

Heel graag.
Alvast bedankt.

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

Handelssysteem toevoegen

Berichtdoor Paul M » ma 04 aug 2003, 16:45

Beste Marco,

Heb je het al gevonden??????????

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

Handelssysteem toevoegen

Berichtdoor Marco » ma 04 aug 2003, 17:19

Oops. Straalvergeten door druk-zijn-met-andere-dingen, voornamelijk LBeetjes...

Ik ga er weer naar op zoek...

Marco.
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Handelssysteem toevoegen

Berichtdoor Marco » do 07 aug 2003, 10:44

En daar is-tie dan. Ut was ff zoeken, blijkbaar had mijn virusscanner het spul in quarantaine geplaatst omdat-tie dacht dat Vesticode een virus is ;)

Voorbeeld staat hieronder dus en loopt op een 1-minuut grafiekje. Mijn uitlijning van de code is helemaal op zijn kop gezet door het forumspul, maar een edit copy/past doet wonderen...

Suc6 ermee,

Marco.


value function zSysDemo (value pxBars = 14, value pxThresholdOpen = 80, value pxThresholdClose = 20,
? ? ? ? ? ? ? ? ? ? ? ? value pxProfit = 10, value pxStopLoss = 10)

begin
?value xUp[], xDown[];
?value xProfitLevel, xStopLevel;
?value xThisDate = 0;
?value xBlockSignals = 0;
?value xWaitForCrossing = 0;

?xUp ? ?:= zFnctUp ?(Close, pxBars);
?xDown ?:= zFnctDown(Close, pxBars);

?{---- Check for no-trading zones first
? ? ? ?Tests have shown, and been confirmed by S&P traders that losses can be reduced
? ? ? ?if lunch-time-trading and opening is blocked and positions are closed during that time
? ? ? ?Furthermore, positions are closed at the end of the day ----}
?if (Time = 2158) or (Time = 1200) then begin
? ?ExitLong;
? ?ExitShort;
? ?xBlockSignals := 1;
? ?xThisDate ? ? := Date;
?end;
?if xBlockSignals = 1 then begin
? ?if (Date <> xThisDate) and (Time > 900 + pxBars) then xBlockSignals := 0;
? ?if (Time = 1400) then xBlockSignals := 0;
?end;

?{---- Check for signals
? ? ? ?Signals might be blocked during some trading hours. Furthermore, although signals might
? ? ? ?NOT be blocked, the system awaits a crossing of the up and down indicators ----}
?if xBlockSignals = 0 then
?begin
? ?if xWaitForCrossing = 1 then
? ?begin
? ? ?if vCrosses(xUp, xDown) then xWaitForCrossing := 0;
? ?end;
? ?if xWaitForCrossing = 0 then
? ?begin
? ? ?if (xUp ? > xDown) and (xUp ? > pxThresholdOpen) then Buy else
? ? ?if (xDown > xUp) ? and (xDown > pxThresholdOpen) then Sell;
? ?end;
?end;

?{---- Handle the long side ----}
?if MarketPosition = 1 then
?begin
? ?xProfitLevel := EntryPrice + pxProfit;
? ?xStopLevel ? := EntryPrice - pxStopLoss;
? ?if ((Close > xProfitLevel) or (Close < xStopLevel)) or
? ? ? ((xUp < pxThresholdClose) and (xDown > pxThresholdClose)) then
? ?begin
? ? ?ExitLong;
? ? ?xWaitForCrossing := 1;
? ?end;
?end;

?{---- Handle the short side ----}
?if MarketPosition = -1 then
?begin
? ?xProfitLevel := EntryPrice - pxProfit;
? ?xStopLevel ? := EntryPrice + pxStopLoss;
? ?if ((Close < xProfitLevel) or (Close > xStopLevel)) or
? ? ? ((xDown < pxThresholdClose) and (xUp > pxThresholdClose)) then
? ?begin
? ? ?ExitShort;
? ? ?xWaitForCrossing := 1;
? ?end;
?end;
end;
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34

Handelssysteem toevoegen

Berichtdoor STM » do 07 aug 2003, 16:59

Beste Marco,

Dank voor de mooie vesticode, maar is het mogelijk de gebruikte functie die je aanroept " zFnctUp & zFnctDown" ook nog even te posten dan is voor ons mogelijk een testje mee te doen.

Alvast dank voor je vele werk,

Marnik
STM
 
Berichten: 11
Geregistreerd op: wo 05 feb 2003, 11:44

Handelssysteem toevoegen

Berichtdoor Marco » vr 08 aug 2003, 9:58

Marnik,

Ik had juist allerlei dingen weggelaten om zuiver het principe van het blokkeren/vrijgeven van signalen te laten zien dat bij mij best leuk werkt.

Het eigenlijke systeem is zSysAroon (dus niet demo...) en maakt dus gebruik van de functies zFnctAroonUp() en zFnctAroonDown(). Hierbij behoort de Up in het groen en de Down in het rood geplot te worden...

Hieronder vindt je de code voor de 2 functies, dus in het voorbeeld de zFnctDown() en zFnctUp() nog ff met de Aroon vervangen, de zFnct's in de Functions map zetten en het zou moeten werken...

Marco.

{----
?'The formula for Aroon(down) is
?'[ (# of periods) - (# of periods since lowest low during that time) ] / (# of periods) x 100.
?'
?'For example, consider plotting a 10-period Aroon(up) line on a daily chart.
?'If the highest price for the past ten days occured 6 days ago (4 days since
?'the start of the time period), Aroon(up) for today would be equal to
?'((10-6)/10) x 100 = 40.
?'
?'If the lowest price in that same period happened yesterday (i.e. on day 9),
?'Aroon(down) for today would be 90.
----}
value function zFnctAroonDown (value pxSeries[] ? ? = Close,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? value pxNumberOfBars = 14)
begin
?value xValLowest, xBarLowest, xBar;
?
?xValLowest := 99999;
?xBarLowest := 0;
?
?for xBar = 0 to (pxNumberOfBars - 1) do begin
? ?if (pxSeries[xBar] < xValLowest) then begin
? ? ?xValLowest := pxSeries[xBar];
? ? ?xBarLowest := xBar;
? ?end;
?end;
?
?zFnctAroonDown := 100 * ((pxNumberOfBars - xBarLowest) / (pxNumberOfBars));
end;

{----
?'Technically, the formula for Aroon(up) is
?'[ (# of periods) - (# of periods since highest high during that time) ] / (# of periods) x 100.
?'
?'For example, consider plotting a 10-period Aroon(up) line on a daily chart.
?'If the highest price for the past ten days occured 6 days ago (4 days since
?'the start of the time period), Aroon(up) for today would be equal to
?'((10-6)/10) x 100 = 40.
?'
?'If the highest price in that same period happened yesterday (i.e. on day 9),
?'Aroon(up) for today would be 90.
----}
value function zFnctAroonUp (value pxSeries[] ? ? = Close,
? ? ? ? ? ? ? ? ? ? ? ? ? ? value pxNumberOfBars = 14)
begin
?value xValHighest, xBarHighest, xBar;
?
?xValHighest := 0;
?xBarHighest := 0;

?for xBar = 0 to (pxNumberOfBars - 1) do begin
? ?if (pxSeries[xBar] > xValHighest) then begin
? ? ?xValHighest := pxSeries[xBar];
? ? ?xBarHighest := xBar;
? ?end;
?end;
?
?zFnctAroonUp := 100 * ((pxNumberOfBars - xBarHighest) / (pxNumberOfBars));
end;
Marco
 
Berichten: 66
Geregistreerd op: di 08 jul 2003, 12:34


Keer terug naar Suggesties en vragen

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 29 gasten

cron