計算公式:
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));
這個指標會長成這樣…
應該會是個有用的指標…
來你的部落格好幾次了,很欣賞你的想法與程式撰寫能力ㄟ,有時候自己寫交易程式,都快發瘋了,可以請教你個問題嗎???目前有個交易當沖程式在跑,可是停損的寫法,我是沒有用固定點數停損,如果是多單,停損會是跌破過去幾跟K棒的低點,下一跟的開盤價出場,這樣的停損在過去七年還有單筆三萬多的最大損失,我不太能接受,雖然每年都賺錢,實際執行會有問題的,你可以提供個停損想法給我嗎???我們可以交流一下!!!
回覆刪除另外在請教你個問題,你在TS寫的程式轉換成HTS後,會不會有訊號不一樣的結果,就是當天TS有叫單,可是HTS並沒有出現訊號,這讓我超困擾的,我是還沒有打給雅策的阿樂,問他如何用TS連結下單機,我的交易模組有用到擺蕩指標,我想應該就是這一個指標的數值在TS與HTS所算出來的數據不一樣,才會出現訊號不一樣,你覺得ㄋ,該怎麼解決比較好???
三萬多啊…還真的滿多的…150點的距離是有點遠…你先檢查一下程式吧…我猜會不會是你再開盤附近就進場了…然後停損點抓到了前一天的某根k線低點了?
回覆刪除如果沒問題的話…那也許該考慮的是進場點…
第二個問題的話…先問一下是不是 TS 和 HTS 的資料都是一樣的?也就是說你的 TS 資料是否是 HTS 匯出來的呢?我自己是有這樣的情況…不過是因為兩邊的資料有很小的差距…也就是說可能 HTS 九點的收盤價是 6999 不過 TS 的資料九點的收盤價是 6998 這樣子的小差距…就有可能讓我的程式一邊有訊號一邊沒有…這個部份我倒是不太在意。
另外你所說的數值不一樣的部份…我想你可以自己測試算一下…用 HTS 把資料匯出後…兩邊都用同樣的資料去算這個值,再把這個值 print 出來檢查…或是直接去檢查兩邊算這個擺蕩指標的算式是不是一樣…先試試看囉。