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

2008年9月9日 星期二

Tradestation 力量平衡度指標(Balance Of Power)

這是 HTS 裡的介紹:在極端之水平中測定達成值中之賣出與買入勢力之強度而使用之。
計算公式:
1.BalanceOfPower=(收盤價-開盤價)/(最高價-最低價)
2.用移動平均來做平滑。
3.使用者欲使用移動平均來作平滑。
這個指標是在 HTS 裡面有的…TradeStation 裡面一樣沒有…所以就來新增加一下吧…

首先…新增一個 T3Average 的 Function

input: Price(Numeric), Length(Numeric), Hot(Numeric);
Variables: b(Hot), b2(b*b), b3(b2*b),
e1(Price), e2(Price), e3(Price), e4(Price), e5(Price), e6(Price),
c1(-b3), c2(3*(b2+b3)), c3(-3*(2*b2+b+b3)), c4(1+3*b+b3+3*b2),
N(0), w1(0), w2(0);

N = Length;
If N < 1 then begin
N = 1;
End;
N = 1 + 0.5*(N-1);
w1 = 2 / (N + 1);
w2 = 1 - w1;

e1 = w1 * Price + w2 * e1;
e2 = w1 * e1 + w2 * e2;
e3 = w1 * e2 + w2 * e3;
e4 = w1 * e3 + w2 * e4;
e5 = w1 * e4 + w2 * e5;
e6 = w1 * e5 + w2 * e6;

T3Average = c1 * e6 + c2 * e5 + c3 * e4 + c4 * e3;


接著再新增一個 BalanceOfPower 的 Function

input: Length(Numeric);
Variables: BOP(0);

If High - Low > 0 Then
BOP = (Close - Open) / (High - Low)
Else begin
BOP = 0;
End;

BalanceOfPower = T3Average( BOP, Length, 0.5);


最來..來新增個指標吧..

inputs: Length(14);
Plot1(BalanceOfPower(length));


這個指標會長成這樣…


應該會是個有用的指標…

2 則留言:

  1. 來你的部落格好幾次了,很欣賞你的想法與程式撰寫能力ㄟ,有時候自己寫交易程式,都快發瘋了,可以請教你個問題嗎???目前有個交易當沖程式在跑,可是停損的寫法,我是沒有用固定點數停損,如果是多單,停損會是跌破過去幾跟K棒的低點,下一跟的開盤價出場,這樣的停損在過去七年還有單筆三萬多的最大損失,我不太能接受,雖然每年都賺錢,實際執行會有問題的,你可以提供個停損想法給我嗎???我們可以交流一下!!!
    另外在請教你個問題,你在TS寫的程式轉換成HTS後,會不會有訊號不一樣的結果,就是當天TS有叫單,可是HTS並沒有出現訊號,這讓我超困擾的,我是還沒有打給雅策的阿樂,問他如何用TS連結下單機,我的交易模組有用到擺蕩指標,我想應該就是這一個指標的數值在TS與HTS所算出來的數據不一樣,才會出現訊號不一樣,你覺得ㄋ,該怎麼解決比較好???

    回覆刪除
  2. 三萬多啊…還真的滿多的…150點的距離是有點遠…你先檢查一下程式吧…我猜會不會是你再開盤附近就進場了…然後停損點抓到了前一天的某根k線低點了?
    如果沒問題的話…那也許該考慮的是進場點…

    第二個問題的話…先問一下是不是 TS 和 HTS 的資料都是一樣的?也就是說你的 TS 資料是否是 HTS 匯出來的呢?我自己是有這樣的情況…不過是因為兩邊的資料有很小的差距…也就是說可能 HTS 九點的收盤價是 6999 不過 TS 的資料九點的收盤價是 6998 這樣子的小差距…就有可能讓我的程式一邊有訊號一邊沒有…這個部份我倒是不太在意。

    另外你所說的數值不一樣的部份…我想你可以自己測試算一下…用 HTS 把資料匯出後…兩邊都用同樣的資料去算這個值,再把這個值 print 出來檢查…或是直接去檢查兩邊算這個擺蕩指標的算式是不是一樣…先試試看囉。

    回覆刪除

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

Related Posts Plugin for WordPress, Blogger...