布林軌道計算問題

  •   698 
  • 最後發表   LeonHuang  2017 八月 04
LeonHuang 發文於   2017/07/05

請教一下,我要計算布林下軌,使用下列程式碼,可是計算出的數字卻跟用系統預設的數字不同,可否解答?

input:
 Length(20, "MA的天數"),
 UpperBand(2, "上通道標準差倍數"),
 LowerBand(2, "下通道標準差倍數");
variable: mid(0), up(0), down(0);

up = bollingerband(Close, Length, UpperBand);
mid = average(close, Length);
down = bollingerband(Close, Length, -1 * LowerBand);

value1=bollingerband(Close, 20, -2);

Ret = 1;

outputfield(1,down,2,"布林低軌");

 

附加文件

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/07/05

Hi LeonHuang,

請問您現在執行選股策略也是會有問題嗎?謝謝。

另請問,您的版本為何?2.29 或是其他?

資料筆數為何?謝謝。

是否可以上傳圖檔如最下選股中心完整畫面( 或附檔圖 )給小編查看問題的原因?謝謝。

 

呈請抽空回覆以上問題,以利小幫手查看,謝謝。

 

附加文件

LeonHuang 發文於   2017/07/05

抱歉,發現自己的錯誤了,指定頻率設定成月了。

另外,想請教:若我想以布林下軌的值做排序依據,該如何寫呢?

 

XQ小幫手 發文於   2017/07/06

Hi Leon Huang,

關於您的問題:若我想以布林下軌的值做排序依據,該如何寫呢?

猜想您應該是想要以下的選股清單畫面

 

若是,則可以利用自訂排行條件的功能,如此文章說明

搜尋自訂排行 如何創造個人排行榜

在交易點點滴滴的文章中,有範例可以提供參考,如下連結網頁說明

找出市場上每股現金最多的公司

 

接下來說明小幫手做出布林軌道下值排行條件的操作步驟:

1. 先至XS編輯器,新增【函數】腳本,將您的布林軌道下值選股腳本,改為函數腳本,如下程式碼範例

variable: 
 Length(20),    //  "MA的天數"
 UpperBand(2),  //  "上通道標準差倍數"
 LowerBand(2);  //  "下通道標準差倍數"
variable: mid(0), up(0), down(0);

up = bollingerband(Close, Length, UpperBand);
mid = average(close, Length);
down = bollingerband(Close, Length, -1 * LowerBand);

value1=bollingerband(Close, 20, -2);

Ret = down;

2. 再至選股中心,新增選股策略的介面,右中上處,有個【自訂排行條件+】,點進去後選擇您上述的函數腳本名稱即可;若是選擇既有的選股策略,則點選該選股策略後,再按下選股中心介面約右上方的【編輯條件+】按鈕,跳出編輯選股策略(使用者自訂)的視窗後,一樣在此介面的右中上處,有個【自訂排行條件+】,點進去後選擇您上述的函數腳本名稱即可。

3. 最後在新自訂排行條件的介面中,設定好相關參數,按下確定,即可完成如小幫手提供的最上圖所示畫面。

 

以上說明,謝謝。

LeonHuang 發文於   2017/07/06

感謝您,了解了

  • 按讚來自於
  • b24524658
XQ小幫手 發文於   2017/08/04

Hi LeonHuang,

我們在 2.30 版本中,

outputfield 排序 功能,可以參考連結教學文章所述,

這樣就可以簡單達成排序功能囉!

 

小幫手方才在 2.30 有使用以下選股腳本範例程式碼,提供給您參考,謝謝。

Length(20, "MA的天數"), // "MA的天數"
UpperBand(2, "上通道標準差倍數"), // "上通道標準差倍數"
LowerBand(2, "下通道標準差倍數"); // "下通道標準差倍數"
variable: mid(0), up(0), down(0);

up = bollingerband(Close, Length, UpperBand);
mid = average(close, Length);
down = bollingerband(Close, Length, -1 * LowerBand);

value1=bollingerband(Close, 20, -2);

Ret = down;

outputfield(1,down[1],2,"布林低軌",order := 1);

 

發表回覆
Close