平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;
平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;
交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;
if 平多 AND POSITION=1 then begin
tsell(1,SS,mkt);
POSITION=0;
end
if 开多 AND 交易时间 AND POSITION=0 then begin
tbuy(1,SS,mkt);
POSITION=1;
end
if 平空 AND POSITION=-1 then begin
tsellshort(1,SS,mkt);
POSITION=0;
end
if 开空 AND 交易时间 AND POSITION=0 then begin
tbuyshort(1,SS,mkt);
POSITION=-1;
end
IF NOT(交易时间) AND POSITION<>0 THEN BEGIN
TSELL(1,SS,MKT);
TSELLSHORT(1,SS,MKT);
END
之前问过客服,如果上面的代码使用在多个后台交易系统时,能否区分出该交易系统自己的持仓进行操作
客服说要使用EXTGBDATASET和EXTGBDATA函数
查找过资料后,还是不太会定义
能否帮忙举个例子简单教教怎么写呢?
extbgdataset('aa',1);
把1赋值给aa,字符型
extgbdata('aa');
取aa的值,字符型
谢谢~~~
麻烦帮我看看我这样定义对不对(环境是持有多空各10手单,且同时运行10个后台交易系统,后面是其中一个交易系统)
SS为交易手数
VARIABLE : POSITION=0 ; //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头
平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;
平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;
交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;
if 平多 AND EXTGBDATA('POSITION')=1 then begin
tsell(1,SS,mkt);
EXTGBDATASET('POSITION',0);
end
if 开多 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
tbuy(1,SS,mkt);
EXTGBDATASET('POSITION',1);
end
if 平空 AND EXTGBDATA('POSITION')=-1 then begin
tsellshort(1,SS,mkt);
EXTGBDATASET('POSITION',0);
end
if 开空 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
tbuyshort(1,SS,mkt);
EXTGBDATASET('POSITION',1);
end
IF NOT(交易时间) AND EXTGBDATA('POSITION')<>0 THEN BEGIN
TSELL(1,SS,MKT);
TSELLSHORT(1,SS,MKT);
END
谢谢
我上面这样写,交易的时候会否出错呢?
在论坛上看过资料,说最好使用虚拟仓位holding 和 tholding 一起用
如果我上面这个环境有需要两个同时用吗?
麻烦帮我看看我这样定义对不对(环境是持有多空各10手单,且同时运行10个后台交易系统,后面是其中一个交易系统)
SS为交易手数
VARIABLE : POSITION=0 ; //仓位状态
//0表示没有仓位,1表示持有多头, -1表示持有空头
平多:=L<MAH1;
开多:=H>上轨 AND H>MAN ;
平空:=H>MAL1;
开空:=L<下轨 AND H<MAN ;
交易时间:=TIME>090000 AND TIME<=151300;
开仓时间:=TIME>090000 AND TIME<=150500;
if 平多 AND EXTGBDATA('POSITION')=1 then begin
tsell(1,SS,mkt);
EXTGBDATASET('POSITION',0);
end
if 开多 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
tbuy(1,SS,mkt);
EXTGBDATASET('POSITION',1);
end
if 平空 AND EXTGBDATA('POSITION')=-1 then begin
tsellshort(1,SS,mkt);
EXTGBDATASET('POSITION',0);
end
if 开空 AND 交易时间 AND EXTGBDATA('POSITION')=0 then begin
tbuyshort(1,SS,mkt);
EXTGBDATASET('POSITION',1);
end
IF NOT(交易时间) AND EXTGBDATA('POSITION')<>0 THEN BEGIN
TSELL(1,SS,MKT);
TSELLSHORT(1,SS,MKT);
END
谢谢
持有多空各10手单,且同时运行10个不同后台交易系统 环境中
可以吗?
有人回答一下吗?