老师好,请教一下啊,咱们有个模块是保三赚一的,但是里面有个问题我弄不明白,请指教一下:
VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价。赚3保1用}
IF H>HIGHPRICE THEN BEGIN //每周期判断是否创新高
HIGHPRICE:=H;
END
IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN
IF H-ENTERPRICE<=1.2 THEN BEGIN
多保:SELL(1,0,MARKET);
END
END
上面的H-ENTERPRICE里为什么要用H?我算了几遍,这个H是不是改成C比较好呢?
哦,但是这样的话,那这个执行的时候就成了下一根K线的执行了,而且还是不能创新高的。
如果在本次K线的时候就达到这个条件了,那这个执行的信号不就被过滤了吗?
或者说,只要一创新高后,那回撤就算打到1.2了,那也还是不执行啊,那不就直接去找止损了吗?
你觉得怎么做合适随你的意思改,
我是不是把你问的有点郁闷了啊,哈哈哈哈。
交易思路都是各有各的道理,我们编程最主要的是要保证信号的稳定,不论是跑走完k线还是轮询
还有你上面的那一段描述是经过实际交易过的,还是仅仅就是靠猜想的?你用上面的代码跑过交易吗?
跑过的,不瞒你说,我加上这段后,反而是亏损的,不过将H改成C了,亏损还更大。
所以我就有点不太明白了。正常来说,至少我要保证1.2个点的利润,但为什么却没有效果。
VARIABLE:HIGHPRICE=0,LOWPRICE=0; {保存开仓后的最高价、最低价。赚3保1用}
IF H>HIGHPRICE THEN BEGIN //每周期判断是否创新高
HIGHPRICE:=H;
END
IF HIGHPRICE-ENTERPRICE>=3 THEN BEGIN
IF highprice-c>=1.2 THEN BEGIN
多保:SELL(1,0,MARKET);
END
END
可以这样改,更加妥.
需要在走完k线下使用。如果希望在固定时间间隔下运行,改成highprice-l