![見出し画像](https://assets.st-note.com/production/uploads/images/117884035/rectangle_large_type_2_c17f4621030647ba50ac8d3f9b9a2b92.jpeg?width=800)
MagicNumberを引数に、一番良いポジション価格を返す(チェック機能)
//<<<<<>>>>><<<<<>>>>><< マジックナンバー >><<<<<>>>>><<<<<>>>>>
input group "MagicNumber"
input int MagicNumber_bid = 1111; // bidマジックナンバー
input int MagicNumber_ask = 1112; // askマジックナンバー
OnInit()
特になし
OnTick()
Print("最良買いポジション価格 : ", advantage_position_Check(MagicNumber_bid));
Print("最良売りポジション価格 : ", advantage_position_Check(MagicNumber_ask));
advantage_position_Check(int Mag_p)
//+------------------------------------------------------------------+
//| MagicNumberを引数に、一番良いポジション価格を返却する |
//+------------------------------------------------------------------+
double advantage_position_Check(int Mag_p)
{
double best_ = 0;
for(int i = PositionsTotal() - 1; i >= 0; i--)
{
//保有ポジションを一つ選択
ulong posNumber = PositionGetTicket(i);
//選択したポジションが、実行されている通貨ペアと同じかどうかチェック
if(PositionGetInteger(POSITION_MAGIC) == Mag_p)
{
if(Mag_p == MagicNumber_bid)
{
if(best_ == 0)
best_ = PositionGetDouble(POSITION_PRICE_OPEN);
else
best_ = MathMin(best_,PositionGetDouble(POSITION_PRICE_OPEN));
}
else
if(Mag_p == MagicNumber_ask)
{
if(best_ == 0)
best_ = PositionGetDouble(POSITION_PRICE_OPEN);
else
best_ = MathMax(best_,PositionGetDouble(POSITION_PRICE_OPEN));
}
}
}
return best_;
}
MQL5コード一覧はコチラ
この記事が気に入ったらサポートをしてみませんか?