Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:金字塔能不能把3个模型股指的多、空持仓相抵后再下单

1楼
tsycd 发表于:2015/2/10 14:20:46
老师好

国内期货交易中,比如股指,我用3个模型同时在一个框架下跟踪主力合约,金字塔能不能把3个模型股指的多、空持仓相抵后再下单,而不是分别多空互持?

谢谢
2楼
百湛必胜客 发表于:2015/2/10 14:28:11
这个我有办法,我做过同类的策略
3楼
FexTel 发表于:2015/2/10 14:37:11

同一品种和周期?那你直接使用STKINDI引用2个策略的HOLDING ,然后想减实现下单呗

4楼
tsycd 发表于:2015/2/10 14:54:19
同一品种,但是不同周期

具体程序怎么写?

谢谢
5楼
百湛必胜客 发表于:2015/2/10 15:01:25
检查各策略,如果之前持有反向仓,则当前策略要开另一个方向仓,则当做平反向仓的指令发出,如果之前没有或者有同向单子,则不予理会照开
6楼
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编辑过]
7楼
tsycd 发表于:2015/2/10 16:13:52
非常感谢!

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.07813 s, 2 queries.