N天的區間突破策略原理:當今天的價格的高點突破過去N天的最高點時買入,當今天的低點跌破過去的N天的最低點時賣出。此策略適合趨勢比較明顯的商品,尤其是單邊商品。
測試商品股指IF,使用兩圖表,子圖1周期為1 hour,子圖2周期為1 day。源碼如下:
inputs: x(20),y(10) ;//定義波動率參數Vars: V20(10),V10(10),N2(10),N1(10),N(10);//定義變量
V20=Volatility(x)of data2;V10=Volatility(y)of data2;//定義波動率取日線數據,取子圖2的日線線數。這個Volatility函數是分別取20日跟10日ATR的移動平均數值 if V10<>0 and N2<>0 then beginN1=(N*V20)/V10;//定義N1的值,前提讓分母不為0時執行,//這N1=(N*V20)/V10是此參數自動化的核心, 代表你將原本固定N天的參考值改成會/根據V20和V10而變動的N1值, V20是較長期的,而V10是近期,大家看到這個公式應該可以發現,當你近期的波動率變大時,表示趨勢出現,你的N1就會變小,而近期的波動率變得越小時,表示在盤整,N1就會變大,這樣新的N變化似乎比較合理一點。
N2=IntPortion(N1);//給N1取整賦值給N2end;
value1=Average(high of data2,N2)of data2;value2=Average(low of data2,N2)of data2;//定義前N2天的高點跟低點的值給value1和value2
if close crosses above value1 then beginbuy next bar at market;end;//當價格上穿高點時買入或者反向
if close crosses below value2 then beginsellshort next bar at market;end;//當價格下穿低點時開空或者反向
策略加載展示圖: