以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 金字塔能不能把3个模型股指的多、空持仓相抵后再下单 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=75536) |
-- 作者:tsycd -- 发布时间:2015/2/10 14:20:46 -- 金字塔能不能把3个模型股指的多、空持仓相抵后再下单 老师好 国内期货交易中,比如股指,我用3个模型同时在一个框架下跟踪主力合约,金字塔能不能把3个模型股指的多、空持仓相抵后再下单,而不是分别多空互持? 谢谢
|
-- 作者:百湛必胜客 -- 发布时间:2015/2/10 14:28:11 -- 这个我有办法,我做过同类的策略 |
-- 作者:FexTel -- 发布时间:2015/2/10 14:37:11 -- 同一品种和周期?那你直接使用STKINDI引用2个策略的HOLDING ,然后想减实现下单呗 |
-- 作者:tsycd -- 发布时间:2015/2/10 14:54:19 -- 同一品种,但是不同周期 具体程序怎么写? 谢谢
|
-- 作者:百湛必胜客 -- 发布时间:2015/2/10 15:01:25 -- 检查各策略,如果之前持有反向仓,则当前策略要开另一个方向仓,则当做平反向仓的指令发出,如果之前没有或者有同向单子,则不予理会照开 |
-- 作者:qwer123 -- 发布时间:2015/2/10 15:32:09 -- //股指期货自动交易程序(净单交易) //编制 //日期: r1:=barslast(date<>ref(date,1)); //******************************** rr1:=stkindiex(\'if00\',\'qq25.持仓\',0,22,65,400); rr2:=stkindiex(\'if00\',\'qq25.持仓\',0,22,80,400); rr3:=stkindiex(\'if00\',\'qq25.持仓\',0,22,85,400); rr4:=stkindiex(\'if00\',\'qq25.持仓\',0,22,90,400); rr5:=stkindiex(\'if00\',\'qq25.持仓\',0,22,115,400); rr6:=stkindiex(\'if00\',\'qq25.持仓\',0,22,125,400); rr7:=stkindiex(\'if00\',\'qq25.持仓\',0,22,185,400); r12:=rr1+rr2+rr3+rr4+rr5+rr6+rr7; //***************第一遍*************** if holding=0 and r12>0 then buy(1,r12,limitr,c); if holding=0 and r12<0 then buyshort(1,abs(r12),limitr,c); if holding>0 and r12>0 and holding>r12 then sell(1,holding-r12,limitr,c); if holding>0 and r12>0 and holding<r12 then buy(1,r12-holding,limitr,c); if holding>0 and r12<0 then begin sell(1,holding,limitr,c); buyshort(1,abs(r12),limitr,c); end if holding<0 and r12<0 and holding>r12 then buyshort(1,holding-r12,limitr,c); if holding<0 and r12<0 and holding<r12 then sellshort(1,r12-holding,limitr,c); if holding<0 and r12>0 then
begin
sellshort(1,holding,limitr,c);
buy(1,r12,limitr,c);
end if r12=0 and holding>0 then sell(holding>0,holding,limitr,c); if r12=0 and holding<0 then sellshort(holding<0,abs(holding),limitr,c); //***************第2遍*************** if holding=0 and r12>0 then buy(1,r12,limitr,c); if holding=0 and r12<0 then buyshort(1,abs(r12),limitr,c); if holding>0 and r12>0 and holding>r12 then sell(1,holding-r12,limitr,c); if holding>0 and r12>0 and holding<r12 then buy(1,r12-holding,limitr,c); if holding>0 and r12<0 then
begin
sell(1,holding,limitr,c);
buyshort(1,abs(r12),limitr,c);
end if holding<0 and r12<0 and holding>r12 then buyshort(1,holding-r12,limitr,c); if holding<0 and r12<0 and holding<r12 then sellshort(1,r12-holding,limitr,c); if holding<0 and r12>0 then
begin
sellshort(1,holding,limitr,c);
buy(1,r12,limitr,c);
end if r12=0 and holding>0 then sell(holding>0,holding,limitr,c); if r12=0 and holding<0 then sellshort(holding<0,abs(holding),limitr,c); //***************第3遍*************** if holding=0 and r12>0 then buy(1,r12,limitr,c); if holding=0 and r12<0 then buyshort(1,abs(r12),limitr,c); if holding>0 and r12>0 and holding>r12 then sell(1,holding-r12,limitr,c); if holding>0 and r12>0 and holding<r12 then buy(1,r12-holding,limitr,c); if holding>0 and r12<0 then
begin
sell(1,holding,limitr,c);
buyshort(1,abs(r12),limitr,c);
end if holding<0 and r12<0 and holding>r12 then buyshort(1,holding-r12,limitr,c); if holding<0 and r12<0 and holding<r12 then sellshort(1,r12-holding,limitr,c); if holding<0 and r12>0 then
begin
sellshort(1,holding,limitr,c);
buy(1,r12,limitr,c);
end if r12=0 and holding>0 then sell(holding>0,holding,limitr,c); if r12=0 and holding<0 then sellshort(holding<0,abs(holding),limitr,c); //******************************** 盈亏:asset-1000000,colorred,linethick1,noaxis; 日盈亏:asset-ref(asset,todaybar),noaxis,colorred,linethick0; 持仓:holding,linethick0; 注意:1.信号不要闪,否则会来回交易; 2.最好是用专业版tbuy,tsell.....; 3.如果是标准版引用了3个程序的holding,最好是执行3遍。
[此贴子已经被作者于2015/2/10 15:33:25编辑过]
|
-- 作者:tsycd -- 发布时间:2015/2/10 16:13:52 -- 非常感谢! |