所以我设法加入了一个循环,删除了挂单,并在止损点与移动平均线同步的基础上重新应用另一个挂单。手数将根据进场到止损的点位距离来计算。不仅如此,我还设法解决了利润目标与止损距离的比率问题(extern int - 我选择1-2-3 R;R等的东西)--所以这也会移动。
因此,感谢大家在以前的帖子中对打印出我的代码和其他零碎内容的评论!
总之--我试图在价格达到2倍比率利润目标的50%时平掉一半的头寸...。我知道我需要把东西打印到日志中,我现在正在写,但谁能告诉我,我是否写错了?也许是关于 "OrderLots()/2 "的问题?
"btp" = 返回一个特定的价格。
我不认为OrderLots()/2在所有情况下都能解决问题(请原谅双关语),我很确定你需要根据MarketInfo()的MODE_LOTSTEP和MODE_MINLOT来验证你想要关闭的头寸大小。
谢谢RaptorUK--不知道我在你的链接上寻找WHOeder,但是谢谢。
是我的问题,还是在未平仓的情况下平仓的过程有点违反直觉......考虑到我想做的事情,似乎是不必要的复杂......
伙计,我想我今天已经看够了这段代码--我不明白我是如何使用MarkerInfo()与OrderClose的......这似乎不必要的复杂。
谢谢RaptorUK--不知道我在你的链接上寻找WHOeder,但是谢谢。
是我的问题,还是在未平仓的情况下平仓的过程有点违反直觉......考虑到我想做的事情,似乎是不必要的复杂......
伙计,我想我今天已经看够了这段代码--我不明白我是如何使用MarkerInfo()与OrderClose的......这似乎不必要的复杂。
我希望有一天我也能保持这样的编程水平...(以你的名义多一点耐心--只是开玩笑 :P)
谢谢WHRoeder!
啊,我明白了!谢谢RaptorUK!最后一个问题,当你说验证手数时,你是说用If语句进行比较吗?
不,我是说调整它,使其符合MODE_LOTSTEP和MODE_MINLOT ......那么它就是有效的(验证的),如果你看我发布的链接......。
mlots = MathFloor(mlots / lotstep) * lotstep;
假设mlots是0.15 mlots(MODE_MINLOT)是0.1,lotstep(MODE_LOTSTEP)是0.1,所以代码会这样做
mlots = MathFloor(0.15 / 0.1) * 0.1;
// MathFloor(0.15 / 0.1) == MathFloor( 1.5 ) gives 1 // mlots = 1 * 0.1;
所以mlots将从0.15调整到0.1,并且是有效的。
所以我设法加入了一个循环,删除了挂单,并在止损点与移动平均线同步的基础上重新应用另一个挂单。手数将根据进场到止损的点位距离来计算。不仅如此,我还设法解决了利润目标与止损距离的比率问题(extern int - 我选择1-2-3 R;R等的东西)--所以这也会移动。
因此,感谢大家在以前的帖子中对打印出我的代码和其他零碎内容的评论!不管怎样--我正试图平仓。
总之--我试图在价格达到我的2倍比率盈利目标的50%时平掉一半的头寸......。我知道我需要把东西打印到日志中,我现在正在写,但谁能告诉我,我是否写错了?也许是关于 "OrderLots()/2 "的问题?
"btp"=返回一个特定的价格。