引用自   http://www.wretch.cc/blog/phigroup/15825485


 

一般而言,跟著別人作已經作的事常是愚眛的,因為這幾乎確定已有太多人作同樣的事。 - 英國經濟學家 傑逢斯

Tradestation的專家很多,然而在中文世界中,願意分享的部落客則不多,獵獵豹希望能拋磚引玉,帶起台灣程式交易的風氣。

其實我們在作tradestation系統回測時,首先要選擇的是時間格式,也就是週線、月線、日線、或刻分線,用越細的時間格式來作回測則更精確,JOB大是這方面的專家,他對資料要求的細膩程度已經到達ticks,個人相當敬佩JOB大那份對於資料正確性的執著,還有鉅資打造的超級電腦,高規格RAID,UPS伺服器。JOB:「這些設備錢跟停損比起來…(微笑)」。

Tradestation有時會出現同一跟K棒進出的情況,然而當我們要了解這個情狀時,我們必須要知道ts對於價位的設定是如何,一根K線是由最高價、最低價、開盤價、收盤價四價組成。

然而問題在於是先有最高價還是先有最低價。這將會影響我們建立部位的順序,是賺錢還是賠錢(想想那種上沖下洗的雲霄飛車盤),ts判斷先後的規則為 - 先是最高價或先是最低價取決在於,最高價與最低價那個價位與開盤價較接近,那ts就會自動判斷那個價位先行發生。

然而這畢竟是軟體模擬,真實世界豈是容許的了這麼天真的規則呢,獵獵豹隨意貼上某支「劇烈震盪」的股票,這支股票的開盤價為35.4最高價36.3最低價32,開盤價與最高價的價差較小,然而從流程圖中我們可以明顯的了解,是先有最低價再有最高價,我們由Karl Popper否證的智慧開始,進一度來討論ts的程式交易知識。

其實這不是ts的bug,由於這個問題,ts在2000i提出了bouncing ticks的技術。皆下來我要獵獵豹解釋bouncing ticks在解決什麼問題。

例如我們想要掛買於100,同時於101想出場,97想停損。隔天的K線開99,最低價92、最高價101、收100。

如果是開盤後先殺最低價再有最高價,那麼我們會在最低價後買進100於101出場。獲利1%。

然而如果是先有最高價再有最低價,那我們則會買進後停損於97。

於是我們回到ts的邏輯:最高價與最低價那個價位與開盤價較接近,由於是高價先有,所以我們會在100買進後出場於101嗎,其實不會。

因為了解到這種情況下會造成誤判,所以在買進後,會在這個價位的固定%數,預設是10%,在這個範圍內,要是有觸及停損的價位出現,則會以開盤價出場。所以你會買在100出在99。而這個%數你可以自己設置

 

 

 

----------------------------------------------

獨 :

 

此文探討K棒觸發條件,是以最高價 ? 還是最低價 ?  如果在同一跟K棒的最高最低都觸發條件的話,會執行哪一個。

記得我在 阿政的程式交易blog 看到 他寫文,說盤中買進訊號不見,這是HTS的BUG 。我要替HTS說話,其實這不是BUG,只要了解程式的運作就懂了。

 

通常會以收盤價 CLOSE 都做觸發條件,你想想,ㄧ根K線在盤中生時,收盤價是不停的在變動的。

假設5分K,這五分鐘內價格變動順序為  7500 => 7510 => 7520 => 7500 => 7480 => 7490

則不同時間點的收盤價 就是  7500 => 7510 => 7520 => 7500 => 7480 => 7490

當K線結束時,看到的K棒  開盤價 7500、收盤價 7490、最高價 7520、最低價7480

 

如果你程式的觸發條件為

1.當收盤價 <= 7485 時多單停損,則盤中變動中的收盤價經過7480時就會執行停損

2.當收盤價 > =7515 時買進一口多單,則盤中變動中的收盤價經過7515時就會買進一口多單

 

 

你不能說收盤價明明在 7490 ,為何會觸發   "收盤價 < =7485 時停損" 的條件,這是BUG。 

你不能說爲何一下買進訊號一下賣出訊號,害我買進多單後又停損出場,這是BUG。

 

如果你碰到以上狀況,兄弟,這不是BUG。

 

 

 

 

只要懂程式交易的規則就知道

 

PS  不知道會不會有人問 : 如果我的判斷邏輯沒有收盤價會不會有這問題 .
哈~~~~~  均線是不是用收盤價算出來的 ? 是 , 就有一樣的問題
所有的指標皆要以價格當參數來計算 , 用到收盤價就都有一樣的問題
arrow
arrow
    全站熱搜

    獨孤求敗 發表在 痞客邦 留言(1) 人氣()