海龜交易特訓班  

海龜交易特訓班(The Complete Turtle Trader)

哪一個交易人成功?

是那位受訓期就賺了3900萬美金從此不再交易的費斯?還是把系統拿來賣一堂2500美金課程的桑茲!亦或經過10年的操作後賺進10億的帕克,還是僅僅間接學到系統,透過自己的資金操作績效證明,就被法人請去的亞伯拉罕?

這本書透過採訪,了解海龜事件的前後,與相關人物後續的生活.比起The Way of Turtle,這本書比較有趣,你不會一下就欇於海龜之名而對系統言聽計從,奉為規臬;因為,當你看過此書,你就知道,雖然大多數的海龜後來都發展的不錯,但也不是人人盡是如使,使用同一個系統,結果卻如此不同,能不讓那些醉心於魔術數字的人一個些醒思?千萬不要衝動!本來就該如此....

魔術系統?精典循環?大師名言?去它x的.

看看海龜的發展,跟咱們社會很像吧!你看,並沒有全部的海龜都從事交易為生,另有,

賣交易軟體,賣課程,賣書的,賣訊號的,不一而足.我想這些東西,你在網路上已經看太多了,還有很多人因此被奉為智者,大師,導師,..........什麼都有,什麼都行,但就是沒做交易~

如果系統這麼好,去做這些幹什麼?但系統如果這麼差,帕克,亞伯拉罕,香儂,謝爾瓦等海龜又怎能在交易上如此成功?

問題就只有一個,那就是自己而已!

這本書最主要要的重點就此而已,其它,不過枝節,即便是關於那個系統,系統參數 ,資金管理的問題,這種種都不過次要,成功的海龜也是有對系統做過屬於自己的修正,但它們對屬於自己的好球帶,都很一致堅持.

 

以下是我用tradestation的easy language 寫的一個簡單的海龜系統,不過,不用拿去台指期實戰,因為歷史回測的結果很差,這也反映書中所說的,Richard Dennis是要海龜們把系統使用在所有當時能以此系統交易的商品,而不是押在一個商品上,這邊就引出一個值得研究的課題

"一個市場多個系統,一個系統多個市場".

 

程式碼提供參考

/參數 20日最高價突破買入,跌破20日最低價放空

/停損 多單 跌破10日低或採2R跌破停損,空單漲過10日高或採2R突破停損

/加碼 採倉價的 1/2 R,為基準,最多可至10口

/轉倉 採每月第三個星期三出清 星期四再建回 所以可能又部份價差之誤

/手續費 設 1000 滑價採 2000

依上所設 回測極差 就算不採加碼也好不了多少 單邊亦同

 

input:Length(20),len1(10);
variable:maxhand(0),nowhand(0),banotherprice(0),sanotherprice(0),a1(0),b1(0),i(0),n1(""),sun(0),oldbuy(0),oldsell(0),sho1(""),part(0),trange(0),buystopline(0),sellstopline(0);

value1 = Highest(High, Length);
value2 = Lowest(Low, Len1);
value3 = Lowest(Low, Length);
value4 = Highest(High, Len1);

value11=Absvalue(high-low);
value12=Absvalue(high-close[1]);
value13=Absvalue(low-close[1]);
trange = MaxList( Value11, Value12 ,Value13) ;
Condition1 = Close Cross over value1[1];
Condition2 = Close Cross Under value2[1];
Condition3 = Close Cross Under value3[1];
Condition4 = Close Cross over value4[1];
if month(date) <> month(date[1]) then begin
 sun=0;
end;
if dayofweek(date) = 3 then begin
 sun=sun+1;
end;
If Condition1 and currentcontracts=0  then begin
 Buy("begin-buy") 1 Contracts next bar at market;
 buystopline=entryprice - 2 * trange;
    banotherprice = entryprice + (trange / 2);
    End;
if CurrentContracts * marketposition > 0  and Currentcontracts <= 10  then begin
    if close Cross over banotherprice then begin
     if currentcontracts=1 then  Buy ("buy+1contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=2 then  Buy ("buy+2contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=3 then  Buy ("buy+3contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=4 then  Buy ("buy+4contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=5 then  Buy ("add+5contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=6 then  Buy ("add+6contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=7 then  Buy ("add+7contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=8 then  Buy ("add+8contracts") 1 Contracts next bar at banotherprice stop ;
     if currentcontracts=9 then  Buy ("add+0contracts") 1 Contracts next bar at banotherprice stop ; 
 buystopline=entryprice - 2 * trange;
    banotherprice = entryprice + (trange / 2);
    end;
end;

If Condition2 or close cross under buystopline Then begin
 ExitLong CURRENTCONTRACTS contracts   next bar at market  ;
End;

If Condition3  and CurrentContracts=0   Then begin
 Sell ("begin-sell") 1 Contracts next bar at market;
    sellstopline=entryprice + 2 * trange ; 
    sanotherprice = entryprice - (trange / 2);
End;
if CurrentContracts * marketposition < 0  and  currentcontracts <= 10 then begin
    if close Cross under sanotherprice   then begin
     if currentcontracts=1 then  sell ("sell+1contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=2 then  sell ("sell+2contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=3 then  sell ("sell+3contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=4 then  sell ("sell+4contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=5 then  sell ("sell+5contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=6 then  sell ("sell+6contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=7 then  sell ("sell+7contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=8 then  sell ("sell+8contracts") 1 Contracts next bar at sanotherprice stop ;
     if currentcontracts=9 then  sell ("sell+9contracts") 1 Contracts next bar at sanotherprice stop ; 
  
    sellstopline = entryprice + 2 * trange; 
    sanotherprice = entryprice - (trange / 2);

    end;
end;

If Condition4 or close cross over sellstopline Then begin
 ExitShort absvalue(Currentcontracts) contracts   next bar at market;
End ;


if sun=3 and dayofmonth(date)< 22 then begin

if currentcontracts * marketposition > 0 then begin
    oldbuy=currentcontracts;
 ExitLong Currentcontracts contract this bar on close;
 Buy ("buy-nextmonth") oldbuy Contracts next bar at market;
 buystopline = entryprice - 2 * trange ;
    banotherprice = entryprice + (trange / 2);
end;


if currentcontracts * marketposition < 0 then begin
    oldsell=currentcontracts;
 ExitShort absvalue(currentcontracts) contract  this bar on close;
 Sell ("sell-nextmonth") absvalue(oldsell) Contracts next bar at market;
    sellstopline = entryprice + 2 * trange; 
    sanotherprice = entryprice - (trange / 2);
 end;
sun=0;
end;

arrow
arrow
    全站熱搜

    speculatortw 發表在 痞客邦 留言(0) 人氣()