KD2009 发表于 2020-5-3 20:27:55

添加止损止盈变成无效重复交易



哪位高手帮忙看看 是什么问题啊 。为什么按照书上的方法添加止损止盈,但是信号却根本不按照设置的止损止盈来交易,而是开仓之后马上秒平仓了。想来想去不知道是哪里出了问题。 希望得到高手指点迷津,不胜感激  拜谢

小米 发表于 2020-5-4 13:19:35

在公式中所谓的止盈条件前加上commentar将ppcj的值输出来 看看是多少?
看你的公式里yyt,以及kkj都没有赋值的,初始值就是0.那么计算出来的PPCJ也是0.
high>ppcj, open>ppcj是随时满足的,所以平仓条件也可以看做只有barssinceentry>=1这一个了。
书上的止损止盈肯定不是这样的逻辑的,建议再仔细看看。

KD2009 发表于 2020-5-4 19:37:54

小米 发表于 2020-5-4 13:19 static/image/common/back.gif
在公式中所谓的止盈条件前加上commentar将ppcj的值输出来 看看是多少?
看你的公式里yyt,以及kkj都没有赋 ...



非常感谢你的回复,的确是我忘记写了变量赋值   ,因为急于找答案 ,我漏掉了。之前在另外一个策略上加的,结果是一样的  ,我现在加上,并且后面打印出来平仓价格也是跟止盈条件是一样的,但是平仓还是开仓之后立马就平仓了,纠结中。希望能继续解答。谢谢

小米 发表于 2020-5-5 09:42:22

KD2009 发表于 2020-5-4 19:37 static/image/common/back.gif
非常感谢你的回复,的确是我忘记写了变量赋值   ,因为急于找答案 ,我漏掉了。之前在另外一个策略上加 ...

修改后这段代码的问题在于:
1,你的PPCJ是在判断条件high>=ppcj后才进行的赋值 ,也就是说在判断时仍是high>=0在满足条件 。
2,尽管有open>ppcj的判断,但是该判断条件下执行的语句仅是ppcj=open。 而sell的执行并不是在其条件下。
3,综上可知,执行sell所需要满足的条件只是marketpositon==1 ,barssinceentry>=1 以及high>0。 而这三个条件是在开盘后第二个bar就一定可以满足的。。于是会在开多后下一个bar立马平仓。
给PPCJ赋值 应该在其使用之前 ,否则这里的赋值没有什么意义。

KD2009 发表于 2020-5-5 19:48:22

小米 发表于 2020-5-5 09:42 static/image/common/back.gif
修改后这段代码的问题在于:
1,你的PPCJ是在判断条件high>=ppcj后才进行的赋值 ,也就是说在判断时仍是h ...

的确是你说的情况,变量应该放到之前,但是书本上的编写是这个顺序。现在 我把止损止盈 平仓   改成两个变量提前赋值  好像已经正常了。非常感谢
页: [1]
查看完整版本: 添加止损止盈变成无效重复交易