以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  程序用limitr之后,只开多单,根本不平仓,也不开空单  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=158442)

--  作者:czh79
--  发布时间:2017/10/9 12:48:08
--  程序用limitr之后,只开多单,根本不平仓,也不开空单
我的程序定义了个上下线,突破上线,按照指定价做多,突破下线按照指定价做空。
代码如下(上下线部分略)
但是运行起来以后,发现他只开多单,根本不平仓,也不开空单。然后就提示资金已不足,后续无法开仓。请问哪里出现了问题。
我试过,如果交易指令里,不用limitr,而是以thisclose直接成交,那么程序运行就没有问题

VARIABLE:myEnterPrice=0;
   
    IF holding!=-1 AND Low<=LowerBand
then BEGIN
IF Open<LowerBand THEN myEnterPrice=Open;
Else myEnterPrice=LowerBand;
BUYShort(1,Lots,limitr,myEnterPrice);
END
IF holding!=1 AND High>=UpperBand
then BEGIN 
IF Open>UpperBand THEN myEnterPrice=Open;
Else myEnterPrice=UpperBand;
   Buy(1,Lots,limitr,myEnterPrice);
END
IF HOLDING=-1 AND HIGH>=SELLSHORTBand 
THEN BEGIN
IF Open>SELLSHORTBand THEN myEnterPrice=open;
ELSE myEnterPrice=SELLSHORTBand;
   SELLSHORT(1,Lots,limitr,myEnterPrice);
END
IF holding=1 AND Low<=SellBand
THEN BEGIN
IF Open<SellBand THEN myEnterPrice=Open;
Else myEnterPrice=SellBand;
Sell(1,Lots,limitr,myEnterPrice);
END

--  作者:wenarm
--  发布时间:2017/10/9 12:55:00
--  
请贴完整代码,以及测试品种和周期 。并且表述你要实现的逻辑。
[此贴子已经被作者于2017/10/9 13:02:35编辑过]

--  作者:czh79
--  发布时间:2017/10/9 13:04:03
--  
螺纹连续 测15分钟

前面就是一个类似布林的上下限定义LowerBand 和 upperband,这个肯定没问题,有技术保密政策我就不帖了。
--  作者:wenarm
--  发布时间:2017/10/9 13:11:52
--  

你自己本地把变量修改好给我,否则没法调试。

还有解释清楚你代码执行的逻辑


--  作者:FireScript
--  发布时间:2017/10/9 13:13:56
--  
myEnterPrice 的赋值语句出错了,不能直接用等号。  myEnterPrice:=Open;
--  作者:czh79
--  发布时间:2017/10/9 13:41:30
--  
谢谢啊