以文本方式查看主题

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

--  作者:yzg512999
--  发布时间:2020/12/18 15:52:28
--  代码编写问题
IF C<MA(C,10)  THEN SELL(HOLDING>0,HOLDING,MARKET);//多仓返回正数



为了减少错误的平仓次数,我把以上改为

IF C<MA(C,10) *0.99  THEN SELL(HOLDING>0,HOLDING,MARKET);//多仓返回正数

请问这样编写没错吧

--  作者:FireScript
--  发布时间:2020/12/18 17:33:25
--  
 “为了减少错误的平仓次数” 这个要看你这里说的错误平仓是怎样的情况了。

--  作者:yzg512999
--  发布时间:2020/12/21 12:00:39
--  
因为单纯只是小于 C<MA(C,10) ,这样平仓信号会很频繁,会出现可能刚小于MA(C,10) ,后来又大于MA(C,10) 了。


所以给它留一些空间:
IF C<MA(C,10) *0.99  THEN SELL(HOLDING>0,HOLDING,MARKET);//多仓返回正数





--  作者:FireScript
--  发布时间:2020/12/21 13:05:12
--  
 按照这样的思路的话,这样写也是可以的。能一定程度上降低信号波动的频率。


--  作者:yzg512999
--  发布时间:2020/12/21 13:46:57
--  
如果以下这样写,也正确吗?
IF C<MA(C,10) *99%  THEN SELL(HOLDING>0,HOLDING,MARKET);//多仓返回正数

--  作者:FireScript
--  发布时间:2020/12/21 13:48:17
--  
 这样不行。系统无法识别这种写法。你编译时候也会报错的啊。