Systemtrading

Tom DeMarks TD Seuqential
 

Tom De Mark zählt unter  Systemdesigner zu den bekanntesten Namen. Stark kommerzialisiert wurde  der Handelsansatz des TD SEQUENTIAL.  Unsere eigenen Erfahrungen mit dem Ansatz konnten die Erwartungen nicht erfüllen.

Getestet wurden die Einzelwerte des Dow Jones von 1988 bis 2004. Die Ergebnisse sind mehr als ernüchternd. Verwendet wird ein einfacher 5 Tage Exit, doch auch mit anderen Exitmethoden waren die Ergebnisse selten besser.

 

Testergebnisse

Performance Report
Net Profit : 2,1%
Number of Trades :195
Winning: 55,3%
Profit Faktor : 1.14

 

Eine interessante Verwendung findet das TD Seqeuntial im CumDown Indikator, wie er in einigen Systemen auf Wealth-Lab.com angewandt wird. Dies scheint  ein sehr
vielversprechender Ansatz zu sein und liefert teilweise robuste Ergebnisse.

 

 

 

 

 

 

 

 


Wealth Lab Code

var setup_count, bar, hold_period, countdown_count: integer;
var td_stage, close_bar, end_bar, i: integer;
var setup_high, setup_low, countdown_8_close, low_for_intersection: float;
var temphigh, templow: float;

{do at every setup reset}
setup_count := 0;
setup_high := 0.0;
setup_low := 9999.9;

hold_period := 5;

{do at every position reset}
countdown_count := 0;
td_stage := 0; {1: intersection, 2: countdown}
countdown_8_close := 0.0;
close_bar :=99999;

end_bar := BarCount() - 2;
for Bar := 5 to end_bar do
begin
ApplyAutoStops( Bar );
if (Bar >= close_bar) and (LastPositionActive()) then
begin
close_bar := 99999;
SellAtMarket(Bar + 1, LastPosition(),'');
end;
if ((PriceClose(Bar) > PriceClose(Bar-4)) or
((PriceClose(Bar) = PriceClose(Bar-4)) and (setup_count=0))) then
begin
if setup_count < 0 then
begin
setup_count :=0;
setup_high := 0.0;
end;

{test for cancellation: rule 1}
if (PriceClose(Bar) > setup_high) then
setup_high := PriceHigh(Bar);
if ((PriceHigh(Bar)>setup_high) and (setup_count>2)) then
begin
setup_count :=0;
setup_high :=0.0;
end;
setup_count := setup_count + 1;
if setup_count=9 then
begin
{sell signal}
{for now, remove all sell signals to test entry point}
{if LastPositionActive() then
SellAtMarket(Bar + 1, LastPosition());}

{reset countdown}
td_stage := 0;

for i := Bar - 8 to Bar do
AnnotateBar( IntToStr(9-(Bar-i)), i, false, #Green, 6);
end
else if setup_count>9 then
AnnotateBar(IntToStr(setup_count), Bar, false, #Green, 6);
end
else
begin
if setup_count > 0 then
begin
setup_count :=0;
setup_low := 9999.9;
end;
if (PriceClose(Bar) < setup_low) then
setup_low := PriceLow(Bar);
if ((PriceLow(Bar)<setup_low) and (setup_count>2)) then
begin
setup_count :=0;
setup_low := 9999.9;
end;
setup_count := setup_count - 1;
if setup_count=-1 then
begin
{initialize some values}
low_for_intersection := 9999.9;
end
else if (setup_count < 3) and (setup_count <> -9) then
if PriceLow(Bar-3) < low_for_intersection then
low_for_intersection := PriceLow(Bar-3);
if setup_count=-9 then
begin
if (PriceHigh(Bar-1)>=low_for_intersection) or
(PriceHigh(Bar) >=low_for_intersection) or
(PriceHigh(Bar) >= PriceLow(Bar-3)) then
td_stage := 1;
countdown_count := 0;
countdown_8_close := 0.0;
for i := Bar - 8 to Bar do
AnnotateBar( IntToStr(9-(Bar-i)), i, false, #Red, 6);
end
else if (setup_count <-9) and
(PriceHigh(Bar) >= low_for_intersection) then
begin
td_stage := 1;
countdown_count := 0;
countdown_8_close := 0.0;
end;
if setup_count<-9 then
AnnotateBar(IntToStr(-1 * setup_count), Bar, false, #Red, 6);
end;
if td_stage=1 then
begin
if PriceClose(Bar)<=PriceLow(Bar-2) then
begin
countdown_count := countdown_count + 1;
AnnotateBar(IntToStr(countdown_count), Bar, true, #Blue, 6);
if countdown_count = 8 then
countdown_8_close := PriceClose(Bar)
else if countdown_count >=13 then
begin
if (PriceClose(Bar) < countdown_8_close) and
(setup_count > -2) and
(not LastPositionActive()) then
begin
td_stage := 2;
end;
end;
end;
end;
if td_stage=2 then {countdown achieved}
begin
{test for TD Open}
if PriceOpen(Bar+1) < PriceLow(Bar) then
begin
if(BuyAtStop(Bar+1, (PriceLow(Bar)+0.01),'')) then
begin
td_stage := 0;
close_bar := Bar + hold_period;
end
end
{test for TD Trap}
else if (PriceOpen(Bar+1) > PriceLow(Bar)) and
(PriceOpen(Bar+1) < PriceHigh(Bar)) then
begin
if (BuyAtStop(Bar+1, (PriceLow(Bar)+0.01),'')) then
begin
close_bar := Bar + hold_period;
td_stage := 0;
end;
end
{test for TD Clopwin}
else
begin
if PriceClose(Bar-1) < PriceOpen(Bar-1) then
begin
temphigh := PriceOpen(Bar-1);
templow := PriceClose(Bar-1);
end
else
begin
templow := PriceOpen(Bar-1);
temphigh := PriceClose(Bar-1);
end;
if ((PriceClose(Bar) < temphigh) and
(PriceClose(Bar) > templow) and
(PriceOpen(Bar) < temphigh) and
(PriceOpen(Bar) > templow)) then
begin
td_stage := 0;
BuyAtMarket(Bar+1, '');
close_bar := Bar + hold_period;
end;
end;
end;
end;

Share/Save/Bookmark

Research - Systemtrading

Literatur

Sie wollen ihr Trading Wissen erweitern und sind auf der Suche nach den besten Büchern zu den Themen Charttechnik, Elliott Wave, WD Gann, Handelsstrategien, Systemtrading, Moneymanagement und Riskmanagement?

Dann sehen Sie doch einmal in unserer  Kategorie "Produkterfahrungen Bücher"  vorbei. Dort finden Sie eine Auswahl der besten Bücher, mit umfangreichen Beschreibungen der einzelnen Titel.

 

Trading Bücher

Newsletter