注文プロパティ

取引操作の実行リクエストは、注文として定式化されます。各注文は、読み込みのための様々なプロパティを持っています。それらの情報は OrderGet...() 及び HistoryOrderGet...() 関数で得られます。

OrderGetInteger() 及び HistoryOrderGetInteger() 関数

ENUM_ORDER_PROPERTY_INTEGER

識別子

説明

Type

ORDER_TICKET

注文チケット。各注文に割り当てられる固有番号。

long

ORDER_TIME_SETUP

注文設定時刻。

datetime

ORDER_TYPE

注文の種類。

ENUM_ORDER_TYPE

ORDER_STATE

注文状態。

ENUM_ORDER_STATE

ORDER_TIME_EXPIRATION

注文の期限。

datetime

ORDER_TIME_DONE

注文の実行及びキャンセル時刻。

datetime

ORDER_TIME_SETUP_MSC

01.01.1970 から経過したミリ秒数で表された注文の実行が出された時刻。

long

ORDER_TIME_DONE_MSC

01.01.1970 から経ったミリ秒で表された注文の実行/キャンセル時刻。

long

ORDER_TYPE_FILLING

注文充填タイプ。

ENUM_ORDER_TYPE_FILLING

ORDER_TYPE_TIME

注文ライフタイム。

ENUM_ORDER_TYPE_TIME

ORDER_MAGIC

注文を出したエキスパートアドバイザーのID(各エキスパートアドバイザーは、独自のユニークな番号を作成するように設計されています)。

long

ORDER_REASON

注文の理由またはソース。

ENUM_ORDER_REASON

ORDER_POSITION_ID

実行後すぐに注文に設定されるポジション識別。注文の実行は注文を出すか、既存のポジション変更する約定となります。このポジションの識別子がこの時点で実行される注文のために設定されています。

long

ORDER_POSITION_BY_ID

ORDER_TYPE_CLOSE_BY型の注文の為の反対ポジションの識別子。  

long

OrderGetDouble() 及び HistoryOrderGetDouble() 関数

ENUM_ORDER_PROPERTY_DOUBLE

識別子

説明

Type

ORDER_VOLUME_INITIAL

注文の初期ボリューム。

double

ORDER_VOLUME_CURRENT

注文の現在ボリューム。

double

ORDER_PRICE_OPEN

注文で指定された価格。

double

ORDER_SL

決済逆指値。

double

ORDER_TP

決済指値。

double

ORDER_PRICE_CURRENT

注文シンボルの現在の価格。

double

ORDER_PRICE_STOPLIMIT

ストップリミット注文の指値注文価格。

double

OrderGetString() 及び HistoryOrderGetString() 関数

ENUM_ORDER_PROPERTY_STRING

識別子

説明

Type

ORDER_SYMBOL

注文シンボル。

string

ORDER_COMMENT

注文コメント。

string

 

OrderSend() 関数を使用して取引リクエストを送る場合、操作によっては注文の種類の指定が必要です。注文の種類は特別な構造体 MqlTradeRequesttype フィールドに含まれ、ENUM_ORDER_TYPE 列挙の値が使用出来ます。

ENUM_ORDER_TYPE

識別子

説明

ORDER_TYPE_BUY

成行買い注文。

ORDER_TYPE_SELL

成行売り注文。

ORDER_TYPE_BUY_LIMIT

買い指値注文。

ORDER_TYPE_SELL_LIMIT

売り指値注文。

ORDER_TYPE_BUY_STOP

買い逆指値注文。

ORDER_TYPE_SELL_STOP

売り逆指値注文。

ORDER_TYPE_BUY_STOP_LIMIT

注文価格に達すると、未決の買い指値注文はストップリミット価格で出されます。

ORDER_TYPE_SELL_STOP_LIMIT

注文価格に達すると、未決の売り指値注文はストップリミット価格で出されます。

ORDER_TYPE_CLOSE_BY

ポジションを反対のポジションで決済するための注文。

 

各注文には、その状態を説明するステータスがあります。情報を取得するには ORDER_STATE 修飾子とOrderGetInteger() または HistoryOrderGetInteger() 関数を使用します。使用可能な値は ENUM_ORDER_STATE 列挙に記載されています。

ENUM_ORDER_STATE

識別子

説明

ORDER_STATE_STARTED

注文がチェック済み、ブローカによっての受け入れがまだ。

ORDER_STATE_PLACED

受付済みの注文。

ORDER_STATE_CANCELED

クライアントによってキャンセルされた注文。

ORDER_STATE_PARTIAL

実行中の注文。

ORDER_STATE_FILLED

実行済みの注文。

ORDER_STATE_REJECTED

拒絶された注文。

ORDER_STATE_EXPIRED

期限切れの注文。

ORDER_STATE_REQUEST_ADD

注文が登録中(取引システムに配置)。

ORDER_STATE_REQUEST_MODIFY

注文が更新中(パラメータの変更)。

ORDER_STATE_REQUEST_CANCEL

注文が削除中(取引システムからの削除)。

 

OrderSend() 関数を使用して取引リクエストを送る場合、充填ポリシーは特別な MqlTradeRequest 構造体の type_filling フィールドで設定できます。ENUM_ORDER_TYPE_FILLING 列挙値が使用されます。このプロパティの値を取得するには OrderGetInteger() または HistoryOrderGetInteger() 関数を ORDER_TYPE_FILLING 修飾子と使用します。

ENUM_ORDER_TYPE_FILLING

識別子

説明

ORDER_FILLING_FOK

この充填ポリシーは、注文が指定された量でのみ満たすことが出来ることを意味します。金融商品の必要量は、市場で現在利用出来ない場合、注文は実行されません。必要なボリュームは、市場で現在利用可能ないくつかのオファーを使用して満たすことが出来ます。

ORDER_FILLING_IOC

このモードは、トレーダーが注文の選択肢のうちで、市場で最大限に利用可能なボリュームの約定を実行することに同意することを意味します。注文の全てを満たすことが出来ない場合、利用可能なボリュームのみが満たされ、残りのボリュームはキャンセルされます。

ORDER_FILLING_RETURN

このポリシーは、「マーケット」または「エクスチェンジ」の記号を持った 成行注文(ORDER_TYPE_BUY 及び ORDER_TYPE_SELL)、指値注文及びストップリミット注文(ORDER_TYPE_BUY_LIMIT、ORDER_TYPE_SELL_LIMIT、ORDER_TYPE_BUY_STOP_LIMIT 及び ORDER_TYPE_SELL_STOP_LIMIT)の 実行のみに使用されます。成行注文及び指値注文を部分的に満たす場合は、残りのボリュームはキャンセルされずに更に手続きされます。

ORDER_TYPE_BUY_STOP_LIMITとORDER_TYPE_SELL_STOP_LIMIT 注文の活性化のためには、ORDER_FILLING_RETURN 実行型と対応する指値注文 ORDER_TYPE_BUY_LIMIT/ ORDER_TYPE_SELL_LIMIT が作成されます。

 

OrderSend() 関数で取引リクエストを送る際に注文の有効期間は特別な構造体 MqlTradeRequesttype_time フィールドで設定できます。ENUM_ORDER_TYPE_TIME 列挙値が使用されます。このプロパティの値を取得するには OrderGetInteger() または HistoryOrderGetInteger() 関数を ORDER_TYPE_TIME 修飾子と使用します。

ENUM_ORDER_TYPE_TIME

識別子

説明

ORDER_TIME_GTC

GTC注文(キャンセルするまで有効)。

ORDER_TIME_DAY

現在の取引日のみ有効である注文。

ORDER_TIME_SPECIFIED

有効期限まで有効な注文。

ORDER_TIME_SPECIFIED_DAY

注文が指定された日の 23:59:59 まで有効となります。この時刻が取引セッション外である場合は、注文は最も近い取引時間中に満了します。

 

ORDER_REASONプロパティには注文を出した理由が含まれます。注文は、MQL5プログラムやモバイルアプリケーションから出されたりストップアウトなどの結果として出されたりします。ORDER_REASONの可能な値は、ENUM_ORDER_REASON列挙体に記述されています。

ENUM_ORDER_REASON

識別子

説明

ORDER_REASON_CLIENT

注文はデスクトップターミナルから出された

ORDER_REASON_MOBILE

注文はモバイルアプリケーションから出された

ORDER_REASON_WEB

注文はwebプラットフォームから出された

ORDER_REASON_EXPERT

注文はMQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された

ORDER_REASON_SL

注文はストップロスのアクティブ化の結果として出された

ORDER_REASON_TP

注文はテイクプロフィットのアクティブ化の結果として出された

ORDER_REASON_SO

注文はストップアウトイベントの結果として出された