履歴データベースプロパティ
時系列アクセスでは追加のシンボル情報取得に SeriesInfoInteger() が使用されます。必要なプロパティの識別子は、関数のパラメータとして渡されます。識別子は ENUM_SERIES_INFO_INTEGER の値のいずれかになります。
ENUM_SERIES_INFO_INTEGER
識別子 |
説明 |
Type |
SERIES_BARS_COUNT |
現在のシンボル期間のバーの数。 |
long |
SERIES_FIRSTDATE |
現在のシンボル期間の初日。 |
datetime |
SERIES_LASTBAR_DATE |
現在のシンボル期間の最終バーの開始時刻。 |
datetime |
SERIES_SERVER_FIRSTDATE |
時間軸に関係ない、サーバ上でのシンボル履歴の最初の日付。 |
datetime |
SERIES_TERMINAL_FIRSTDATE |
時間軸に関係ない、クライアント端末でのシンボル履歴の最初の日付。 |
datetime |
SERIES_SYNCHRONIZED |
現時点の銘柄/期間のデータ同期フラグ。 |
bool |
注文プロパティ
取引操作の実行リクエストは、注文として定式化されます。各注文は、読み込みのための様々なプロパティを持っています。それらの情報は 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() 関数を使用して取引リクエストを送る場合、操作によっては注文の種類の指定が必要です。注文の種類は特別な構造体 MqlTradeRequestの type フィールドに含まれ、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() 関数で取引リクエストを送る際に注文の有効期間は特別な構造体 MqlTradeRequest の type_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 |
注文はストップアウトイベントの結果として出された |
ポジションプロパティ
取引操作の実行は、注文を出すこと、ボリューム及び/または方向の変更、または解除につながります。取引操作は OrderSend() 関数で取引リクエストとして送られた注文を通して行われます。各有価証券 (シンボル)では、ポジションは 1 つだけ可能です。ポジションには PositionGet…() 関数での読み込みが可能なプロパティセットがあります。
PositionGetInteger() 関数では
ENUM_POSITION_PROPERTY_INTEGER
識別子 |
説明 |
Type |
POSITION_TICKET |
ポジションチケット。各保有ポジションに新たに割り当てられた固有の番号。通常、その結果としてポジションを保有する、注文のチケットに対応します(サーバー上で行われた操作の結果、チケットが変更された場合を除く)。例えば、ポジションの再保有によるスワップの加算です。ポジションを保有することになった注文を見つけるには、POSITION_IDENTIFIERプロパティを使用する必要があります。 POSITION_TICKET値はMqlTradeRequest::positionと一致します。 |
long |
POSITION_TIME |
注文が出された時刻。 |
datetime |
POSITION_TIME_MSC |
01.01.1970 から経ったミリ秒で表された注文が出された時刻。 |
long |
POSITION_TIME_UPDATE |
01.01.1970 から経った秒数で表されたポジション変更時刻。 |
long |
POSITION_TIME_UPDATE_MSC |
01.01.1970 から経ったミリ秒で表されたポジション変更時刻。 |
long |
POSITION_TYPE |
ポジションの種類。 |
ENUM_POSITION_TYPE |
POSITION_MAGIC |
ポジションマジックナンバー(ORDER_MAGICを参照)。 |
long |
POSITION_IDENTIFIER |
ポジション識別子は、全ての新しくオープンしたポジションに割り当てられ、ポジションのライフタイムに一貫する固有の番号です。識別子はポジションのターンオーバによって変更されません。 ネッティングモード(単一のイン/アウト取引を使用)でポジションが反転された場合、POSITION_IDENTIFIERは変更されません。 ただし、POSITION_TICKETは、その反転につながった注文のチケットに置き換えられます。 ポジション反転はヘッジモードでは提供されません。 |
long |
POSITION_REASON |
ポジションを開く理由。 |
ENUM_POSITION_REASON |
PositionGetDouble() 関数
ENUM_POSITION_PROPERTY_DOUBLE
識別子 |
説明 |
Type |
POSITION_VOLUME |
ポジションボリューム。 |
double |
POSITION_PRICE_OPEN |
ポジションの始値。 |
double |
POSITION_SL |
未決済ポジションの決済逆指レベル。 |
double |
POSITION_TP |
未決済ポジションの決済指値。 |
double |
POSITION_PRICE_CURRENT |
ポジションシンボルの現在価格。 |
double |
POSITION_SWAP |
累積スワップ。 |
double |
POSITION_PROFIT |
現在の利益。 |
double |
PositionGetString() 関数では
ENUM_POSITION_PROPERTY_STRING
識別子 |
説明 |
Type |
POSITION_SYMBOL |
ポジションのシンボル。 |
string |
POSITION_COMMENT |
ポジションコメント。 |
string |
POSITION_EXTERNAL_ID |
ポジション識別子が外部取引システム(取引所)です。 |
string |
ポジションの方向(売買)は ENUM_POSITION_TYPE 列挙から値によって定義されています。ポジションの種類を取得するには PositionGetInteger() 関数を POSITION_TYPE 修飾子と使用します。
ENUM_POSITION_TYPE
識別子 |
説明 |
POSITION_TYPE_BUY |
買い。 |
POSITION_TYPE_SELL |
売り。 |
POSITION_REASONプロパティにはポジションを開いた理由が含まれます。ポジションは、デスクトップターミナル、モバイルアプリケーション、エキスパートアドバイザーなどから出された注文のアクティブ化の結果として開かれます。POSITION_REASONの可能な値は、ENUM_POSITION_REASON列挙体に記述されています。
ENUM_POSITION_REASON
識別子 |
説明 |
POSITION_REASON_CLIENT |
ポジションは、デスクトップターミナルから出された注文のアクティブ化の結果として開かれた |
POSITION_REASON_MOBILE |
ポジションは、モバイルアプリケーションから出された注文のアクティブ化の結果として開かれた |
POSITION_REASON_WEB |
ポジションは、webプラットフォームから出された注文のアクティブ化の結果として開かれた |
POSITION_REASON_EXPERT |
ポジションは、MQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された注文のアクティブ化の結果として開かれた |
約定プロパティ
約定は取引リクエストを含む注文に基づいた取引操作の実行の事実を反映しています。 各取引は、関係した情報取得を可能にするプロパティによって記述されます。プロパティ値の読み込みには対応する列挙からの値を返す HistoryDealGet…() 型の関数が使用されます。
HistoryDealGetInteger() 関数
ENUM_DEAL_PROPERTY_INTEGER
識別子 |
説明 |
Type |
DEAL_TICKET |
取引チケット。各取引に割り当てられる固有の番号です。 |
long |
DEAL_ORDER |
約定の注文番号。 |
long |
DEAL_TIME |
約定時刻。 |
datetime |
DEAL_TIME_MSC |
01.01.1970 から経過したミリ秒数で表された 約定実行時刻。 |
long |
DEAL_TYPE |
約定の種類。 |
ENUM_DEAL_TYPE |
DEAL_ENTRY |
約定エントリー (エントリーイン、エントリーアウト、リバース)。 |
ENUM_DEAL_ENTRY |
DEAL_MAGIC |
約定マジックナンバー(ORDER_MAGIC を参照)。 |
long |
DEAL_REASON |
約定実行のソースまたは理由。 |
ENUM_DEAL_REASON |
DEAL_POSITION_ID |
約定の開始、変更や変化が起きたポジションのポジション識別子。ポジションは、ライフタイムを通して、シンボルに実行された全ての約定に割り当てられている固有の識別子を持ちます。 |
long |
HistoryDealGetDouble()関数には
ENUM_DEAL_PROPERTY_DOUBLE
識別子 |
説明 |
Type |
DEAL_VOLUME |
約定量。 |
double |
DEAL_PRICE |
約定値。 |
double |
DEAL_COMMISSION |
約定手数料。 |
double |
DEAL_SWAP |
終了時の累積スワップ。 |
double |
DEAL_PROFIT |
約定の利益。 |
double |
HistoryDealGetString() 関数には
ENUM_DEAL_PROPERTY_STRING
識別子 |
説明 |
Type |
DEAL_SYMBOL |
約定シンボル。 |
string |
DEAL_COMMENT |
約定コメント。 |
string |
各 約定は種類によって特徴づけされ、可能な値は ENUM_DEAL_TYPE にみられます。 約定の種類について情報を取得するには HistoryDealGetInteger() を DEAL_TYPE 修飾子で使用します。
ENUM_DEAL_TYPE
識別子 |
説明 |
DEAL_TYPE_BUY |
買い。 |
DEAL_TYPE_SELL |
売り。 |
DEAL_TYPE_BALANCE |
残高。 |
DEAL_TYPE_CREDIT |
クレジット。 |
DEAL_TYPE_CHARGE |
追加料金。 |
DEAL_TYPE_CORRECTION |
修正。 |
DEAL_TYPE_BONUS |
ボーナス。 |
DEAL_TYPE_COMMISSION |
追加手数料。 |
DEAL_TYPE_COMMISSION_DAILY |
日ごとの手数料。 |
DEAL_TYPE_COMMISSION_MONTHLY |
月ごとの手数料。 |
DEAL_TYPE_COMMISSION_AGENT_DAILY |
日ごとの仲介手数料。 |
DEAL_TYPE_COMMISSION_AGENT_MONTHLY |
月ごとの仲介手数料。 |
DEAL_TYPE_INTEREST |
金利。 |
DEAL_TYPE_BUY_CANCELED |
取り消しされた買い。以前に実行された買い約定が取り消しされる場合があります。この場合には、以前に実行された約定(DEAL_TYPE_BUY) が DEAL_TYPE_BUY_CANCELED に変更され、その利益/損失はゼロ化されます。先に取得された利益/損失は、別の残高操作で実行されます。 |
DEAL_TYPE_SELL_CANCELED |
取り消しされた売り。以前に実行された売り約定が取り消しされる場合があります。この場合には、以前に実行された約定(DEAL_TYPE_SELL) が DEAL_TYPE_SELL_CANCELED に変更され、その利益/損失はゼロ化されます。先に取得された利益/損失は、別の残高操作で実行されます。 |
DEAL_DIVIDEND |
配当操作 |
DEAL_DIVIDEND_FRANKED |
フランク(非課税)配当操作 |
DEAL_TAX |
税 |
約定は ENUM_DEAL_TYPE に設定された種類のみではなく、ポジション変更方法においても異なります。これは単純なポジションオープン、または既にオープンされたポジションの蓄積(市場に参入)、同じボリュームの反対方向の約定によるポジション決済(市場から退出)、または、反対方向約定が建玉の蓄積をカバーする場合のポジションの逆転になりえます。
これらの状況の全ては ENUM_DEAL_ENTRY 列挙からの値によって記述されています。約定について情報を取得するには HistoryDealGetInteger()関数を DEAL_ENTRY 修飾子で使用します。
ENUM_DEAL_ENTRY
識別子 |
説明 |
DEAL_ENTRY_IN |
エントリーイン。 |
DEAL_ENTRY_OUT |
エントリーアウト。 |
DEAL_ENTRY_INOUT |
リバース。 |
DEAL_ENTRY_OUT_BY |
反対ポジションの決済。 |
DEAL_REASONプロパティには約定実行の理由が含まれます。約定は、モバイルアプリケーションまたはMQL5プログラムから出された注文のトリガ、ストップアウトイベント、変動証拠金計算の結果として実行されます。DEAL_REASONの可能な値は、ENUM_DEAL_REASON列挙体に記述されています。バランス、クレジット、手数料などの取引以外の約定理由はDEAL_REASON_CLIENTとして表示されます。
ENUM_DEAL_REASON
識別子 |
説明 |
DEAL_REASON_CLIENT |
約定は、デスクトップターミナルから出された注文のアクティブ化の結果として実行された |
DEAL_REASON_MOBILE |
約定は、モバイルアプリケーションから出された注文のアクティブ化の結果として実行された |
DEAL_REASON_WEB |
約定は、webプラットフォームから出された注文のアクティブ化の結果として実行された |
DEAL_REASON_EXPERT |
約定は、MQL5プログラム(エキスパートアドバイザーまたはスクリプト)から出された注文のアクティブ化の結果として実行された |
DEAL_REASON_SL |
約定は、ストップロスのアクティブ化の結果として実行された |
DEAL_REASON_TP |
約定は、テイクプロフィットのアクティブ化の結果として実行された |
DEAL_REASON_SO |
約定は、ストップアウトイベントの結果として実行された |
DEAL_REASON_ROLLOVER |
約定は、ロールオーバーの結果として実行された |
DEAL_REASON_VMARGIN |
約定は、変動証拠金の課金の後で実行された |
DEAL_REASON_SPLIT |
約定は、スプリット(価格低下)の発表時にポジションを持っていた製品のスプリットによって実行された |
取引操作の種類
取引は OrderSend() 関数を使用して建玉に注文を送ったり、未決注文を配置、変更、または解除することです。各取引注文はリクエストされた操作の種類を示します。取引操作は ENUM_TRADE_REQUEST_ACTIONS 列挙で記述されます。
ENUM_TRADE_REQUEST_ACTIONS
識別子 |
説明 |
TRADE_ACTION_DEAL |
指定されたパラメータ(成行注文)の即時実行のために約定注文を出します。 |
TRADE_ACTION_PENDING |
指定された条件(未決注文)で実行するために取引注文を出します。 |
TRADE_ACTION_SLTP |
保有中ポジションの決済逆指値及び決済指値を変更します。 |
TRADE_ACTION_MODIFY |
以前の注文のパラメータを変更します。 |
TRADE_ACTION_REMOVE |
以前の未決注文を削除します。 |
TRADE_ACTION_CLOSE_BY |
反対ポジションの決済。 |
買いポジションを持つ 取引操作TRADE_ACTION_DEALの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
売りポジションを持つ 取引操作TRADE_ACTION_DEALの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
ポジションを決済する 取引操作TRADE_ACTION_DEALの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
未決注文を設定する 取引操作TRADE_ACTION_PENDINGの例:
#property description “未決注文設定の例” |
保有ポジションのストップロスとテイクプロフィットの値を変更する 取引操作 TRADE_ACTION_SLTPの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
未決注文の価格レベルを変更する 取引操作TRADE_ACTION_MODIFYの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
未決注文の削除をする 取引操作TRADE_ACTION_REMOVEの例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
反対ポジションを決済する 取引操作TRADE_ACTION_CLOSE_BY の例:
#define EXPERT_MAGIC 123456 // エキスパートアドバイザのMagicNumber |
取引トランザクションの種類
取引口座にいくつかの明確なアクションを実行すると、状態が変更されます。アクションの例は下記です。
- クライアント端末内の任意の MQL5 アプリケーションから OrderSend と OrderSendAsync 関数を使用して取引リクエストを送信し、取引が実行される。
- 端末のグラフィカルインターフェースを使用して取引リクエストを送信し、取引が実行される。
- サーバ上で未決注文と逆指値注文が執行される。
- 取引サーバ側で操作を行う。
これらのアクションの結果として以下の取引トランザクションが実行されます。
- 取引リクエストの処理
- 未執行注文の変更
- 注文履歴の変更
- 約定履歴の変更
- ポジションの変更
例えば、市場の買い注文を送信する際に、注文が処理され、買い注文が口座に記録されます。その後注文が実行されオープン注文の表から削除されて注文履歴に追加されます。約定履歴に追加され新しいポジションが作成されます。これらのアクションは全て取引トランザクションです。
プログラマによる取引口座に関連して実行されるアクション追跡が可能なように OnTradeTransaction 関数が提供されています。このハンドラは MQL5 アプリケーションの口座に適用される取引トランザクションを取得することが出来ます。取引トランザクションの記述は MqlTradeTransaction 構造体を使用して OnTradeTransaction の1 番目のパラメータとして渡されます。
取引トランザクションの種類は MqlTradeTransaction 構造体型のパラメータで提出されます。取引トランザクションの種類は、以下の列挙に記載されています。
ENUM_TRADE_TRANSACTION_TYPE
識別子 |
説明 |
TRADE_TRANSACTION_ORDER_ADD |
新規の未執行注文の追加。 |
TRADE_TRANSACTION_ORDER_UPDATE |
未執行注文の更新。アップデートは、クライアント端末や取引サーバ側からの明らかな変更だけでなく、設定時の注文状態の変化を含みます(例えば ORDER_STATE_STARTED から ORDER_STATE_PLACED へや ORDER_STATE_PLACED から ORDER_STATE_PARTIALへの変化など)。 |
TRADE_TRANSACTION_ORDER_DELETE |
注文の未処理注文リストからの削除。注文は、適切なリクエストの設定または実行(充填)後、履歴に移動された結果として、未処理の注文のリストから削除することが出来ます。 |
TRADE_TRANSACTION_DEAL_ADD |
約定を履歴に追加。このアクションは注文実行や口座残高の操作の結果として実行されます。 |
TRADE_TRANSACTION_DEAL_UPDATE |
約定を履歴での更新。以前に実行された約定がサーバで更新される場合があります。例えば、 約定が以前にブローカによって転送された外部の取引システム(exchange)で更新される場合です。 |
TRADE_TRANSACTION_DEAL_DELETE |
約定履歴の削除。以前に実行された 約定がサーバから削除される場合があります。例えば、 約定が以前にブローカによって転送された外部の取引システム(exchange)で削除されている場合です。 |
TRADE_TRANSACTION_HISTORY_ADD |
実行またはキャンセルの結果として履歴に注文を追加します。 |
TRADE_TRANSACTION_HISTORY_UPDATE |
注文履歴内の注文を変更します。この型は、取引サーバ側の機能性を高めるために設けられています。 |
TRADE_TRANSACTION_HISTORY_DELETE |
注文を履歴から削除します。この型は、取引サーバ側の機能性を高めるために設けられています。 |
TRADE_TRANSACTION_POSITION |
取引の実行に関連していないポジションを変更します。このトランザクション型はポジションが取引サーバ側で変更されたことを示しています。ポジションボリューム、始値、決済逆指及び決済指レベルの変更が可能です。返られたデータは OnTradeTransaction ハンドラでMqlTradeTransaction 構造体に提示されます。 約定実行によるポジションの変化(追加、変更、閉鎖)は TRADE_TRANSACTION_POSITION トランザクションの発生にはつながりません。 |
TRADE_TRANSACTION_REQUEST |
取引リクエストがサーバと処理され結果が受け取られたことの通知。そのような取引では MqlTradeTransaction 構造体の type フィールド (取引タイプ) の分析のみが必要です。OnTradeTransaction 関数の 2、3 番目のパラメータ(request と result)は追加のデータを得るために分析されなければいけません。 |
取引トランザクションの種類によって、各種パラメータが MqlTradeTransaction 構造体に書き入れられます。引き渡されたデータの詳細な説明は「取引トランザクション構造体」でご覧下さい。
参照
取引トランザクション構造体、OnTradeTransaction
板情報の取引注文
持分証券では、現在の売買注文を含む板情報が利用可能です。希望された取引操作の方向、必要な量とリクエストされた価格は、注文ごとに指定されています。
MQL5 で現在の DOM の情報を取得するには MqlBookInfo 構造体の配列に DOM 「スクリーンショット」を配置するMarketBookGet() 関数が使用されます。type フィールドの配列の各要素は ENUM_BOOK_TYPE 列挙値での注文方向の情報を含みます。
ENUM_BOOK_TYPE
識別子 |
説明 |
BOOK_TYPE_SELL |
売り注文(オファー)。 |
BOOK_TYPE_BUY |
買い注文(ビッド)。 |
BOOK_TYPE_SELL_MARKET |
売りの成行注文。 |
BOOK_TYPE_BUY_MARKET |
買いの成行注文。 |
参照
構造体とクラス、DOM 構造体、取引操作の種類、市場情報
シグナルプロパティ
売買シグナルとシグナルコピーの設定を使用する際は、次の列挙が使用されています。
売買シグナルの double 型プロパティの列挙
ENUM_SIGNAL_BASE_DOUBLE
ID |
説明 |
SIGNAL_BASE_BALANCE |
口座残高。 |
SIGNAL_BASE_EQUITY |
口座株式。 |
SIGNAL_BASE_GAIN |
口座ゲイン。 |
SIGNAL_BASE_MAX_DRAWDOWN |
口座最大ドローダウン。 |
SIGNAL_BASE_PRICE |
シグナルサブスクリプション価格。 |
SIGNAL_BASE_ROI |
投資収益(%)。 |
売買シグナルの integer 型プロパティの列挙
ENUM_SIGNAL_BASE_INTEGER
ID |
説明 |
SIGNAL_BASE_DATE_PUBLISHED |
公開日(サブスクリプションが可能になった日付)。 |
SIGNAL_BASE_DATE_STARTED |
モニターの開始日。 |
SIGNAL_BASE_DATE_UPDATED |
シグナルの取引統計の最終更新日 |
SIGNAL_BASE_ID |
シグナル ID。 |
SIGNAL_BASE_LEVERAGE |
口座レバレッジ。 |
SIGNAL_BASE_PIPS |
利益(ピップス単位)。 |
SIGNAL_BASE_RATING |
建て格付けでのポジション。 |
SIGNAL_BASE_SUBSCRIBERS |
加入者数。 |
SIGNAL_BASE_TRADES |
取引数。 |
SIGNAL_BASE_TRADE_MODE |
口座の種類( 0 – 実際、1 – デモ、2 – コンテスト)。 |
売買シグナルの string 型プロパティの列挙
ENUM_SIGNAL_BASE_STRING
ID |
説明 |
SIGNAL_BASE_AUTHOR_LOGIN |
著者のログイン。 |
SIGNAL_BASE_BROKER |
ブローカー名(会社)。 |
SIGNAL_BASE_BROKER_SERVER |
ブローカーサーバ。 |
SIGNAL_BASE_NAME |
シグナル名。 |
SIGNAL_BASE_CURRENCY |
シグナル基準通貨。 |
シグナルコピー設定の double 型プロパティの列挙
ENUM_SIGNAL_INFO_DOUBLE
ID |
説明 |
SIGNAL_INFO_EQUITY_LIMIT |
株式の制限。 |
SIGNAL_INFO_SLIPPAGE |
スリッページ(ポジションと同期して成行注文をする時と取引の取引の複製時に使用)。 |
SIGNAL_INFO_VOLUME_PERCENT |
預金使用の最大率(%)(読み込みのみ)。 |
シグナルコピー設定の integer 型プロパティの列挙
ENUM_SIGNAL_INFO_INTEGER
ID |
説明 |
SIGNAL_INFO_CONFIRMATIONS_DISABLED |
フラグは、確認ダイアログなしでの同期を可能にします。 |
SIGNAL_INFO_COPY_SLTP |
決済逆指値及び決済指値フラグを複製。 |
SIGNAL_INFO_DEPOSIT_PERCENT |
預金比率(%)。 |
SIGNAL_INFO_ID |
シグナル ID(読み込みのみ)。 |
SIGNAL_INFO_SUBSCRIPTION_ENABLED |
「サブスクリプションによっての取引コピー」許可フラグ。 |
SIGNAL_INFO_TERMS_AGREE |
「シグナルサービスの利用規約に同意」フラグ(読み込みのみ)。 |
シグナルコピー設定の string 型プロパティの列挙
ENUM_SIGNAL_INFO_STRING
ID |
説明 |
SIGNAL_INFO_NAME |
シグナル名(読み込みのみ)。 |
Originally posted 2019-07-29 22:46:01.