1分钟周期上,取实时价格进行判断,信号闪烁如何处理?
当前价格大于上一根K线收盘价时,就用当前价格买入,出现信号闪烁提示! if(close>close[1]) { Buy(0,close); } 在1分钟周期上如何取当前价格?是用close吗?怎样写才不会提示闪烁?
当前价格大于上一根K线收盘价时,就用当前价格买入,出现信号闪烁提示! if(close>close[1]) { Buy(0,close); } 在1分钟周期上如何取当前价格?是用close吗?怎样写才不会提示闪烁?
if(high>close[1]) { Buy(0,max(o,close[1] + minmove * pricescale)); }
回复:你这样写是可以不闪烁,但是楼主要的就是收盘价比前收高。你这样写是改了楼主原本的策略逻辑
回复:没有改变逻辑。运行结果符合要求的
回复:为何没有?楼主是buy(1,close),就是用当根K线收盘价作为交易价,您这个写法是当当根K线突破上根K线收盘价就做多吧,相当于是用上根K线收盘价close[1]作为交易价,不是一个价格。而且楼主希望的是收盘价确认高于上一根收盘价才做多,您这种写法是但凡当根K线有价格高于close[1]就做多?
回复:你理解错了,楼主的策略需求是 当前bar如果最新价超过前一根收盘价,立即以当前最新价报单 close对于历史数据是收盘价,对于盘中k线,指的最新成交价
回复:看清楚文字描述,当前价格,不是bar收盘价,两回事
回复:可是这位楼主的条件是需要close>close[1],即用当根K线收盘价确认大于close[1]作为触发条件对吧,也就是说必须当根K线走完,这个交易信号才成立对吧。如果写成high>close[1],那就是突破前收即做多,和收盘价确认高于前收做多是两回事
回复:楼主白纸黑字说的很清楚把 当前价格大于上一根K线收盘价时,就用当前价格买入 当前价格,不是收盘! 当前价格,不是收盘! 当前价格,不是收盘! 你把人家的描述都改了?哪里说了要走完?就用当前价格买入这几个字是走完的意思?这个阅读理解不对吧?
回复:那按他中文文字的意思确实是应该写成high>close[1]。我看代码的理解就是收盘价确认高于前收。不过二者回测下来结果必然是有差异的
回复:人家是写错了把错误写法发上来,求助正确写法,你把人家的错误写法当成正确写法质疑了半天。 看不懂这是什么操作
回复:那我说两种写法的计算结果不一样没有问题吧?二者逻辑本就有差异啊