试试,全局变量记录下,一有开仓,全局变量赋值,平仓后才恢复原值,允许再开仓
重复开平仓说明你对软件运行机制不是很理解~
用外生全局变量就行了
恩,后台预警策略是读取图表信号来交易的,如下:
FlagDuo:if(IfFlag_1>=0,IfFlag_1,0)+if(IfFlag_2>=0,IfFlag_2,0)+if(IfFlag_3>=0,IfFlag_3,0)+if(IfFlag_4>=0,IfFlag_4,0)+if(IfFlag_5>=0,IfFlag_5,0)+if(IfFlag_6>=0,IfFlag_6,0),linethick0;
FlagKong:if(IfFlag_1<0,Abs(IfFlag_1),0)+if(IfFlag_2<0,Abs(IfFlag_2),0)+if(IfFlag_3<0,Abs(IfFlag_3),0)+if(IfFlag_4<0,Abs(IfFlag_4),0)+if(IfFlag_5<0,Abs(IfFlag_5),0)+if(IfFlag_6<0,Abs(IfFlag_6),0),linethick0;
NetCc:=if(FlagDuo-FlagKong>0,ceiling(FlagDuo-FlagKong),floor(FlagDuo-FlagKong)),linethick0;
那把FlagDuo、FlagKong、NetCc都改为全局变量试试吗?谢谢!
全局变量记录下,一有开仓,全局变量赋值,平仓后才恢复原值,允许再开仓
num:='num';// 全局变量,控制开仓次数
....
if 开仓条件 and EXTGBDATA('num')=0 then
begin
Tbuy(1, 1, mkt);
EXTGBDATASET('num',1);//一有开仓,全局变量赋值为1
end
.....
if 平仓条件 then
begin
Tsell(Tholding > 0, 1, mkt);
EXTGBDATASET('num',0);//平仓,全局变量赋值为0
end
问题是未成交怎么办?未成交委托又检测不出,单断线重复下单还问题不大!