以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  开仓后,不平仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=66752)

--  作者:系统使用者
--  发布时间:2014/6/30 10:06:05
--  开仓后,不平仓
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);
不平仓,也没有预警出现?

--  作者:FexTel
--  发布时间:2014/6/30 10:31:47
--  

1,那就是平仓条件一直满足不了

DYNAINFO(7)=(extgbdata(\'kaikong\')+1),输出下这个值做监控


--  作者:系统使用者
--  发布时间:2014/6/30 10:46:32
--  
 tbuyshort((tsellholding(0)=0 and THOLDING2=0),手数,MKT),SLITHERMETHOD;
  extgbdataset(\'kaikong\',tenterprice);

extgbdataset(\'kaikong\',tenterprice);这个开空的价格,与实际不符。
我本意是取本次开仓价格

--  作者:FexTel
--  发布时间:2014/6/30 10:55:20
--  

TENTERPRICE 只有成交后才返回值

TORDERPRICE(D,N) 直接用这个函数看看


--  作者:系统使用者
--  发布时间:2014/6/30 11:02:51
--  
DYNAINFO(7)=(extgbdata(\'kaikong\')+1),输出下这个值做监控
没有

--  作者:系统使用者
--  发布时间:2014/6/30 11:03:22
--  
应该如何?
--  作者:FexTel
--  发布时间:2014/6/30 11:11:21
--  

1,在代码里增加一行

a:DYNAINFO(7)=(extgbdata(\'kaikong\')+1);

DEBUGFIEL或者DEBUGOUT输出A的值,并且把EXTGBDATA(\'KAIKONG\')也输出开下,是不是赋值正常


--  作者:系统使用者
--  发布时间:2014/6/30 11:17:33
--  
EXTGBDATA(\'KAIKONG\') 这个开空的价格,与实际不符。
--  作者:系统使用者
--  发布时间:2014/6/30 11:18:02
--  
 tbuyshort((tsellholding(0)=0 and THOLDING2=0),手数,MKT),SLITHERMETHOD;
  extgbdataset(\'kaikong\',tenterprice);

--  作者:系统使用者
--  发布时间:2014/6/30 11:19:40
--  
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可以里了,
这行没有反应