以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  阳线开多,阴线开空,止损3%,止盈10%,这样表达有问题吗?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=165596)

--  作者:陈志海11
--  发布时间:2018/9/19 17:03:22
--  阳线开多,阴线开空,止损3%,止盈10%,这样表达有问题吗?
IF CLOSE>OPEN AND HOLDING=0 THEN BEGIN
  BUY(1,20%,MARKET);
  DRAWTEXT(1 ,LOW ,"开多");
 END
IF (AVGENTERPRICE-CLOSE)/AVGENTERPRICE>=3% OR (CLOSE-AVGENTERPRICE)/CLOSE>=10% THEN BEGIN
  SELL(1,HOLDING,MARKET);
   DRAWTEXT(1 ,LOW ,"平多");
END
IF CLOSE<OPEN AND HOLDING=0 THEN BEGIN
  BUYSHORT(1,20%,MARKET);
  DRAWTEXT(1 ,LOW ,"开空");
END 
IF ((CLOSE-AVGENTERPRICE)/CLOSE)>=3% OR ((AVGENTERPRICE-CLOSE))/AVGENTERPRICE)>=10% THEN BEGIN
  SELLSHORT(1,HOLDING=0,MARKET);
  DRAWTEXT(1 ,LOW ,"平空");

--  作者:wenarm
--  发布时间:2018/9/19 17:06:44
--  

1.语法中不支持3%这种表发方式,你要换成0.03.

buy函数内的第二个参数支持百分比形式表达。

 


--  作者:FireScript
--  发布时间:2018/9/19 17:12:26
--  
 
IF CLOSE>OPEN AND HOLDING=0 THEN BEGIN
  BUY(1,20%,MARKET);
  DRAWTEXT(1 ,LOW ,"开多");
 END
IF (AVGENTERPRICE-CLOSE)/AVGENTERPRICE>=0.03 OR (CLOSE-AVGENTERPRICE)/CLOSE>=0.1 and Holding>0 THEN BEGIN
  SELL(1,HOLDING,MARKET);
   DRAWTEXT(1 ,LOW ,"平多");
END
IF CLOSE<OPEN AND HOLDING=0 THEN BEGIN
  BUYSHORT(1,20%,MARKET);
  DRAWTEXT(1 ,LOW ,"开空");
END
IF (CLOSE-AVGENTERPRICE)/CLOSE>=0.03 OR (AVGENTERPRICE-CLOSE)/AVGENTERPRICE>=0.1 and holding<0 THEN BEGIN
  SELLSHORT(1,HOLDING=0,MARKET);
  DRAWTEXT(1 ,LOW ,"平空");
  END

括号不对齐,还少了个END补齐就可以了。