多品种时对于变量加一个特殊的标记,比如:
extgbdataset(stklabel+'xx',1);
extgbdata(stklabel+'xx');
这样获取的是对应品种合约的全局变量,而不会互相冲突
那这样,我同时加载20个品种,得分开写20个策略了?不能用同一个策略解决?
我没有表达这个意思,我上面的办法可以用一个策略就解决,你先用我的方法试试看,然后看看结果是什么
用其他的全局变量函数可以解决吗,同一策略运行多品种,并且可以各个品种独自起到开关的作用。
哦,那我这个代码,应该如何改写?if duo and extgbdata('nn1')=0 and n=0 then begin
tbuy(1,手数,mkt);
buy(1,手数,marketr);
extgbdataset('nn1',1);
n:=1;
end
DEBUGFILE('D:\调试日志','nn1%.2f',1);
if kong and extgbdata('mm1')=0 and m=0 then begin
tbuyshort(1,手数,mkt);
buyshort(1,手数,marketr);
extgbdataset('mm1',1);
m:=1;
end
DEBUGFILE('D:\调试日志','mm1%.2f',1);
if duo and extgbdata(stklabel+'nn1')=0 and n=0 then begin
tbuy(1,手数,mkt);
buy(1,手数,marketr);
extgbdataset(stklabel+'nn1',1);
n:=1;
end
DEBUGFILE('D:\调试日志',stklabel+'nn1%.2f',1);
if kong and extgbdata(stklabel+'mm1')=0 and m=0 then begin
tbuyshort(1,手数,mkt);
buyshort(1,手数,marketr);
extgbdataset(stklabel+'mm1',1);
m:=1;
end
DEBUGFILE('D:\调试日志',stklabel+'mm1%.2f',1);
是否这样写:
if duo and extgbdata(stklabel'nn1')=0 and n=0 then begin
tbuy(1,手数,mkt);
buy(1,手数,marketr);
extgbdataset(stklabel'nn1',1);
n:=1;
end
我又看到你在后台程序里面用图表交易了,不要用,也不要把后台程序放在k线图上看新号,尤其是有全局变量的,图表上的会影响后台的计算
[此贴子已经被作者于2016/3/21 9:49:55编辑过]
哦,那么应该如何写?我是把图表策略改写成后台策略,开平仓条件要做到跟图表的信号完全一样。