相關標簽:
?
?跨周期引用在日常的策略編寫中是經常需要使用的,可以在本策略運行的周期上,引用到另外一個周期上的指標值,來作為本策略的開平倉條件。下面分別對大周期引用小周期和小周期引用大周期的指標編寫進行示范。
?
????? 被引用指標公式MA指標,代碼如下:
???????INPUT:N1(5,1,100,1),N2(10,1,100,1),N3(20,1,100,1),N4(30,1,100,1);???//定義參數N1,N2,N3,N4
????? MA5:MA(C,N1);
??????MA10:MA(C,N2);
????? MA20:MA(C,N3);
????? MA30:MA(C,N4);
??????A:C>MA5 AND MA5>MA10 AND MA10>MA20 AND MA20>MA30;???//均線多頭排列
????? B:C<MA5 AND MA5<MA10 AND MA10<MA20 AND MA20<MA30; ??//均線空頭排列
?
一、大周期引用小周期范例(例如策略運行周期為30分鐘,引用5分鐘周期上的指標值):
?
//交易策略策略,運行周期為30分鐘線
INPUT:N1(5,1,100,1),N2(10,1,100,1),N3(20,1,100,1),N4(30,1,100,1);???//定義參數N1,N2,N3,N4
INPUT:SS(1,1,100,1);?????????????????????????????????????//定義下單手數,默認為1手
?
MA5:MA(C,N1);??????
MA10:MA(C,N2);
MA20:MA(C,N3);
MA30:MA(C,N4);?????//定義當前周期的4根均線
?
A:C>MA5 AND MA5>MA10 AND MA10>MA20 AND MA20>MA30;? ?//定義當前周期均線多頭排列
B:C<MA5 AND MA5<MA10 AND MA10<MA20 AND MA20<MA30;???//定義當前周期均線空頭排列
?
A5:STKINDI(\'\',\'MA指標.A\',0,2,0);??????//引用5分鐘周期的均線多頭排列
B5:STKINDI(\'\',\'MA指標.B\',0,2,0);??????//引用5分鐘周期的均線空頭排列
?
CONPKKD:A AND A5;??????????????????
CONPDKK:B AND B5;?????????????????????//5分鐘和30分鐘這2個周期上的均線共振
?
IF CONPKKD THEN BEGIN?????????????????//2個周期上的均線對頭排列,則平空開多
???????? SELLSHORT(HOLDING<0,HOLDING,MARKET);
???????? BUY(HOLDING=0,SS,MARKET);
???????? END
?
IF CONPDKK THEN BEGIN????????????????//2個周期上的均線空頭排列,則平多開空
???????? SELL(HOLDING>0,HOLDING,MARKET);
???????? BUYSHORT(HOLDING=0,SS,MARKET);
???????? END
?
?
二、小周期引用大周期范例(例如策略運行周期為5分鐘,引用30分鐘周期上的指標值):
??????注意:在小周期引用大周期時,由于小周期K線結束時,大周期K線還沒有結束,如果直接引用往往會造成歷史K線上的信號發生變化,從而引起信號閃爍,所以在引用時建議往前偏移一根,保證引用的值是相對固定的。
?
?
//交易策略,運行周期為5分鐘線
INPUT:N1(5,1,100,1),N2(10,1,100,1),N3(20,1,100,1),N4(30,1,100,1);??//定義參數N1,N2,N3,N4
INPUT:SS(1,1,100,1);???? ??????????????????????????????//定義下單手數,默認為1手
?
MA5:MA(C,N1);??????
MA10:MA(C,N2);
MA20:MA(C,N3);
MA30:MA(C,N4);?????//定義當前周期的4根均線
?
A:C>MA5 AND MA5>MA10 AND MA10>MA20 AND MA20>MA30;???//定義當前周期均線多頭排列
B:C<MA5 AND MA5<MA10 AND MA10<MA20 AND MA20<MA30;???//定義當前周期均線空頭排列
?
A5:STKINDI(\'\',\'MA指標.A\',0,4,-1);??????//引用上一根30分鐘周期的均線多頭排列
B5:STKINDI(\'\',\'MA指標.B\',0,4,-1);??????//引用上一根30分鐘周期的均線空頭排列
?
CONPKKD:A AND A5;??????????????????
CONPDKK:B AND B5;??????????????????//5分鐘和30分鐘這2個周期上的均線共振
?
IF CONPKKD THEN BEGIN?????????????????//2個周期上的均線多頭排列,則平空開多
???????? SELLSHORT(HOLDING<0,HOLDING,MARKET);
???????? BUY(HOLDING=0,SS,MARKET);
???????? END
?
IF CONPDKK THEN BEGIN????????????? ??//2個周期上的均線空頭排列,則平多開空
???????? SELL(HOLDING>0,HOLDING,MARKET);
???????? BUYSHORT(HOLDING=0,SS,MARKET);
???????? END
?
{別忘了將本網告訴您身邊的朋友,向朋友傳達有用資料,也是一種人情,你朋友會感謝你的。}
?