以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 信号闪烁 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=157141) |
-- 作者:2017gogogoo -- 发布时间:2017/8/22 15:08:06 -- 信号闪烁 情况下面一段平仓语句,如果必须要用c,那么怎么才能使信号不闪烁呢?试了好几种方法,都没有达到效果,求版主帮忙!!!
//ATR止损 |
-- 作者:2017gogogoo -- 发布时间:2017/8/22 15:08:51 -- 对了,运行在1分钟K线上。 |
-- 作者:wenarm -- 发布时间:2017/8/22 15:09:41 -- dzsATR这个是什么条件?天锤完整的代码。 [此贴子已经被作者于2017/8/22 15:10:00编辑过]
|
-- 作者:2017gogogoo -- 发布时间:2017/8/22 15:10:57 -- 全部代码如下:
input:ss(2,1,999,1),t(0,0,400000,1),p(0,0,400000,1);
IFclose:=if(time=190000 or (time=050000 and youse) or (time=063000 and guijin) or if IFclose and abb and dynainfo(54)<>c and holding>0 then begin
if h>=hh and holding=0 and not(IFclose) then BEGIN
//日内全局变量归零处理
|
-- 作者:2017gogogoo -- 发布时间:2017/8/22 15:17:28 -- 运行在高频模式之下,按我的理解,触发了止损之后,dzsATR这个变量被赋予了空值,应该不存在闪烁的问题,但我实盘的时候确实有闪烁,不知道怎么回事? [此贴子已经被作者于2017/8/22 15:17:53编辑过]
|
-- 作者:FireScript -- 发布时间:2017/8/22 16:20:06 -- 感觉问题出在:dzsATR的赋值在几个地方都有,而这个赋值语句需要的条件可能有不确定性。你这里面变量相互关联的还挺多的。 |
-- 作者:2017gogogoo -- 发布时间:2017/8/22 18:14:05 -- 问题应该不在dzsATR上。我加一个变量判断,这样可以避免闪烁吗, 是不是就可以把信号固定下来呢?
//ATR止损 if c<dzsATR then cfstop:=1; [此贴子已经被作者于2017/8/22 18:15:19编辑过]
|
-- 作者:wenarm -- 发布时间:2017/8/23 8:58:49 -- cfstop:=0;//触发止损 全局变量?
close本身就在不停的变动,信号不好固定。你上面的方式是如果是全局变量进行记录标记的话,那在什么时候初始化为0,并且初始化为0的条件会不会因为因子的变化而闪, 你这种互锁也不能从根本上处理闪烁的问题,只能从条件入手
drawnull;不要用这种赋值,鬼知道这个值会不会影响序列变量的计算。
|
-- 作者:2017gogogoo -- 发布时间:2017/8/23 13:35:25 -- 以下是引用wenarm在2017/8/23 8:58:49的发言:
cfstop:=0;//触发止损 全局变量?
close本身就在不停的变动,信号不好固定。你上面的方式是如果是全局变量进行记录标记的话,那在什么时候初始化为0,并且初始化为0的条件会不会因为因子的变化而闪, 你这种互锁也不能从根本上处理闪烁的问题,只能从条件入手
drawnull;不要用这种赋值,鬼知道这个值会不会影响序列变量的计算。
1,我考虑用全局变量标记。2,关于drawnull函数,wenarm版主上次不是说可以这样赋值吗?而且从实盘情况来看,没有任何问题http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=156768&replyID=&skin=1 |
-- 作者:2017gogogoo -- 发布时间:2017/8/23 15:15:45 -- 版主看看我这样处理能不能解决信号闪烁问题:
定义全局变量记录开仓以来的最低价,这样可不可行?
//ATR止损 variable:minC=0; if holding>0 then minC:=(minC,c); |