等级: 免费版
- 注册:
- 2022-4-2
- 曾用名:
|

楼主 |
发表于 2024-1-10 09:33
|
显示全部楼层
代码是这样的,请问老师算是分别下单还是同时对多呀//////***********************************************//策略仓位计算//***********************************************
短箭:ifelse(ah=ah,ah,0);
震荡:ifelse(bh=bh,bh,0);
长箭:ifelse(ch=ch,ch,0);
中箭:ifelse(dh=dh,dh,0);
长线:ifelse(eh=eh,eh,0);
短箭x:ifelse(fh=fh,fh,0);
//-------------------------------------------------------账户1
多策略:(短箭+震荡+长箭+中箭+长线+短箭x);
sig_pirce:=valuewhen(多策略<>ref(多策略,1),oclose);
zh1多策略:round((多策略*m1*10000/(sig_pirce*multiplier)));
zh1理论持仓:zh1多策略+日内策略*3,coloryellow;
if inblock('最低手限制') and abs(zh1理论持仓)<6 then
begin
zh1理论持仓:=0;
end
//-------------------------------------------------------账户2
if inblock('交易自选') then BEGIN
多策略2:(短箭+震荡+长箭+中箭+长线);
end
sig_pirce2:=valuewhen(多策略2<>ref(多策略2,1),oclose);
zh2多策略:round((多策略2*m2*10000/(sig_pirce2*multiplier)));
zh2理论持仓:zh2多策略+日内策略,coloryellow;
if inblock('最低手限制') and abs(zh2理论持仓)<6 then
begin
zh2理论持仓:=0;
end
//-------------------------------------------------------账户3
zh3理论持仓:日内策略,coloryellow;
if inblock('最低手限制') and abs(zh3理论持仓)<6 then
begin
zh3理论持仓:=0;
end
////***********************************************//真实账户仓位计算//***********************************************
zh_1:='176128';////--------------------------------------------------------------------账户1下单
可用买持1:tbuyholdingex(zh_1,'',1);
可用卖持1:tsellholdingex(zh_1,'',1);
多单总持仓1:tbuyholdingex(zh_1,'',2);
空单总持仓1:tsellholdingex(zh_1,'',2);
平空未成交1:tsellholdingex(zh_1,'',3);
平多未成交1:tbuyholdingex(zh_1,'',3);
开多未成交1:tisremainex(1,zh_1,stklabel); //未成交开多单
开空未成交1:tisremainex(3,zh_1,stklabel); //未成交开空单
账户总仓1:多单总持仓1-空单总持仓1+开多未成交1-开空未成交1;
//理论持仓与实际持仓的判断
if zh1理论持仓-账户总仓1>0 and 账户总仓1>=0 then
tbuy(1,zh1理论持仓-账户总仓1,mkt,0,0,zh_1);
if zh1理论持仓-账户总仓1>0 and 账户总仓1<0 then begin
tsellshort(zh1理论持仓<0,zh1理论持仓-账户总仓1,mkt,0,0,zh_1);
if zh1理论持仓>=0 then begin
tsellshort(1,账户总仓1,mkt,0,0,zh_1);
tbuy(zh1理论持仓>0,zh1理论持仓,mkt,0,0,zh_1);
end
end
if zh1理论持仓-账户总仓1<0 and 账户总仓1<=0 then
tbuyshort(1,abs(zh1理论持仓-账户总仓1),mkt,0,0,zh_1);
if zh1理论持仓-账户总仓1<0 and 账户总仓1>0 then begin
tsell(zh1理论持仓>0,abs(zh1理论持仓-账户总仓1),mkt,0,0,zh_1);
if zh1理论持仓<=0 then begin
tsell(1,账户总仓1,mkt,0,0,zh_1);
tbuyshort(zh1理论持仓<0,abs(zh1理论持仓),mkt,0,0,zh_1);
end
end
zh_2:='19521578243';////--------------------------------------------------------------------账户2下单
可用买持2:tbuyholdingex(zh_2,'',1);
可用卖持2:tsellholdingex(zh_2,'',1);
多单总持仓2:tbuyholdingex(zh_2,'',2);
空单总持仓2:tsellholdingex(zh_2,'',2);
平空未成交2:tsellholdingex(zh_2,'',3);
平多未成交2:tbuyholdingex(zh_2,'',3);
开多未成交2:tisremainex(1,zh_2,stklabel); //未成交开多单
开空未成交2:tisremainex(3,zh_2,stklabel); //未成交开空单
账户总仓2:多单总持仓2-空单总持仓2+开多未成交2-开空未成交2;
//理论持仓与实际持仓的判断
if zh2理论持仓-账户总仓2>0 and 账户总仓2>=0 then
tbuy(1,zh2理论持仓-账户总仓2,mkt,0,0,zh_2);
if zh2理论持仓-账户总仓2>0 and 账户总仓2<0 then begin
tsellshort(zh2理论持仓<0,zh2理论持仓-账户总仓2,mkt,0,0,zh_2);
if zh2理论持仓>=0 then begin
tsellshort(1,账户总仓2,mkt,0,0,zh_2);
tbuy(zh2理论持仓>0,zh2理论持仓,mkt,0,0,zh_2);
end
end
if zh2理论持仓-账户总仓2<0 and 账户总仓2<=0 then
tbuyshort(1,abs(zh2理论持仓-账户总仓2),mkt,0,0,zh_2);
if zh2理论持仓-账户总仓2<0 and 账户总仓2>0 then begin
tsell(zh2理论持仓>0,abs(zh2理论持仓-账户总仓2),mkt,0,0,zh_2);
if zh2理论持仓<=0 then begin
tsell(1,账户总仓2,mkt,0,0,zh_2);
tbuyshort(zh2理论持仓<0,abs(zh2理论持仓),mkt,0,0,zh_2);
end
end
zh_3:='18368048526';////--------------------------------------------------------------------账户3下单
可用买持3:tbuyholdingex(zh_3,'',1);
可用卖持3:tsellholdingex(zh_3,'',1);
多单总持仓3:tbuyholdingex(zh_3,'',2);
空单总持仓3:tsellholdingex(zh_3,'',2);
平空未成交3:tsellholdingex(zh_3,'',3);
平多未成交3:tbuyholdingex(zh_3,'',3);
开多未成交3:tisremainex(1,zh_3,stklabel); //未成交开多单
开空未成交3:tisremainex(3,zh_3,stklabel); //未成交开空单
账户总仓3:多单总持仓3-空单总持仓3+开多未成交3-开空未成交3;
//理论持仓与实际持仓的判断
if zh3理论持仓-账户总仓3>0 and 账户总仓3>=0 then
tbuy(1,zh3理论持仓-账户总仓3,mkt,0,0,zh_3);
if zh3理论持仓-账户总仓3>0 and 账户总仓3<0 then begin
tsellshort(zh3理论持仓<0,zh3理论持仓-账户总仓3,mkt,0,0,zh_3);
if zh3理论持仓>=0 then begin
tsellshort(1,账户总仓3,mkt,0,0,zh_3);
tbuy(zh3理论持仓>0,zh3理论持仓,mkt,0,0,zh_3);
end
end
if zh3理论持仓-账户总仓3<0 and 账户总仓3<=0 then
tbuyshort(1,abs(zh3理论持仓-账户总仓3),mkt,0,0,zh_3);
if zh3理论持仓-账户总仓3<0 and 账户总仓3>0 then begin
tsell(zh3理论持仓>0,abs(zh3理论持仓-账户总仓3),mkt,0,0,zh_3);
if zh3理论持仓<=0 then begin
tsell(1,账户总仓3,mkt,0,0,zh_3);
tbuyshort(zh3理论持仓<0,abs(zh3理论持仓),mkt,0,0,zh_3);
end
end |
|