【MQL4】指定したタイプのポジションを全決済する

trade_mql4 MQL4

ロング or ショートを指定して、指定したポジションをすべて決済します。

コード中の magic_number にはEAを動かすためのマジックナンバーを入れてください。
Yellow も好きな色に変更しても構いません。
決済が行われた際、チャート上に表示されるサインの色になります。


// 指定したタイプのポジションを全決済する
// direction -> 0:Long, 1:Short
void closePosAll(int direction) {
  // 決済するたびにindexが変わるのでindexは減らす必要がある
  for (int i = OrdersTotal() - 1; i >= 0; i--) {
    int OS = OrderSelect(i, SELECT_BY_POS);
    if (OrderSymbol() == Symbol()
      && OrderMagicNumber() == magic_number
      && OrderType() == direction) {
      int oc = OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 0, Yellow);
    }
  }
}

コメント