
MQL5 MQL5 の取引関数
PositionGetDouble()
- できること
- 選択中のポジションの価格・ロット・損益などを取得する
- 対応
- MQL5
PositionGetDouble() とは
MQL5 で、選択中のポジションの小数の情報(ロット数・建値・損切り・利確・現在価格・損益・スワップ)を取得する関数です。先に PositionGetTicket()・PositionSelect()・PositionSelectByTicket() で選択しておきます。
PositionGetDouble() の書式と引数
引数の組み合わせが違う 2 通りの書き方があります。
double PositionGetDouble(ENUM_POSITION_PROPERTY_DOUBLE property_id)
bool PositionGetDouble(
ENUM_POSITION_PROPERTY_DOUBLE property_id,
double &double_var
)| 引数 | 型 | 省略時 | 説明 |
|---|---|---|---|
property_id | ENUM_POSITION_PROPERTY_DOUBLE | 必須 | 取得する項目。POSITION_VOLUME(ロット)、POSITION_PRICE_OPEN(建値)、POSITION_SL、POSITION_TP、POSITION_PRICE_CURRENT(現在価格)、POSITION_PROFIT(損益)、POSITION_SWAP。 |
double_var | double & | 必須 | 2つ目の書き方で、値を受け取る変数。 |
戻り値
1つ目の書き方は値そのもの(失敗時は 0)。2つ目の書き方は成功したら true を返し、値は double_var に入ります。
PositionGetDouble() の使い方(コード例)
if(PositionSelect(_Symbol))
{
double lots = PositionGetDouble(POSITION_VOLUME);
double open = PositionGetDouble(POSITION_PRICE_OPEN);
double sl = PositionGetDouble(POSITION_SL);
double profit;
if(PositionGetDouble(POSITION_PROFIT, profit)) // 成功・失敗を確認する書き方
Print("lots=", lots, " open=", open, " sl=", sl, " profit=", profit);
}OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。
PositionGetDouble() の注意点
- POSITION_PROFIT にはスワップと手数料は含まれません。
MQL4 と MQL5 の違い
MQL4 の OrderLots()・OrderOpenPrice()・OrderStopLoss()・OrderTakeProfit()・OrderProfit()・OrderSwap() にあたります。
関連する関数
MQL5 の取引関数の関数一覧
- OrderCheck
- OrderCalcMargin
- OrderCalcProfit
- PositionsTotal
- PositionGetTicket
- PositionGetSymbol
- PositionSelect
- PositionSelectByTicket
- PositionGetDouble
- PositionGetInteger
- PositionGetString
- OrderGetTicket
- OrderGetDouble
- OrderGetInteger
- HistorySelect
- HistoryDealsTotal
- HistoryDealGetTicket
- HistoryDealSelect
- HistoryDealGetDouble
- HistoryDealGetInteger
- HistoryDealGetString












