if time<150000 then begin
if (val1>0 or val2>0)then begin
tbuy((tbuyholding(0)=0 and THOLDING2=0),手数,MKT),SLITHERMETHOD;
extgbdataset('kaiduo',tenterprice);
tbuyshort((tsellholding(0)=0 and THOLDING2=0),手数,MKT),SLITHERMETHOD;
extgbdataset('kaikong',tenterprice);
end
end
if DYNAINFO(7)=(extgbdata('kaikong')+1) and TSELLHOLDING(0)>0 and barpos>EXTGBDATA( 'bar') then
begin
tsellshort(1,1,lmt,extgbdata('kaikong')+1),SLITHERMETHOD;
EXTGBDATASET('flag',1);
EXTGBDATASET( 'bar',BARPOS);
end
if EXTGBDATA('flag')=1 and TSELLHOLDING(0)>0 and DYNAINFO(7)=TORDERPRICE(4,1)+2 and barpos>EXTGBDATA( 'bar') THEN
tsellshort(1,1,lmt,TORDERPRICE(4,1)+2),SLITHERMETHOD;
EXTGBDATASET( 'bar',BARPOS);
不平仓,也没有预警出现?
1,那就是平仓条件一直满足不了
DYNAINFO(7)=(extgbdata('kaikong')+1),输出下这个值做监控
tbuyshort((tsellholding(0)=0 and THOLDING2=0),手数,MKT),SLITHERMETHOD;
extgbdataset('kaikong',tenterprice);
extgbdataset('kaikong',tenterprice);这个开空的价格,与实际不符。
我本意是取本次开仓价格
TENTERPRICE 只有成交后才返回值
TORDERPRICE(D,N) 直接用这个函数看看
1,在代码里增加一行
a:DYNAINFO(7)=(extgbdata('kaikong')+1);
DEBUGFIEL或者DEBUGOUT输出A的值,并且把EXTGBDATA('KAIKONG')也输出开下,是不是赋值正常
if EXTGBDATA('flag')=1 and TSELLHOLDING(0)>0 and DYNAINFO(7)=TORDERPRICE(4,1)+2*q and barpos>EXTGBDATA( 'bar') THEN
tsellshort(1,1,lmt,TORDERPRICE(4,1)+2*q),SLITHERMETHOD;
EXTGBDATASET( 'bar',BARPOS);
1可以里了,
这行没有反应