-- 作者:小布丁
-- 发布时间:2012/8/6 20:28:18
-- 能否在自定义的指数合约上加载信号进行图表交易?
以下为自定义豆粕指数合约,如何在该合约上进行图表程序化交易、后台程序化交易?
当指数收盘价上穿指数收盘价的10日均线,平空做多;
当指数收盘价下穿指数收盘价的10日均线,平多做空;
//引用当前所在K线周期豆粕所有合约的实时持仓量 MVol1:=STKINDI(\'M01\',\'CCL\',0,DATATYPE,0); MVol3:=STKINDI(\'M03\',\'CCL\',0,DATATYPE,0); MVol5:=STKINDI(\'M05\',\'CCL\',0,DATATYPE,0); MVol7:=STKINDI(\'M07\',\'CCL\',0,DATATYPE,0); MVol8:=STKINDI(\'M08\',\'CCL\',0,DATATYPE,0); MVol9:=STKINDI(\'M09\',\'CCL\',0,DATATYPE,0); MVol11:=STKINDI(\'M11\',\'CCL\',0,DATATYPE,0); MVol12:=STKINDI(\'M12\',\'CCL\',0,DATATYPE,0);
//对各合约持仓量求和,得到豆粕品种总的持仓量 MVol88:=MVol1+MVol3+MVol5+MVol7+MVol8+MVol9+MVol11+MVol12;
//计算各豆粕合约的权重 权重1:=MVol1/MVol88; 权重3:=MVol3/MVol88; 权重5:=MVol5/MVol88; 权重7:=MVol7/MVol88; 权重8:=MVol8/MVol88; 权重9:=MVol9/MVol88; 权重11:=MVol11/MVol88; 权重12:=MVol12/MVol88;
//引用当前所在K线周期各豆粕合约的收盘价 MClose1:=CALLSTOCK(\'M01\',VTCLOSE,-1); MClose3:=CALLSTOCK(\'M03\',VTCLOSE,-1); MClose5:=CALLSTOCK(\'M05\',VTCLOSE,-1); MClose7:=CALLSTOCK(\'M07\',VTCLOSE,-1); MClose8:=CALLSTOCK(\'M08\',VTCLOSE,-1); MClose9:=CALLSTOCK(\'M09\',VTCLOSE,-1); MClose11:=CALLSTOCK(\'M11\',VTCLOSE,-1); MClose12:=CALLSTOCK(\'M12\',VTCLOSE,-1);
//根据权重计算指数收盘价 MClose88:=权重1*MClose1+权重3*MClose3+权重5*MClose5+权重7*MClose7+权重8*MClose8+权重9*MClose9+权重11*MClose11+权重12*MClose12;
//引用当前所在K线周期各豆粕合约的开盘价 MOpen1:=CALLSTOCK(\'M01\',VTOPEN,-1); MOpen3:=CALLSTOCK(\'M03\',VTOPEN,-1); MOpen5:=CALLSTOCK(\'M05\',VTOPEN,-1); MOpen7:=CALLSTOCK(\'M07\',VTOPEN,-1); MOpen8:=CALLSTOCK(\'M08\',VTOPEN,-1); MOpen9:=CALLSTOCK(\'M09\',VTOPEN,-1); MOpen11:=CALLSTOCK(\'M11\',VTOPEN,-1); MOpen12:=CALLSTOCK(\'M12\',VTOPEN,-1);
//根据权重计算指数开盘价 MOpen88:=权重1*MOpen1+权重3*MOpen3+权重5*MOpen5+权重7*MOpen7+权重8*MOpen8+权重9*MOpen9+权重11*MOpen11+权重12*MOpen12;
//引用当前所在K线周期各豆粕合约的最高价 MHigh1:=CALLSTOCK(\'M01\',VTHIGH,-1); MHigh3:=CALLSTOCK(\'M03\',VTHIGH,-1); MHigh5:=CALLSTOCK(\'M05\',VTHIGH,-1); MHigh7:=CALLSTOCK(\'M07\',VTHIGH,-1); MHigh8:=CALLSTOCK(\'M08\',VTHIGH,-1); MHigh9:=CALLSTOCK(\'M09\',VTHIGH,-1); MHigh11:=CALLSTOCK(\'M11\',VTHIGH,-1); MHigh12:=CALLSTOCK(\'M12\',VTHIGH,-1);
//根据权重计算指数最高价 MHigh88:=权重1*MHigh1+权重3*MHigh3+权重5*MHigh5+权重7*MHigh7+权重8*MHigh8+权重9*MHigh9+权重11*MHigh11+权重12*MHigh12;
//引用当前所在K线周期各豆粕合约的最低价 MLow1:=CALLSTOCK(\'M01\',VTLOW,-1); MLow3:=CALLSTOCK(\'M03\',VTLOW,-1); MLow5:=CALLSTOCK(\'M05\',VTLOW,-1); MLow7:=CALLSTOCK(\'M07\',VTLOW,-1); MLow8:=CALLSTOCK(\'M08\',VTLOW,-1); MLow9:=CALLSTOCK(\'M09\',VTLOW,-1); MLow11:=CALLSTOCK(\'M11\',VTLOW,-1); MLow12:=CALLSTOCK(\'M12\',VTLOW,-1);
//根据权重计算指数最低价 MLow88:=权重1*MLow1+权重3*MLow3+权重5*MLow5+权重7*MLow7+权重8*MLow8+权重9*MLow9+权重11*MLow11+权重12*MLow11;
//整理价格
MO88:=ROUND(MOpen88);
MC88:=ROUND(MClose88);
MH88:=ROUND(MHigh);
ML88:=ROUND(MLow);
//绘制豆粕指数K线图 KLINE(MO88,MH88,ML88,MC88,1);
[此贴子已经被作者于2012-8-6 20:32:28编辑过]
|