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

2010年4月3日 星期六

大量時的當日高低點

在準備投影片的同時,因為看之前的程式所以想要統計一項數據。那就是當出現大量時的當根…就出現當日高低點的次數。

簡單的說…假如 5 分 k 為紅 k,且那一根出現了 5000 口以上的大量,那麼,那根 k 線的高點就是當日高點出現的情況是如何。

簡單的寫了下面的程式:

vars: count(0), temp1(0), temp2(0);

if date <> date[1] then begin
temp1 = 0;
temp2 = 0;
end;

if v > 5000 and high = highd(0) then
temp1 = high;
if v > 5000 and low = lowd(0) then
temp2 = low;

if time = 1330 and temp1 = highd(0) then count = count + 1;
if time = 1330 and temp2 = lowd(0) then count = count + 1;

if lastbaronchart then print(count);


以這個方式統計了一下…從 2001 年到 2010.3.31
5000口出現當日高低的情況有:426 天。
6000口出現當日高低的情況有:275 天。
7000口出現當日高低的情況有:189 天。

接著…把日期縮短一點,畢竟很久前的交易並不熱絡,統計這麼長似乎沒什麼意思。

2007 年到 2010.3.31
5000口出現當日高低的情況有:387 天。
6000口出現當日高低的情況有:263 天。
7000口出現當日高低的情況有:184 天。

2007 到 2010.3.31 的交易日有多少:805 個交易日

接下來…當天只要曾經出現 5000 口的交易日有幾天:
曾出現5000口的交易日:469 天。
曾出現6000口的交易日:344 天。
曾出現7000口的交易日:252 天。

有什麼用,就留給大家想一下啦。

13 則留言:

  1. 試試看用均量標準差 (我想看XD)
    3倍標準差
    4倍標準差
    5倍標準差
      .
      .
    週期就取 300/BARINTERVAL 好了
    這樣可以連以前的一起統計 XD

    回覆刪除
  2. 謝謝阿 這篇收穫很多!!

    回覆刪除
  3. 小峰
    請問DK大大
    Highest()跟HighestFC()有什麼不同呀?
    看了程式碼也是有看沒有懂。
    3Q

    回覆刪除
  4. 小峰:二個其實是一樣的東西…只是 FC 是比較快速的計算方式。

    回覆刪除
  5. 令人困擾的marketposition
    不知DK大大有沒有碰過這樣的情形,
    因為marketposition要到下一根k棒才會動作,例如這根K棒已經反手做空了,marketposition還不知,還以為在多單,結果就停損掉了,還不如自己設一個變數來得準確,DK大大都怎麼解決呢?

    回覆刪除
  6. 小峰:你停損的程式碼是怎麼寫的呢?

    回覆刪除
  7. if marketposition < 0 and close > HHigh then begin
    exitshort next bar at market;
    buy next bar at market;
    LLow = Lowd(0);
    end;

    {問題在以下這個判斷式,上面已經反手了,但由於尚在同一根K棒電腦不知已經反手了,所以馬上就平倉了}
    if (marketposition <> 0 and time >= 1340) or (marketposition < 0 and close > HHigh) then begin
    exitlong next bar at market;
    exitshort next bar at market;
    end;

    回覆刪除
  8. 小峰:
    if marketposition < 0 and close > HHigh then begin
    buy next bar at market;
    LLow = Lowd(0);
    end;

    這邊 exitshort 可以不需要。直接作反手就行了。

    if (marketposition <> 0 and time >= 1340) then begin
    exitlong next bar at market;
    exitshort next bar at market;
    end;

    or 那部份其實也沒作用…因為上面符合條件後就會反手…所以出場訊號就不用寫了。

    這樣試試吧…應該不會有什麼問題才對。

    回覆刪除
  9. OR後面那段是有作用的,是在做1340分之前反手後平倉用的,完整的判斷式是這樣的
    if (marketposition <> 0 and time >= 1340) or (marketposition < 0 and close > HHigh) or (marketposition > 0 and close < LLow) then begin
    exitlong next bar at market;
    exitshort next bar at market;
    end;

    但由於上面已經反手了,因為還在同一根K棒的原故,所以就導致一反手就平倉的情形,困擾就是在這邊。

    回覆刪除
  10. 請問關於反手後的平倉我可以在反手後馬上就寫STOP單?

    回覆刪除
  11. 小峰:我還是覺得那段沒什麼作用。也許你拿掉看看是不是還是一樣?

    因為不管如何,你需要的是 close > HHigh 就買單進場了,即使在 1340 的時候 close > HHigh 需要作空單停損,這時候買單進場的條件還是成立的。

    除非你在買單進場的時候限制時間 < 1340 ,這樣這部份才有意義。

    另外你提到的反手後的平倉,是可以直接寫 stop 單。

    回覆刪除
  12. Hi DK大大
    我跑出來的值和你不太一樣耶(天數不同)
    我是直接把你的程式貼上去跑但是看起來結果差粉大是因為我們兩個歷史資料不同嗎
    還是我run的方式有問題

    回覆刪除
  13. robin: 也許是資料不一樣吧,因為也是有朋友跟我說跑起來有差異了。

    回覆刪除

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

Related Posts Plugin for WordPress, Blogger...