抓取布林軌道箱上下箱價格

  •   801 
  • 最後發表   spadegun  2016 九月 29
spadegun 發文於   2016/09/14

目標:找出最近一個布林軌道箱(修正箱/壓力箱),然後測試收盤價突破上箱。

軌道箱原則:找到最後一根觸上軌(最高價即上箱價),於其後再找出第一根觸下軌(最低價即下箱價)。

我用下面程式跑選股,有挑出股票,但是他挑出股票的上下箱價格並不是最近的一個軌道箱,反而是前一個軌道箱,

是否與資料讀取範圍及讀取方式有關呢?我該如何調整呢?謝謝

variable: lowerbond(0), upperbond(0), i(0);

while upperbond = 0 //迴圈尋找觸下軌觸法點
  begin
    if low[i] <= bollingerband(close[i], 20, -2) then
      begin
        while upperbond =0 //迴圈尋找最後一根下軌K棒及第一根上軌K棒
          begin
            if low[i] <= bollingerband(close[i], 20, -2) then lowerbond = low[i];
            if high[i] >= bollingerband(close[i], 20, 2) then upperbond = high[i];
            i = i + 1;
          end
      end
      i = i + 1;
  end;if close crosses over upperbond then ret = 1;

排序方式: 標準 | 最新
XQ小幫手 發文於   2016/09/19

Hi SpadeGun:

請問您還記得幾點執行此選股策略嗎?

小幫手覺得是不是因為資料轉檔時間的問題,

造成您取得前一個軌道箱。

 

注:每日收盤更新時間為15:40

 

猜想是否可能您在此時段前(資料尚未更新)操作此策略,

因此取得舊的(昨日)資料,今日資料尚未更新。

 

 

spadegun 發文於   2016/09/25

9/25(日)依下述程式碼選股,有一檔緯創(3231),結果如下圖

選股的上箱價是23.05 下箱價是21.21,如下圖選股箱形位置,

但是依程式邏輯選股的箱形不應該出現在那個位置,應該出現在如下圖目標箱形位置,

目標的上箱價是23.60下箱價是21.70,

星期日執行選股應該資料都更新完畢了,

但是選股結果跟預期還是有出入,

我是選擇用還原日價去選股。

另外就是也有發現典範(3372)上箱價已經剛好等於布林軌道上軌價(7.40),

但是選股的上箱價是選前一日7.59。

variable: lowerbond(0), upperbond(0), i(0);

while upperbond = 0 or lowerbond = 0
begin
    if low[i] <= bollingerband(close[i],20,-2) then  lowerbond = low[i];
    if lowerbond <> 0 and high[i] >= bollingerband(close[i],20,2) then upperbond = high[i];
    i = i + 1;
end;

if close crosses over upperbond then ret= 1;

outputfield(1, upperbond, "上箱價");
outputfield(2, lowerbond, "下箱價");
outputfield(3, close[0], "收盤價");

XQ小幫手 發文於   2016/09/26

謝謝您提供詳細資訊,

只是圖片有點小,因此圖片中的解釋文字看不清楚,

 

是否方便以附檔的方式,上傳截圖的畫面,謝謝您。

 

 

spadegun 發文於   2016/09/26

圖檔已上傳

附加文件

XQ小幫手 發文於   2016/09/29

謝謝您提供的資訊,

請您試試看在While迴圈上方,

加入此段程式碼

settotalbar(200);

 

有可能是您的讀取的資料範圍不夠(預設僅10筆,您提供的畫面資料讀取比數也是10筆)

導致您取資料計算時有誤,

 

呈請您試試看,謝謝。

 

 

 

發表回覆
Close