[TS懶人包] [保險服務]

2008年9月15日 星期一

Optimize vs. Normalize 最佳化 vs. 常態化

程式交易常陷入 Optimize 最佳化的迷思裡…也許…你也曾經這樣作過,當用 5ma 不好的時候…改用 10ma…改一改又覺得 20ma 比較好…或是當你的程式用絕對點數作停損時…一開始設定為賠 30 點就停損…後來又改為 40 點停損…或直接用程式跑最佳化…結果出來跑出個 32 點做停損。

當你在這樣做的時候…其實就是存在著最佳化的風險…最佳化其實並不是不好…只是不要做過頭了…而今天…我提出個 Normalize 也就是常態化的做法。

股市起起伏伏…幾年前可能是上萬點…幾年後可能只剩四、五千點…如果你一直用絕對點數做停損、或進出場…那請自己想看看…在一萬點的時候出現 50 點的波動…和在四千點的時候出現 50 點的波動…哪個比較容易發生?

Normalize 的做法就是要將這種情況考慮進去…以絕對點數做停損為例…請不要用這種寫法

if close < enterprice(0) - 30 then
exitlong next bar at market;


試著改為這樣:

if close < enterprice(0) - opend(0)/200 then
exitlong next bar at market;


你大可對 200 這個參數去做最佳化…但這樣的寫法將會讓你把大盤目前所在的位置考慮進去…遠比你直接對上個例子的 30 去做最佳化來的好多了…

再想想…一萬點波動 50 點和四千點波動 50 點的情況…你就會了解固定設某個點數其實是很不明智的作法。

17 則留言:

  1. 我的經驗是
    指數的位置與波動沒有太大的相關
    有可能3000點的波動點數是200點
    但6000點時只有100點

    回覆刪除
  2. 我的經驗是
    指數的位置與波動不一定是正相關
    有可能3000點時每日的平均波幅是200點
    6000點時卻只有100點

    回覆刪除
  3. 也許是這樣..不過..3000 點的 7% 是 210 點…6000 點的 7% 就是 420 點了..我想,還是會有點差距吧…就看大家怎麼選擇囉~~

    回覆刪除
  4. 請問
    以上TS語法"opend"如何改寫比較好?

    回覆刪除
  5. TS 的就是 opend 啊..也許你要問的是 HTS 的?..參考這篇 http://ssdkchang.blogspot.com/2008/08/hts.html

    回覆刪除
  6. 阿您誤會了...SORRY
    我用ts
    直接貼入以上程式碼在ts
    卻在f3檢查時"opend"
    出錯加上以上程式碼沒有begin
    我勿以為是HTS用的

    我想問的是TS是否有直接貼上的完整版
    程式碼可以用?

    回覆刪除
  7. 請貼一下錯誤訊息吧..因為照理說..opend 在 TS 是不會出錯才對..

    回覆刪除
  8. 好像不能貼圖...那我把F3錯誤文字訊息
    貼上...
    對了小弟用的是5分圖
    if close < enterprice(0) - opend(0)/200 then begin
    exitlong next bar at market;
    End;

    TS F3錯誤標示在"enterprice"位置上
    Error(#61)

    sorry之前沒看清楚 不是opend.
    謝謝.

    回覆刪除
  9. 大家好,我是FK

    我發現絕對點數停損和整個交易策略有關
    有些交易策略不能用絕對點數停損,有些則必須
    討論絕對點數應該把整個交易策略一起拿來檢討

    在適合絕對點數停損的交易策略中,以我的當沖2號來看,因為都是進場在攻擊點,所以發現,當日若因絕對點數停損,應該對交易策略來說,就是假突破(或跌破),所以當天盤勢大概不是盤整就是反轉。哪天的"絕對點數停損"不管是30,40,..甚至100點,都可能來...,

    所以,適合絕對點數停損的策略,去對"絕對點數做最佳化",應該不能對獲利或勝率有太大的影響..,(這個range和經驗每人不同),我們只是為了賺取想像中的利潤,取一個"想像"的最佳值罷了...

    回覆刪除
  10. 有時候停損拉太近是很容易被洗掉的..例如 20 點停損..30 點停損...這樣近的停損雖然會讓損失變小…不過卻相對的在有機會獲利的情況下…會因為小回而停損失掉獲利機會…這當然是跟進場策略有關…如果進場是非常準確的…那當然可以把停損設近一點…不過,我想大部份都的策略都是需要一個稍大的停損才能有比較好的表現的。

    回覆刪除
  11. DK 大大您好:happy new year

    請問:
    1.TradeStation2000i圖形頁面,小弟同時開6個小頁面(含Subgraph one主圖),因為需要data2-data7作為計算

    所以 Subgraph one放1個Symbol, Subgraph two 重疊6個Symbol並盡量將頁面縮小,

    Subgraph3,4,5,6 各自放1個自設指標,執行結果圖形顯示正常,但是在盤中畫面會不定時閃爍,盤後則正常,這樣的狀況如何改善
    2.程式語法 close of data1-close of data2 可以執行,但是value1 of data1-value1 of data2 則不可,正確寫法為何

    回覆刪除
  12. 新年快樂!

    1. 我還真沒用到過這麼多 data 的… 之前頂多用到 data3…倒是沒有你說的情況…也許真的是因為 data 開太複雜的關係,我還滿建議你去試試 multicharts 的… 畢竟十年前的軟體也許在效能上沒這麼好。

    2. 那得要看你的 value1 是什麼數值了?

    回覆刪除
  13. DK 大大您好:感謝您的回覆
    小弟試著將data單純化,Subgraph one主圖,Subgraph two及Subgraph three各放1個Symbol,為data2及data3,
    Subgraph four為自設指標,計算很簡單data2-data3,
    但是畫面依舊閃爍,跟重疊6個完全一樣,並沒有因data單純而狀況改善,請問是設定有問題嗎?
    謝謝

    回覆刪除
  14. DK大新年快樂
    小弟直接把程式碼copy到群益MulitCharts
    出現了以下錯誤訊息
    可否請DK大抽空幫小弟看看是哪錯了
    謝謝

    編譯時產生錯誤: ------
    'Next Bar' can only be applied to 'Open', 'Date', 'Time' or 'Time_s'
    errLine 35, errColumn 1, errLineEnd 35, errColumnEnd 1
    編譯錯誤: (函數)

    回覆刪除
  15. 郭昇:這樣子看不出來錯誤呢… 大概是說 next bar 後面接的語法錯了… 這個錯誤在 35 行上下…

    可以的話也是把上下幾行程式碼貼出來看看吧

    回覆刪除
  16. global: 設定大概是沒這方面的設定… 也許你把顯示卡的驅動程式更新一下試試吧…

    回覆刪除
  17. DK大好
    問題已經解決了
    原來MC buy後面要加 next bar

    回覆刪除

請留下您的大名…匿名者恕不回應…

Related Posts Plugin for WordPress, Blogger...