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

2008年11月17日 星期一

TradeStation 趨勢線計算方式

最近突然想到了趨勢線的計算方式了…所以就順手寫了個指標…這個指標的計算是抓到前兩日的高點…並在今天把前兩日的高點連線畫出來…畫出來有什麼用呢?其實目前還沒想到…趨勢線應該還有很多變形才對…只開個頭讓大家參考一下吧…

指標畫出來的線如下:


計算方式則用到了 barnumber..把前一日的高點 barnumber 記錄下來…還有前二日的高點 barnumber…然後就是加加減減乘乘除除了…其實也沒什麼難度…有興趣就參考看看吧…
程式碼如下:

vars:long1bar(0), long2bar(0), longstep(0);

if date[0] <> date[1] then begin
long1bar = 0;
long2bar = 0;
longstep = 0;
end;

if time = 850.00 then begin
for value1 = 1 to 60 begin
if high[value1] = highd(1) then begin
long1bar = barnumber - value1;
value1 = 61;
end;
end;
for value2 = 61 to 120 begin
if high[value2] = highd(2) then begin
long2bar = barnumber - value2;
value2 = 121;
end;
end;
if long2bar-long1bar <> 0 then
longstep = (highd(2)-highd(1))/(long2bar-long1bar);
end;

plot1(highd(1)+(barnumber-long1bar)*longstep, "long", red, red, 1);

至於怎麼變形…大家動動頭腦吧。

9 則留言:

  1. DK大 看完你分享出來的趨勢線...我真的是佩服你這信手拈來的程式寫作功力及頭腦!!
    厲害厲害~~

    回覆刪除
  2. 請教一下DK大,如果我抓三條MA(EX→5MA,10MA,15MA),要取中間值的那一條,由於上漲下跌或盤整的時候,中間值的那條MA會隨著盤勢而變動(EX→10MA>5MA>15MA,就取5MA),假設我在TS上C>中間值的MA,則市價買進,這個部份要如何寫出程式來找出中間值的MA呢???

    回覆刪除
  3. 把條件分開討論就行了..
    if 5ma > 10ma and 5ma < 15ma then
    if c > 5ma then buy..
    end;
    要寫比較多算式就是了..

    回覆刪除
  4. 謝謝DK大,那請問如果兩個數值相減要取絕對值,例|value1-value2|,在TS上要如何表達ㄋ???

    for華恭

    回覆刪除
  5. 趨勢線真是不好搞..

    順便請問一下
    能用barnubmer 這個function
    來讀取出那支特定的Bar 上的資料嗎??
    Ex High,Low,Close
    如果我想記錄每個波段的峰值
    那麼可以用一個tag
    可以直接叫出這些資料
    就方便多了
    還是有其他更簡單的方法
    可以呼叫過去的資料

    回覆刪除
  6. 直接用一個變數存會比較快..看你怎麼樣才算是峰值..
    if h[1] > h[2] and h < h[1] then
    hightag = h[1];

    這樣再用 hightag 去找就行了..

    回覆刪除
  7. 本來還想用Array來記錄這些資料
    若是這樣跑起來一定會很佔資源 ><
    還是用你說的方法會比較好寫
    謝謝囉~~

    那間金足成照片太大了巴
    已經不小心按到好幾次了XD

    回覆刪除
  8. 變數就可以當 array 用囉..
    金足成啊...感謝你按這麼多次..XD
    小心別再按到了..XD..不然我要被 google 警告了..

    回覆刪除

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

Related Posts Plugin for WordPress, Blogger...