close

  陰陽線型態會用到大量的型態資料,舉一個例子來說:要判斷K線是否為長實體,你必需判斷:實體>中心價5%且實體>價格區間50%。

  以上用到幾種資料?如下段程式碼,[1]實體長度(LenEntity),[2]中心價(mid_HL),[3]價格區間(LenHL),而且是每一天的資料(可能只用到一天,可能需要好幾天,最大15天),如果每次要判斷是否為長實體就要重新計算以上資料,不僅沒有效率,腳本也會膨脹好幾倍。所以有必要將它一次全部計算好並儲存在array裡,這就是本段腳本的功用:取得基本資料,如上述[1][2][3]。

 

//是否為長日?實體>中心價5%且實體>價格區間50%

isLong[aix] = (lenEntity[aix] > mid_HL[aix] * 0.05) and (lenEntity[aix] > lenHL[aix] * 0.5);

 

取得基本資料完整腳本

  各變數的含意請看GetKType(1)_變數說明。

 

//----- 基本資料設定

for ix = 0 to MAXNUM-1

begin

aix = ix + 1;

if open[ix] > close[ix] then redBlack[aix]="B" else redBlack[aix]="R";

if redBlack[aix] = "B" then 

begin

topEntity[aix] = OPEN[ix];

botEntity[aix] = CLOSE[ix];

end else

begin

topEntity[aix] = CLOSE[ix];

botEntity[aix] = OPEN[ix];

end;

lenEntity[aix] = AbsValue(OPEN[ix] - CLOSE[ix]);

lenUpShadow[aix] = HIGH[ix] - topEntity[aix];

lenDnShadow[aix] = botEntity[aix] - LOW[ix];

rateDnShadowEntity[aix] = lenDnShadow[aix] / IFF(lenEntity[aix] = 0, 0.0001, lenEntity[aix]);

rateUpShadowEntity[aix] = lenUpShadow[aix] / IFF(lenEntity[aix] = 0, 0.0001, lenEntity[aix]);

lenHL[aix] = HIGH[ix] - LOW[ix];

mid_HL[aix] = (HIGH[ix] + LOW[ix]) / 2;

mid_Entity[aix] = (OPEN[ix] + CLOSE[ix]) / 2;

if (lenHL[aix]= 0) then begin

rateUpShadowHL[aix] = 0;

rateDnShadowHL[aix] = 0;

rateEntity_HL[aix] = 100;

end else begin

rateUpShadowHL[aix] = lenUpShadow[aix] / lenHL[aix];

rateDnShadowHL[aix] = lenDnShadow[aix] / lenHL[aix];

rateEntity_HL[aix] = lenEntity[aix] / lenHL[aix];

end;

rateHL_Price[aix] = lenHL[aix] / CLOSE[ix]; //高低點整體長度/收盤價

rateEntity_Price[aix] = lenEntity[aix] / CLOSE[ix]; //實體長度/收盤價

//是否為長日?實體>中心價5%且實體>價格區間50%

isLong[aix] = (lenEntity[aix] > mid_HL[aix] * 0.05) and (lenEntity[aix] > lenHL[aix] * 0.5);

//是否為短日,實體長度 <= 收盤*2%   

isShort[aix] = lenEntity[aix] <= mid_HL[aix] * 0.02;

isCross[aix] = (rateEntity_HL[aix] <= 0.03); //是否為十字線

end;

//------------------

 

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 htm0606 的頭像
    htm0606

    奇正2

    htm0606 發表在 痞客邦 留言(0) 人氣()