等级: 免费版
- 注册:
- 2022-4-2
- 曾用名:
|
楼主 |
发表于 2024-5-24 21:43
|
显示全部楼层
经过长时间跟踪,条件不满足概率不大;主要还是运算效率太低,我目前是多策略后台一秒K线走完;多策略汇总代码如下
aah:stkindiex('','阴阳鱼3.cc',0,17,-1,5000); //引用3分钟周期上的策略a的仓位。
bbh:stkindiex('','阴阳鱼5.cc’,0,2,-1,5000); //引用5分钟周期上的策略b的仓位。
涨跌停:stkindiex('','涨跌停.涨跌停',0,1,0,560); //引用1分钟周期上的策略a的仓位。
涨停价:dynainfo(54);
跌停价:dynainfo(55);
涨跌停1:h>=涨停价*0.998 or l<=跌停价*1.002;
aah1:=ifelse(涨跌停 or 涨跌停1,0,aah);
bbh1:=ifelse(涨跌停 or 涨跌停1,0,bbh);
日内策略:aah1+bbh1;
//***********************************************//其他策略持仓引用//***********************************************
//if inblock('多策略') then
//BEGIN
ah:=stkindiex('','短箭.cc',0,17,0,9500); //引用3分钟周期上的策略a的仓位。
bh:=stkindiex('','震荡.cc',0,3,0,5000); //引用15分钟周期上的策略b的仓位。
ch:=stkindiex('','长箭.cc',0,18,0,7300); //引用10分钟周期上的策略b的仓位。
dh:=stkindiex('','中箭.cc',0,2,0,9000);//引用5分钟周期上的策略b的仓位。
fh:=stkindiex('','短箭1m.cc',0,1,0,65000); //引用1分钟周期上的策略a的仓位。
//end
//if INBLOCK('长线') then
//BEGIN
eh:=stkindiex('','sar15mzs.cc(15,15,10)',0,3,0,6000); //引用15分钟周期上的策略a的仓位。
//end
短箭:ifelse(ah=ah,ah,0);
震荡:ifelse(bh=bh,bh,0);
长箭:ifelse(ch=ch,ch,0);
中箭:ifelse(dh=dh,dh,0);
短箭x:ifelse(fh=fh,fh,0);
长线:ifelse(eh=eh,eh,0);
fillcond:not(SPLITDATA(0)=1 and MINUTE<3) and not(涨跌停1);
////***********************************************//陶老师仓位计算//***********************************************
多策略:ref(ifelse(INBLOCK('大品种'),短箭+震荡+中箭+短箭x,短箭+震荡+中箭+短箭x+长箭),1);
理论持仓:日内策略+多策略+长线,COLORYELLOW;
zh:='176128';
////***********************************************//交易信号画图//***********************************************
drawicon(理论持仓>ref(理论持仓,1),h,1);
drawicon(理论持仓<ref(理论持仓,1),l,2);
//可用买持:tbuyholdingex(zh,'',1);
//可用卖持:tsellholdingex(zh,'',1);
//平空未成交:tsellholdingex(zh,'',3);
//平多未成交:tbuyholdingex(zh,'',3);
多总仓:tbuyholdingex(zh,'',2);
空总仓:tsellholdingex(zh,'',2);
开多未成交:TREMAINQTY(1,zh,stklabel); //未成交开多单
开空未成交:TREMAINQTY(3,zh,stklabel); //未成交开空单
账户总仓:多总仓-空总仓+开多未成交-开空未成交;
////交易模块//***********************************************
//理论持仓与实际持仓的判断
仓差陶:理论持仓-账户总仓;
if fillcond then BEGIN
if 仓差陶>0 and 账户总仓>=0 then
tbuy(1,仓差陶,mkt,0,0,zh);
if 仓差陶>0 and 账户总仓<0 then begin
tsellshort(理论持仓<0,仓差陶,mkt,0,0,zh);
if 理论持仓>=0 then begin
tsellshort(1,账户总仓,mkt,0,0,zh);
tbuy(理论持仓>0,理论持仓,mkt,0,0,zh);
end
end
if 仓差陶<0 and 账户总仓<=0 then
tbuyshort(1,abs(仓差陶),mkt,0,0,zh);
if 仓差陶<0 and 账户总仓>0 then begin
tsell(理论持仓>0,abs(仓差陶),mkt,0,0,zh);
if 理论持仓<=0 then begin
tsell(1,账户总仓,mkt,0,0,zh);
tbuyshort(理论持仓<0,abs(理论持仓),mkt,0,0,zh);
end
end
end
//***********************************************//曾账户仓位计算//***********************************************
理论持仓zy:日内策略;
zhzy:='18368048526';
多单总持仓zy:tbuyholdingex(zhzy,'',2);
空单总持仓zy:tsellholdingex(zhzy,'',2);
开多未成交zy:TREMAINQTY(1,zhzy,stklabel); //未成交开多单
开空未成交zy:TREMAINQTY(3,zhzy,stklabel); //未成交开空单
账户总仓zy:多单总持仓zy-空单总持仓zy+开多未成交zy-开空未成交zy;
仓差曾:理论持仓zy-账户总仓zy;
////***********************************************//交易模块//
if fillcond then BEGIN
if 仓差曾>0 and 账户总仓zy>=0 then
tbuy(1,仓差曾,mkt,0,0,zhzy);
if 仓差曾>0 and 账户总仓zy<0 then begin
tsellshort(理论持仓zy<0,仓差曾,mkt,0,0,zhzy);
if 理论持仓zy>=0 then begin
tsellshort(1,账户总仓zy,mkt,0,0,zhzy);
tbuy(理论持仓zy>0,理论持仓zy,mkt,0,0,zhzy);
end
end
if 仓差曾<0 and 账户总仓zy<=0 then
tbuyshort(1,abs(仓差曾),mkt,0,0,zhzy);
if 仓差曾<0 and 账户总仓zy>0 then begin
tsell(理论持仓zy>0,abs(仓差曾),mkt,0,0,zhzy);
if 理论持仓zy<=0 then begin
tsell(1,账户总仓zy,mkt,0,0,zhzy);
tbuyshort(理论持仓zy<0,abs(理论持仓zy),mkt,0,0,zhzy);
end
end
end
|
-
|