mql4语言的特点、微妙之处以及技巧 - 页 22

 

对交易历史进行排序的结果取决于以前的排序。


例如,在这个动画中,你可以看到按收盘价排序的方法是不同的。


 
fxsaber:

对交易历史进行排序的结果取决于以前的排序。


例如,在这个动画中,你可以看到按收盘价排序的方法是不同的。


试着在Excell中做同样的事,你会得到同样的结果。在排序过程中,如果数值相等,之前高的那一行...

 
 
从原理上讲,紧急平仓的 做法是这样的
const double ClosePrice = OrderType() ? MathMin(OrderClosePrice(), Bid + MaxSpread * _Point) 
                                      : MathMax(OrderClosePrice(), Ask - MaxSpread * _Point);
    
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), ClosePrice, 0); // StopLoss оставлен для истории
当然,是在循环中。你有什么其他选择吗?
 
fxsaber:
在计划上,我是这样做紧急平仓 的 当然,是在循环中。你有其他的变体吗?

你为什么不使用OrderClose()?

而关于 "异国风情",你的例子是否可行?- 那里的冰冻程度可能很高。

 
Igor Makanu:

你为什么不使用OrderClose()?

因为你需要有利可图地关闭。下面是一个关闭SL买入头寸的真实案例。

你可以看到,收盘价 比最小的买入价差很多。滑点为-2408点。

因此,没有必要通过SL(相当于市场)来关闭。例如,在一个低流动性的交易所,这是一种受虐行为。

但在 "异国符号 "上,你的例子能行吗?- 那里的冰冻程度可能很大。

最好不要在厨房进行交易。

 
fxsaber:

因为你必须有利可图地关闭。

最好不要在厨房进行交易。

最好是让这些代码在任何地方都能发挥作用。

 
Artyom Trishkin:

最好是让代码在任何地方都能发挥作用。

 

fxsaber:

关于交易、自动交易系统和交易策略测试的论坛

mql4语言的特点、微妙之处以及技巧

关闭一个职位 的计划如下

const double ClosePrice = OrderType() ? MathMin(OrderClosePrice(), Bid + MaxSpread * _Point) 
                                      : MathMax(OrderClosePrice(), Ask - MaxSpread * _Point);
    
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), ClosePrice, 0); // StopLoss оставлен для истории
当然,是在循环中。你有什么其他选择吗?

老实说,我不太理解平仓方案(有一段时间没有研究过了)--你是否移动TakeProfit,以便在它上面发生平仓?

 
Artyom Trishkin:

好吧,说实话,我不太理解平仓方案(我已经很久没有看这四种方案了)--你是否移动TakeProfit,这样它就可以用来平仓?

是的,当然,这样的计划在五岁的孩子身上是行不通的。你应该在那里设置一个限价订单,然后关闭它。

原因: