以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  能否在自定义的指数合约上加载信号进行图表交易?  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=13499)

--  作者:小布丁
--  发布时间: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编辑过]

--  作者:RogarZ
--  发布时间:2012/8/6 21:21:48
--  

你这个还是指标 并不是自定义指数 怎么当成品种去处理?


--  作者:小布丁
--  发布时间:2012/8/7 0:52:05
--  
以下是引用RogarZ在2012-8-6 21:21:48的发言:

你这个还是指标 并不是自定义指数 怎么当成品种去处理?

怎么自定义按实时持仓量计算权重的豆粕指数合约?