1 trade per dag
Re: 1 trade per dag
Eric,
werkt goed, alleen de sluiting is niet wat ik in mijn hoofd heb, ik test b.v de DAXfuture van Taipan, en die begint om 2.15 , is het mogelijk dat ik ook een sluiting tijd kan ingeven, wel de volgende dag, ik wil dan 8.00 nemen b.v.
Je zou zeggen, neem de cash DAX, maar die opent b.v op 12000 maar dan zijn nog niet alle fondsen open, en krijg je een vertekend beeld, vandaar dat ik de futures wil nemen
werkt goed, alleen de sluiting is niet wat ik in mijn hoofd heb, ik test b.v de DAXfuture van Taipan, en die begint om 2.15 , is het mogelijk dat ik ook een sluiting tijd kan ingeven, wel de volgende dag, ik wil dan 8.00 nemen b.v.
Je zou zeggen, neem de cash DAX, maar die opent b.v op 12000 maar dan zijn nog niet alle fondsen open, en krijg je een vertekend beeld, vandaar dat ik de futures wil nemen
Re: 1 trade per dag
Dat kan ook:
---
Eric
Code: Selecteer alles
{- Filename: Bakstenen close-open systeem -}
var
i, LongDay: integer;
tOpen, tClose, BarTime: TDateTime;
Long: boolean;
begin
tOpen := CreateParameterTime('Open koop moment', 17.75/24);
tClose := CreateParameterTime('Sluit verkoop moment', 8.00/24);
{ Indicator eigenschappen }
with Indicator do
begin
NewBand := false;
ScaleRange := srAuto; // indicatorschaal automatisch
SignalView := svShowInMain;
AdvancedTrades := true;
end;
{ Berekening }
for i:=0 to BarCount-1 do
begin
BarTime := frac(DateTime[i]);
if Long and (trunc(DateTime[i]) <> LongDay) and (BarTime >= tClose) then
begin
ExitLongAtOpen(i);
Long := false;
end else
if BarTime >= tOpen then
begin
EnterLong(i);
Long := true;
LongDay := trunc(DateTime[i]);
end;
end;
end.
Eric
Re: 1 trade per dag
Eric,
super bedankt, om te backtesten moet je de grafiek wel op1 minuut zetten zeker?.
Want als ik de grafiek op 30 minuten zet b.v dan krijg ik een andere uitslag als 1 minuut.
Maar werkt zoals ik in gedachten had.
super bedankt, om te backtesten moet je de grafiek wel op1 minuut zetten zeker?.
Want als ik de grafiek op 30 minuten zet b.v dan krijg ik een andere uitslag als 1 minuut.
Maar werkt zoals ik in gedachten had.
Re: 1 trade per dag
De entrykoers is de slotkoers van de eerste bar waarvan de tijd groter is dan de opgegeven tijd, en de sluiting is de openingskoers van de eerste bar waarvan de tijd groter is dan opgegeven. Ik kan ook van beide de openingskoers maken als je dat beter vindt, maar beperking blijft uiteraard dat je geen 17.45 kunt opgeven met halfuurkoersen, dat is logisch toch? Een halfuurbar loopt van 17.30 tot 18.00 en heeft geen informatie over de koers om 17.45
---
Eric
---
Eric
Re: 1 trade per dag
Dat is het denk verschil van een stenenstapelaar en een IT man, ik denk tijd is tijd, maar een indicator werkt met bars, nu moet ik ga testten wat het beste is, ik wil het slot van de DAX, en die is meest rond 17.36, en de opening om 9.00 uur, alleen de opening is nooit de echte opening, dat kan je zie het verschil met de future.
Ik ga er even mee stoeien, denk dat als ik de grafiek op 1 minuut zet ik voorlopig gered ben
Ik ga er even mee stoeien, denk dat als ik de grafiek op 1 minuut zet ik voorlopig gered ben
Re: 1 trade per dag
Eric,
ik heb de grafiek op1 minuut gezet, maar krijg geen resultaat, ben ik te ongeduldig? of is de pc te traag?.
De koersen staan er wel in, ik heb de grafiek op 1 minuut gezet
ik heb de grafiek op1 minuut gezet, maar krijg geen resultaat, ben ik te ongeduldig? of is de pc te traag?.
De koersen staan er wel in, ik heb de grafiek op 1 minuut gezet
Re: 1 trade per dag
Ik vind het om te beginnen knap dat je meer dan 10 jaar intraday historie hebt geimporteerd. Dat duurt ook wel "even". Vervolgens heb je vast wel eens een 1-min grafiek gemaakt over een lange periode? Dan moet je gemerkt hebben dat dat ook niet heel soepel meer gaat. Een jaar 1-min bars, dat zijn er ook al circa 300.000. Je loopt met dergelijke hoeveelheden koersen tegen de grenzen aan wat nog mogelijk is.
Wanneer ik op mijn middle of the road laptop een 1-min grafiek van de DAX maak over 1 jaar, dan duurt het berekenen van deze indicator ca. 30 seconden. 10 jaar historie duurt dan 10x zo lang. Nu zul je zeggen: "Maar ik test alleen 2008 toch? 30 seconden wil ik nog wel wachten." Alleen werkt Wall Street intern zo niet, die maakt ook intern een grafiek vanaf 2008 tot nu. En op het moment dat een indicator er 5 minuten over doet om terug te komen met een antwoord, gaan er onderliggend al dingen door een timeout heen.
Conclusie is dus dat dit niet gaat.
---
Eric
Wanneer ik op mijn middle of the road laptop een 1-min grafiek van de DAX maak over 1 jaar, dan duurt het berekenen van deze indicator ca. 30 seconden. 10 jaar historie duurt dan 10x zo lang. Nu zul je zeggen: "Maar ik test alleen 2008 toch? 30 seconden wil ik nog wel wachten." Alleen werkt Wall Street intern zo niet, die maakt ook intern een grafiek vanaf 2008 tot nu. En op het moment dat een indicator er 5 minuten over doet om terug te komen met een antwoord, gaan er onderliggend al dingen door een timeout heen.
Conclusie is dus dat dit niet gaat.
---
Eric
Re: 1 trade per dag
Eric,
Oke, ik had de grafiek maar op 3 maanden gezet, wist niet dat WS dat intern wel doet, maar dan nu de vraag, hoe kan ik 2008 backtesten?, als ik de grafiek op 5 minuten zet, is ook geen punt, maar kan jij dan de indicator zo maken dat die de begintijd van de bar neemt?
Oke, ik had de grafiek maar op 3 maanden gezet, wist niet dat WS dat intern wel doet, maar dan nu de vraag, hoe kan ik 2008 backtesten?, als ik de grafiek op 5 minuten zet, is ook geen punt, maar kan jij dan de indicator zo maken dat die de begintijd van de bar neemt?
Re: 1 trade per dag
Deze versie doet de entry tegen openingskoers van de signaalbar.
Om de performance enigszins acceptabel te houden met dermate lange historie kun je het beste een kwartiergrafiek maken. Dat gaat 15x zo snel als een 1-min grafiek en je kunt nog steeds de tijden kiezen die je wilde (8u en 17u45).
---
Eric
Code: Selecteer alles
{- Filename: Bakstenen close-open systeem -}
var
i, LongDay: integer;
tOpen, tClose, BarTime: TDateTime;
Long: boolean;
begin
tOpen := CreateParameterTime('Open koop moment', 17.75/24);
tClose := CreateParameterTime('Sluit verkoop moment', 8.00/24);
{ Indicator eigenschappen }
with Indicator do
begin
NewBand := false;
ScaleRange := srAuto; // indicatorschaal automatisch
SignalView := svShowInMain;
AdvancedTrades := true;
end;
{ Berekening }
for i:=0 to BarCount-1 do
begin
BarTime := frac(DateTime[i]);
if Long and (BarTime >= tClose) and (trunc(DateTime[i]) <> LongDay) then
begin
ExitLongAtOpen(i);
Long := false;
end else
if not Long and (BarTime >= tOpen) then
begin
EnterLongAtOpen(i);
Long := true;
LongDay := trunc(DateTime[i]);
end;
end;
end.
---
Eric
Re: 1 trade per dag
Bedankt Eric, maar als ik in een 15 min grafiek de tijd op b.v 8.05 zet, krijg ik dan de koers van 8.05, ?
Re: 1 trade per dag
Nee, dan heb je een 5 min grafiek nodig.
---
Eric
---
Eric
Re: 1 trade per dag
Oke, ik ga er mee aan de slag, bedankt weer
Re: 1 trade per dag
Werkt super, bedankt
Re: 1 trade per dag
Eric,
had een discussie met iemand hierover, en die wilde alleen op vrijdag dit toepassen, is het mogelijk dat er een indicator gemaakt kan worden, die alleen op vrijdag op een bepaalde tijd positie aangaat, en maandag weer sluit
had een discussie met iemand hierover, en die wilde alleen op vrijdag dit toepassen, is het mogelijk dat er een indicator gemaakt kan worden, die alleen op vrijdag op een bepaalde tijd positie aangaat, en maandag weer sluit
Re: 1 trade per dag
Zelfs dat lukt nog:
---
Eric
Code: Selecteer alles
{- Filename: Bakstenen close-open systeem -}
var
i, LongDay: integer;
dOpen, DofW: integer;
tOpen, tClose, BarTime: TDateTime;
Long: boolean;
begin
dOpen := 1 + CreateParameterSelect('Open koop dag', 'Elke'#9'Maandag'#9'Dinsdag'#9'Woensdag'#9'Donderdag'#9'Vrijdag', 0, true);
tOpen := CreateParameterTime('Open koop moment', 17.75/24);
tClose := CreateParameterTime('Sluit verkoop moment', 8.00/24);
{ Indicator eigenschappen }
with Indicator do
begin
NewBand := false;
ScaleRange := srAuto; // indicatorschaal automatisch
SignalView := svShowInMain;
AdvancedTrades := true;
end;
{ Berekening }
for i:=0 to BarCount-1 do
begin
BarTime := frac(DateTime[i]);
DofW := DayOfWeek(DateTime[i]);
if Long and (BarTime >= tClose) and (trunc(DateTime[i]) <> LongDay) then
begin
ExitLongAtOpen(i);
Long := false;
end else
if not Long and (BarTime >= tOpen) and ((dOpen = 1) or (dOpen = dofW)) then
begin
EnterLongAtOpen(i);
Long := true;
LongDay := trunc(DateTime[i]);
end;
end;
end.
Eric