選択注文の情報を取得する16個の関数

関数

取引関数

選択した注文の各情報を取得する関数

 OrderSelect関数で選択した注文(ポジション、オーダー)から各情報を取得します。
 全 16個の情報をそれぞれ個別に取得することが出来ます。

データ型と構成・戻り値

void     OrderPrint();
int      OrderTicket();
datetime OrderOpenTime();
int      OrderType();
double   OrderLots();
string   OrderSymbol();
double   OrderOpenPrice();
double   OrderStopLoss();
double   OrderTakeProfit();
datetime OrderCloseTime();
double   OrderClosePrice();
double   OrderCommission();
double   OrderSwap();
double   OrderProfit();
string   OrderComment();
int      OrderMagicNumber();
datetime OrderExpiration();
関数名データ型戻り値
OrderPrintvoid選択した注文の以下 16個の情報を次の順番で一括ログ出力。
①注文番号 ②注文時間 ③注文タイプ ④ロット数 ⑤通貨ペア名 ⑥注文価格 ⑦ストップロス価格 ⑧リミット価格 ⑨決済時間 ⑩決済価格 ⑪手数料 ⑫スワップ損益 ⑬注文損益 ⑭コメント ⑮マジックナンバー ⑯有効期限
OrderTicketint①選択した注文のチケット番号を取得。
OrderOpenTimedatetime②選択した注文の注文した時間を取得。
(TimeCurrent関数で得られるサーバー時間)
OrderTypeint③選択した注文の注文タイプ(0~5)を取得。0~5は、
0:買いポジション、1:売りポジション、2:買い指値の待機注文、3:売り指値の待機注文、4:買い逆指値の待機注文、5:売り逆指値の待機注文
を表します。
OrderLotsdouble④選択した注文のロット数を取得。
OrderSymbolstring⑤選択した注文の通貨ペア名を取得。
OrderOpenPricedouble⑥選択した注文の注文価格を取得。
OrderStopLossdouble⑦選択した注文のストップロス(指値損切)価格を取得。
OrderTakeProfitdouble⑧選択した注文のリミット(指値決済)価格を取得。
OrderCloseTimedatetime⑨選択した注文の決済した時間を取得。
OrderClosePricedouble⑩選択した注文の決済した価格を取得。
OrderCommissiondouble⑪選択した注文の手数料を取得。
OrderSwapdouble⑫選択した注文のスワップ損益を取得。
OrderProfitdouble⑬選択した注文の損益を取得。未決済の注文はその時の含み損益を取得。この損益にスワップや手数料は含みません。
OrderCommentstring⑭選択した注文のコメントを取得。
OrderMagicNumberint⑮選択した注文のマジックナンバーを取得。
OrderExpirationdatetime⑯選択した保留中注文の有効期限を取得。

引数 [0]

 引数無し。

使用例

選択した注文の 16個の情報をログへ出力

 最初に OrderSend関数を使って買い成行注文をします。そして OrderSelect関数で選択した注文について各関数を使ってそれぞれの情報をログへ出力します。

コード

// 選択した注文の16個の情報をログへ出力
#property strict
void OnInit() {

   int ticket = OrderSend(Symbol(), OP_BUY, 0.01, Ask, 30, 80, 200, "テスト出力です", 1001, 0, clrNONE);

   if(OrderSelect(ticket, SELECT_BY_TICKET) == true) {

      Print("⑯選択注文の保留有効期限    :" ,OrderExpiration());  // ⑯ 
      Print("⑮選択注文のマジックナンバー:" ,OrderMagicNumber()); // ⑮
      Print("⑭選択注文のコメント        :" ,OrderComment());     // ⑭
      Print("⑬選択注文の損益            :" ,OrderProfit());      // ⑬
      Print("⑫選択注文のスワップ        :" ,OrderSwap());        // ⑫
      Print("⑪選択注文の手数料          :" ,OrderCommission());  // ⑪
      Print("⑩選択注文の決済価格        :" ,OrderClosePrice());  // ⑩
      Print("⑨選択注文の決済時間        :" ,OrderCloseTime());   // ⑨
      Print("⑧選択注文の指値決済価格    :" ,OrderTakeProfit());  // ⑧
      Print("⑦選択注文の指値損切価格    :" ,OrderStopLoss());    // ⑦
      Print("⑥選択注文の注文価格        :" ,OrderOpenPrice());   // ⑥
      Print("⑤選択注文の通貨ペア        :" ,OrderSymbol());      // ⑤
      Print("④選択注文のロット数        :" ,OrderLots());        // ④
      Print("③選択注文の注文タイプ      :" ,OrderType());        // ③
      Print("②選択注文の注文時間        :" ,OrderOpenTime());    // ②
      Print("①選択注文の注文番号        :" ,OrderTicket());      // ①

      OrderPrint();                                                // 16個の情報を一括出力
   }
   else {
      Print("選択注文無し");
   }
}

このコードをコンパイルして実行するのに、自動売買を許可しておく必要があります。
自動売買を許可する方法はこちら、コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました