创意作者 — Maksim Zerkalov,mq5 代码作者 — barabashkakvn。
在每一个新的 K 线开启时,交易系统会分析前四根 K 线的数值:
if(iHigh(1)>iHigh(2) && iHigh(2)>iHigh(3) &&
iHigh(3)>iHigh(4) && iOpen(1)>iOpen(2) &&
iOpen(2)>iOpen(3) && iOpen(3)>iOpen(4))
BuyOp=true;
if(iHigh(1)<iHigh(2) && iHigh(2)<iHigh(3) &&
iHigh(3)<iHigh(4) && iOpen(1)<iOpen(2) &&
iOpen(2)<iOpen(3) && iOpen(3)<iOpen(4))
SellOp=true;
iHigh(3)>iHigh(4) && iOpen(1)>iOpen(2) &&
iOpen(2)>iOpen(3) && iOpen(3)>iOpen(4))
BuyOp=true;
if(iHigh(1)<iHigh(2) && iHigh(2)<iHigh(3) &&
iHigh(3)<iHigh(4) && iOpen(1)<iOpen(2) &&
iOpen(2)<iOpen(3) && iOpen(3)<iOpen(4))
SellOp=true;
当我们有一个开仓时,系统会在 TrailingStairs 方法中检查 "HalfLots" 变量的值:
void TrailingStairs(ulong m_ticket,ushort trldistance)
换句话说,系统会检查是否可以部分平掉一个盈利的仓位。如果 "HalfLots==true",那么该仓位会被部分平仓:
m_trade_partial.PositionClose(m_position.Ticket(),-1,half_volume);
评论 0