![見出し画像](https://assets.st-note.com/production/uploads/images/117968983/rectangle_large_type_2_f20c90e3cf52e92c1b2f5e04bbba23c9.jpeg?width=1200)
MagicNumberを指定し、すべてのポジションをクローズする
(筆者より)
下のリンクと併用し、事前にポジションの含み損を確認して、一定以上の損が出ていたら全てのポジションをクローズするなど
↓↓↓↓↓こちら参考↓↓↓↓↓
int MagicNumber_bid = 1111; // bidマジックナンバー
int MagicNumber_ask = 1112; // askマジックナンバー
OnInit()
特になし
OnTick()
position_remove(MagicNumber_bid); //MagicNumber_bidのポジションをすべて決算
position_remove(MagicNumber_ask); //MagicNumber_askのポジションをすべて決算
position_remove(int Order_Mag_num)
//+------------------------------------------------------------------+
//|ポジション決算 |
//+------------------------------------------------------------------+
void position_remove(int Order_Mag_num)
{
//保有ポジションを一つずつチェックしていく
for(int i = PositionsTotal() - 1; i >= 0; i--)
{
//--- 注文のパラメータ
ulong position_ticket=PositionGetTicket(i); // ポジション番号
ulong magic=PositionGetInteger(POSITION_MAGIC); // ポジションのMagicNumber
//選択したポジションの通貨が一致しているかをチェック
if(PositionGetString(POSITION_SYMBOL) == _Symbol)
{
//選択したポジションのマジックナンバーが、引数と同じかどうかチェック
if(magic == Order_Mag_num)
{
mytrade.PositionClose(position_ticket,10);
}
}
}
}
MQL5コード一覧はコチラ
この記事が気に入ったらサポートをしてみませんか?