OrderCalcMargin
この関数は、現在未決算の注文と未決済ポジションを考慮せずに、現在の口座で、指定された注文の種類に現在の市場環境で必要な証拠金を預金通貨で計算します。これは、計画された取引操作のための証拠金の評価を可能にします。値は口座の預金通貨で返されます。
bool OrderCalcMargin( |
パラメータ
action
[in] ENUM_ORDER_TYPE 列挙のいずれかの値を持つ注文の種類
symbol
[in] 銘柄名
volume
[in] 取引操作のボリューム
price
[in] 始値
margin
[out] 関数の実行が成功した場合にリクエストされた証拠金の値が配置される変数。計算は、現在未決算の注文と未決済ポジションを考慮せずに行われます。証拠金の値は多くの要因に依存し、市場環境によって異なることがあります。
戻り値
成功の場合は true、それ以外の場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
参照
OrderSend()、注文プロパティ、取引操作の種類
OrderCalcProfit
この関数は、渡されたパラメータに基づいて、現在の銘柄での現在の口座の利益を計算します。これは、取引操作の結果の事前評価のために使用されます。値は口座の預金通貨で返されます。
bool OrderCalcProfit( |
パラメータ
動作
[in] ENUM_ORDER_TYPE 列挙のいずれか(ORDER_TYPE_BUY または ORDER_TYPE_SELL)の値を持つ注文の種類
symbol
[in] 銘柄名
ボリューム
[in] 取引操作のボリューム
price_open
[in] 始値
price_close
[in] 終値
profit
[out] 関数の実行が成功した場合に計算された利益の値を格納する変数。見積りされた利益の値は多くの要因に依存し、市場環境によって異なることがあります。
戻り値
成功の場合は true、それ以外の場合は false。無効な注文の種類が指定された場合、この関数はfalseを返します。エラー情報を取得するには GetLastError() 関数が呼ばれます。
参照
OrderSend()、注文プロパティ、取引操作の種類
OrderCheck
OrderCheck() 関数は、取引操作を実行するための充分な資金があるかをチェックします。チェックの結果は MqlTradeCheckResult 構造体のフィールドに配置されます。
bool OrderCheck( |
パラメータ
request
[in] 必要な取引アクションを記述する MqlTradeRequest 型の構造体へのポインタ
result
[in,out] チェック結果が格納される MqlTradeCheckResult 型の構造体
戻り値
資金が足りない場合、またパラメータが不正な場合は false 。基本的な構造体チェック(ポインタチェック)が成功した場合は true 。しかし、これは、リクエストされた取引操作が確実に正常に実行されることの保障ではありません。関数実行結果の詳細には、result 構造体のフィールドが分析されるべきです。
エラー情報を取得するには GetLastError() 関数が呼ばれます。
参照
OrderSend()、取引操作の種類、取引リクエスト結果, リクエストチェック結果の構造体、取引リクエスト結果の構造体
OrderSend
OrderSend() 関数は取引操作の実行に使用され、リクエストを取引サーバに送信します。
bool OrderSend( |
パラメータ
request
[in] クライエントの取引アクティビティを記述する MqlTradeRequest 型の構造体へのポインタ
result
[in,out] 成功した場合(true が返される場合)取引操作の結果を表す MqlTradeResult 型の構造体へのポインタ
戻り値
基本的な構造体チェック(ポインタチェック)が成功した場合、trueが戻されます。しかし、これは取引操作が成功することを表すものではありません。 関数実行結果の詳細には、result 構造体のフィールドが分析されるべきです。
注意事項
取引リクエストは、サーバ上で複数の段階を踏みます。初めに、request パラメータの必須のフィールドが正しく書き入れられているかどうかがチェックされます。エラーがない場合、サーバは、更なる処理のために注文を受け付けます。注文が正常に取引サーバによって受け入れられると、OrderSend() 関数が true を返します。
取引サーバに送信する前に、リクエストをチェックすることが推奨されます。リクエストをチェックするには OrderCheck() 関数が使用されます。それは、取引を実行するための充分な資金があるかをチェックし、複数の役立つパラメータを 取引リクエストチェックの結果に返します。
- チェックされたリクエストに含まれるエラーの情報を含むリターンコード
- 取引操作が実行された後に表示される残高値
- 取引操作が実行された後に表示される株式価値
- 取引操作が実行された後に表示される浮動小数点値
- 取引操作に必要な証拠金
- 取引操作が実行された後に残る自由資本の金額
- 取引操作が実行された後に設定される証拠金レベル
- 返信コードコメント(エラーの説明)
成行注文を送信する場合 (MqlTradeRequest.action=TRADE_ACTION_DEAL)、OrderSend() 関数の正常結果は、注文が実行されたことを意味しません。この場合、'true"によって意味されるのは、注文がその後の実行のために取引システムに正常に配置されたことだけです。トレードサーバーは、OrderSend()への応答を形成する場合にデータがある場合、返された結果構造体のdealまたはorderフィールド値に書き入れます。一般に、注文に対応する取引を実行するイベントは、OrderSend() 呼び出しに対する応答を送信した後に発生する可能性があります。したがって、いずれの取引リクエストに対しても、OrderSend()の実行結果を受け取ったときには、まず、結果構造体のretcode t取引サーバリレスポンスコードとretcode_external外部システムレスポンスコードを初めに確認するべきです。
受け入れられた注文は、実行に必要な条件の 1 つが準備出来るまで処理を待って取引サーバに格納されます。
- 期限切れ
- 反方向のリクエストの出現
- 指定された実行価格が出現した場合の注文の実行
- 注文を取り消すリクエストの受信
注文処理時に、取引サーバは端末に取引イベント発生についてのメッセージを送り、これは OnTrade() 関数で処理出来ます。
サーバ上で OrderSend() 関数で送られたリクエストを実行した結果は OnTradeTransaction ハンドラで追跡出来ます。1 つの取引リクエストを実行する際に OnTradeTransaction ハンドラは複数回呼ばれることには留意されるべきです。
例えば、市場の買い注文を送信する際に、注文が処理され、買い注文が口座に記録されます。その後注文が実行されオープン注文の表から削除されて注文履歴に追加されます。約定履歴に追加され新しいポジションが作成されます。OnTradeTransaction 関数はこれらのイベント全部に呼び出されます。
例:
//— ORDER_MAGIC の値 |
参照
取引操作の種類、取引リクエストの構造体、リクエストチェック結果の構造体、取引リクエスト結果の構造体
OrderSendAsync
OrderSendAsync() 関数は、取引サーバの返答を待たずに非同期的な 取引操作を行うための リクエストの送信に使用されます。この関数は、サーバからの応答を待つ時間の無駄を容認出来ない取引アルゴリズムの条件下での高頻度取引のために設計されています。
bool OrderSendAsync( |
パラメータ
request
[in] クライエントの取引アクションを記述する MqlTradeRequest 型の構造体へのポインタ
result
[in,out] 成功した場合(true が返される場合)取引操作の結果を表す MqlTradeResult 型の構造体へのポインタ
戻り値
リクエストが取引サーバに送信された場合は true、それ以外の場合は false。リクエストが送信された場合 result 変数内で、レスポンスコードが TRADE_RETCODE_PLACED 値(コード 10008– order placed(注文が出された))を含みます。正常な実行は送信の事実のみを意味し、リクエストが取引サーバに到達し処理のために受け入れられている保証を与えるものではありません。受信したリクエストを処理する際、取引サーバは、ポジション、注文や約定の状態の変化を通知する応答をクライアント端末に送信し、これが Trade イベント生成につながります。
OrderSend() 関数で送られたリクエストをサーバ上で 実行した結果は OnTradeTransaction ハンドラで追跡出来ます。1 つの取引リクエストを実行する際に OnTradeTransaction ハンドラは複数回呼ばれることには留意されるべきです。
例えば、市場の買い注文を送信する際に、注文が処理され、買い注文が口座に記録されます。その後注文が実行されオープン注文の表から削除されて注文履歴に追加されます。約定履歴に追加され新しいポジションが作成されます。OnTradeTransaction 関数はこれらのイベント全部に呼び出されます。この様なデータの取得には、関数パラメータが分析されるべきです。
- trans – このパラメータは取引口座に適用される取引トランザクションを記述する MqlTradeTransaction 構造体を取得します。
- request – このパラメータは取引トランザクションにつながった取引リクエストを記述する MqlTradeRequest 構造体を取得します。
- result – このパラメータは取引リクエスト実行の結果を記述する MqlTradeResult 構造体を取得します。
注意事項
パラメータの用途の点では、この関数は OrderSend() に似ていますが、それとは異なって非同期的です。つまり、関数の実行結果を待っている間にプログラム動作は止められません。サンプルのエキスパートアドバイザーを使用して、これら 2 つの関数の取引操作の速度を比較することが出来ます。
例:
#property description "Expert Advisor for sending trade requests " |
「エキスパート」操作ログでのメッセージ表示の例:
12:52:52 ExpertAdvisor (EURUSD,H1) => OnChartEvent: sparam = Sell |
PositionsTotal
未決済ポジションの数を返します。
int PositionsTotal(); |
戻り値
int 型の値
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
参照
PositionGetSymbol()、PositionSelect()、ポジションプロパティ
PositionGetSymbol
未決済ポジションに対応するシンボルを返し、PositionGetDouble、PositionGetInteger、PositionGetString 関数を使用しての操作のために自動的にポジションを選択します。
string PositionGetSymbol( |
パラメータ
index
[in] 未決済ポジションリスト内での番号
戻り値
string 型の変数ポジションが見つからなかった場合、空の文字列 が戻されます。エラーコード取得には GetLastError() 関数が呼ばれます。
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
参照
PositionsTotal()、PositionSelect()、ポジションプロパティ
PositionSelect
今後の作業で使用する保有ポジションを選択します。関数の実行に成功した場合、trueを返します。関数の実行に失敗した場合、falseを返します。エラーに関する情報を取得するには、GetLastError()関数を呼び出す必要があります。
bool PositionSelect( |
パラメータ
symbol
[in] 金融商品の名称。
戻り値
bool型の値。
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。この場合、PositionSelectは最小チケットのポジションを選択します。
PositionSelect()関数はソフトウェア環境でのポジションについての情報をコピーし、後続のPositionGetDouble()、PositionGetInteger()、PositionGetString()の呼び出しは前にコピーしたデータを返します。これはつまり、ポジション自体はすでになくても(またはポジションのボリュームや方向が変わったなど)、このポジションのデータは取得できるということを意味しています。ポジションの最新データの取得を確実なものにする為には、直接PositionSelect()関数を適用前に呼び出すことをお勧めします。
こちらも同様にご覧ください。
PositionGetSymbol(), PositionsTotal(), ポジションプロパティ
PositionSelectByTicket
指定したチケットによって今後の作業で使用する保有ポジションを選択します。関数の実行に成功した場合、trueを返します。関数の実行に失敗した場合、falseを返します。エラーに関する情報を取得するには、GetLastError()関数を呼び出す必要があります。
bool PositionSelectByTicket( |
パラメータ
ticket
[in] ポジションチケット。
戻り値
bool型の値。
注意事項
PositionSelectByTicket()関数はソフトウェア環境でのポジションについての情報をコピーし、後続のPositionGetDouble()、PositionGetInteger()、PositionGetString()の呼び出しは前にコピーしたデータを返します。これはつまり、ポジション自体はすでになくても(またはポジションのボリュームや方向が変わったなど)、このポジションのデータは取得できるということを意味しています。ポジションの最新データの取得を確実なものにする為には、直接PositionSelectByTicket()関数を適用前に呼び出すことをお勧めします。
こちらも同様にご覧ください。
PositionGetSymbol(), PositionsTotal(), ポジションプロパティ
PositionGetDouble
この関数は PositionGetSymbol または PositionSelect で事前に選択された未決済ポジションのリクエストされたプロパティを返します。ポジションプロパティは double 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
double PositionGetDouble( |
2. 関数実行の成功に応じて true または false を返す。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置される。
bool PositionGetDouble( |
パラメータ
property_id
[in] ポジションプロパティの識別子。値は ENUM_POSITION_PROPERTY_DOUBLE 列挙のいずれかです。
double_var
[out] リクエストされたプロパティの値を受け取るdouble 型の変数
戻り値
double 型の値(関数が失敗した場合は 0 )
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得したポジション情報が最新であるように、PositionSelect() を参照直前に呼び出すことが推奨されています。
参照
PositionGetSymbol()、PositionSelect()、ポジションプロパティ
PositionGetInteger
この関数は PositionGetSymbol または PositionSelect で事前に選択された未決済ポジションのリクエストされたプロパティを返します。ポジションプロパティは datetime または int 型でなければいけません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
long PositionGetInteger( |
2. 関数実行の成功に応じて true または false を返す。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool PositionGetInteger( |
パラメータ
property_id
[in] ポジションプロパティの識別子。値は ENUM_POSITION_PROPERTY_INTEGER 列挙のいずれかです。
long_var
[out] リクエストされたプロパティの値を受け取る long 型の変数
戻り値
long 型の値(関数が失敗した場合は 0 )
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得したポジション情報が最新であるように、PositionSelect() を参照直前に呼び出すことが推奨されています。
例:
//+——————————————————————+ |
参照
PositionGetSymbol()、PositionSelect()、ポジションプロパティ
PositionGetString
この関数は PositionGetSymbol または PositionSelect で事前に選択された未決済ポジションのリクエストされたプロパティを返します。ポジションプロパティは string 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
string PositionGetString( |
2. 関数実行の成功に応じて true または false を返す。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool PositionGetString( |
パラメータ
property_id
[in] ポジションプロパティの識別子。値は ENUM_POSITION_PROPERTY_STRING 列挙のいずれかです。
string_var
[out] リクエストされたプロパティ値を受け取るstring 型の変数
戻り値
string 型の変数関数が失敗した場合、空の文字列 が戻されます。
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得したポジション情報が最新であるように、PositionSelect() を参照直前に呼び出すことが推奨されています。
参照
PositionGetSymbol()、PositionSelect()、ポジションプロパティ
PositionGetTicket
関数は保有ポジションの一覧のインデックスでポジションチケットを返し、PositionGetDouble、PositionGetInteger、PositionGetString関数を使用した今後の作業の為に自動的にこのポジションを選択します。
ulong PositionGetTicket( |
パラメータ
index
[in] 0から始まる保有ポジション一覧のポジションインデックス。
戻り値
ポジションチケット。実行に失敗した場合は、0を返します。
注意事項
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
ポジションの最新データの取得を確実なものにする為には、直接PositionSelect()関数を適用前に呼び出すことをお勧めします。
こちらも同様にご覧ください。
PositionGetSymbol(), PositionSelect(), ポジションプロパティ
OrdersTotal
現在の注文数を返します。
int OrdersTotal(); |
戻り値
int 型の値
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。注文とはトランザクションを実行するリクエストです。ポジションは 1 つまたは複数の約定の結果です。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
参照
OrderSelect()、OrderGetTicket()、注文プロパティ
OrderGetTicket
さらに関数を使用して作業するための注文を自動的に選択して対応するチケットを返します。
ulong OrderGetTicket( |
パラメータ
index
[in] 現在の注文リスト内での注文の番号
戻り値
ulong 型の値(関数が失敗した場合は 0 )
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。注文とはトランザクションを実行するリクエストです。ポジションは 1 つまたは複数の約定の結果です。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
OrderGetTicket() 関数は、注文に関するデータをプログラム環境にコピーし、OrderGetDouble()、OrderGetInteger()、OrderGetString() の呼び出しは既に複製されたデータを返します。つまり、注文自体はもはや存在しなくても(または始値、決済逆指及び決済指レベルまたは期限が変更されても)、注文に関するデータはまだ取得することが出来ます。取得した注文情報が最新であるように、OrderGetTicket() を参照直前に呼び出すことが推奨されています。
例:
void OnStart() |
参照
OrdersTotal()、OrderSelect()、OrderGetInteger()
OrderSelect
操作に使用する注文を選択します。関数実行が成功した場合は true を返します。関数実行が失敗した場合 false を返します。更なるエラー情報を取得するには、GetLastError() が呼ばれます。
bool OrderSelect( |
パラメータ
ticket
[in] 注文チケット
戻り値
bool 型の値
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
OrderSelect() 関数は、注文に関するデータをプログラム環境にコピーし、OrderGetDouble()、OrderGetInteger()、OrderGetString() の呼び出しは既に複製されたデータを返します。つまり、注文自体はもはや存在しなくても(または始値、決済逆指及び決済指レベルまたは期限が変更されても)、注文に関するデータはまだ取得することが出来ます。取得した注文情報が最新であるように、OrderGetTicket() を参照直前に呼び出すことが推奨されています。
参照
OrderGetInteger()、OrderGetDouble()、OrderGetString()、OrderCalcProfit()、OrderGetTicket()、注文プロパティ
OrderGetDouble
OrderGetTicket または OrderSelectで事前に選択された注文のプロパティを返します。注文プロパティは double 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
double OrderGetDouble( |
2. 関数の成功に応じて、true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool OrderGetDouble( |
パラメータ
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_DOUBLE 列挙のいずれかです。
double_var
[out] リクエストされたプロパティの値を受け取るdouble 型の変数
戻り値
double 型の値(関数が失敗した場合は 0 )
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得した注文情報が最新であるように、OrderSelect() を参照直前に呼び出すことが推奨されています。
参照
OrdersTotal()、OrderGetTicket()、注文プロパティ
OrderGetInteger
OrderGetTicket または OrderSelect で事前に選択された注文のリクエストされたプロパティを返します。注文プロパティは datetime または int 型でなければいけません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
long OrderGetInteger( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool OrderGetInteger( |
パラメータ
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_INTEGER 列挙のいずれかです。
long_var
[out] リクエストされたプロパティの値を受け取る long 型の変数
戻り値
long 型の値(関数が失敗した場合は 0 )
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得した注文情報が最新であるように、OrderSelect() を参照直前に呼び出すことが推奨されています。
参照
OrdersTotal()、OrderGetTicket()、注文プロパティ
OrderGetString
OrderGetTicket または OrderSelect で事前に選択された注文のリクエストされたプロパティを返します。注文プロパティは string 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
string OrderGetString( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool OrderGetString( |
パラメータ
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_STRING 列挙のいずれかです。
string_var
[out] リクエストされたプロパティ値を受け取るstring 型の変数
戻り値
string 型の変数
注意事項
現在の未決注文はクライアント端末の「ツールボックス」の「取引」タブに表示されているポジションと混乱されてはなりません。
ポジションの『ネッティング』計算時(ACCOUNT_MARGIN_MODE_RETAIL_NETTINGとACCOUNT_MARGIN_MODE_EXCHANGE)各シンボルにつき常に一つのポジションのみ(1つ以上の取引の結果である)保有することができます。ポジションと『ツールボックス』パネルの『取引』タブに表示される有効な未決注文と混同しないようにしてください。
ポジションに制限がない場合(ACCOUNT_MARGIN_MODE_RETAIL_HEDGING)各シンボルごとに同時に複数のポジションを保有することができます。
取得した注文情報が最新であるように、OrderSelect() を参照直前に呼び出すことが推奨されています。
参照
OrdersTotal()、OrderGetTicket()、注文プロパティ
HistorySelect
指定されたサーバタイム期間の約定と注文履歴を取得します。
bool HistorySelect( |
パラメータ
from_date
[in] リクエストの開始日
to_date
[in] リクエストの終了日
戻り値
成功の場合は true、それ以外の場合は false
注意事項
HistorySelect() は MQL5 プログラムの注文と取引のリストを作成し、対応する関数での要素参照を可能にします。約定リストのサイズは HistoryDealsTotal() 関数、注文リストのサイズは HistoryOrdersTotal() 関数を使用して取得することが出来ます。注文リストでの選択には HistoryOrderGetTicket() が使用されるべきです。約定リストの要素には HistoryDealGetTicket() が適切です。
MQL5 プログラムで使用可能な注文履歴のリストは HistoryOrderSelect() の使用後にリセットされ、チケットによる注文の検索が成功した場合、見つかった注文で書き入れられます。MQL5 プログラムで使用可能な約定履歴のリストについても同じことが言えます。それは HistoryDealSelect() の使用後にリセットされ、チケットによる約定が受け取られた場合、それで書き込まれます。
例:
void OnStart() |
参照
HistoryOrderSelect()、HistoryDealSelect()
HistorySelectByPosition
指定されたポジション識別子を有する取引や注文履歴を取得します。
bool HistorySelectByPosition( |
パラメータ
position_id
[in] 全ての実行された注文と約定に設定されるポジション識別子
戻り値
成功の場合は true、それ以外の場合は false
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
HistorySelectByPosition() は MQL5 プログラムに指定されたポジション識別子 を持った注文リストと約定リストを作成し、対応する関数での要素参照を可能にします。約定リストのサイズは HistoryDealsTotal() 関数、注文リストのサイズは HistoryOrdersTotal() 関数を使用して取得することが出来ます。注文リストの要素を全部参照するには HistoryOrderGetTicket()、約定リストの要素を全部参照するには HistoryDealGetTicket() が使用されるべきです。
MQL5 プログラムで使用可能な注文履歴のリストは HistoryOrderSelect() の使用後にリセットされ チケットによる注文の検索が成功した場合、見つかった注文で書き入れられます。MQL5 プログラムで使用可能な取引履歴のリストについても同じことが言えます。それは HistoryDealSelect() にリセットされ、チケットによる取引が受け取られた場合、それで書き込まれます。
参照
HistorySelect()、HistoryOrderGetTicket()、注文プロパティ
HistoryOrderSelect
更に適切な関数で呼び出すために履歴内の注文を選択します。関数実行が成功した場合は true を返します。関数実行が失敗した場合 false を返します。エラーの詳細については GetLastError() を呼びます。
bool HistoryOrderSelect( |
パラメータ
ticket
[in] 注文チケット
戻り値
成功の場合は true、それ以外の場合は false。
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
HistoryOrderSelect() はMQL5 プログラムで参照出来る注文のリストをクリアして、成功した場合、1 つの注文を複製します。HistorySelect()関数で選ばれた約定を1つずつ参照する必要がある場合には HistoryOrderGetTicket() が使用されるべきです。
参照
HistorySelect()、HistoryOrderGetTicket()、注文プロパティ
HistoryOrdersTotal
履歴内の注文の数を返します。HistoryOrdersTotal() を呼び出す前に HistorySelect() または HistorySelectByPosition() 関数を使用して約定と注文の履歴を受信するべきです。
int HistoryOrdersTotal(); |
戻り値
int 型の値
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
参照
HistorySelect()、HistoryOrderSelect()、HistoryOrderGetTicket()、注文プロパティ
HistoryOrderGetTicket
履歴内の注文に対応するチケットを返します。HistoryOrderGetTicket() を呼び出す前に HistorySelect() または HistorySelectByPosition() 関数を使用して取引と注文の履歴を受信するべきです。
ulong HistoryOrderGetTicket( |
パラメータ
index
[in] 注文リスト内での注文の番号
戻り値
ulong 型の値(関数が失敗した場合は 0 )
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
例:
void OnStart() |
参照
HistorySelect()、HistoryOrdersTotal()、HistoryOrderSelect()、注文プロパティ
HistoryOrderGetDouble
リクエストされた注文プロパティを返します。注文プロパティは double 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
double HistoryOrderGetDouble( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryOrderGetDouble( |
パラメータ
ticket_number
[in] 注文チケット
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_DOUBLE 列挙のいずれかです。
double_var
[out] リクエストされたプロパティの値を受け取るdouble 型の変数
戻り値
double 型の値
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
参照
HistorySelect()、HistoryOrdersTotal()、HistoryOrderSelect()、注文プロパティ
HistoryOrderGetInteger
リクエストされた注文プロパティを返します。注文プロパティは datetime または int 型でなければいけません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
long HistoryOrderGetInteger( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryOrderGetInteger( |
パラメータ
ticket_number
[in] 注文チケット
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_INTEGER 列挙のいずれかです。
long_var
[out] リクエストされたプロパティの値を受け取る long 型の変数
戻り値
long 型の値
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
例:
//+——————————————————————+ |
参照
HistorySelect()、HistoryOrdersTotal()、HistoryOrderSelect()、注文プロパティ
HistoryOrderGetString
リクエストされた注文プロパティを返します。注文プロパティは string 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
string HistoryOrderGetString( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryOrderGetString( |
パラメータ
ticket_number
[in] 注文チケット
property_id
[in] 注文プロパティの識別子。値は ENUM_ORDER_PROPERTY_STRING 列挙のいずれかです。
string_var
[out] string 型の変数
戻り値
string 型の変数
注意事項
取引履歴の注文を「ツールボックス」バーの「取引」タブに表示される未決注文 と混乱してはいけません。取り消されたまたはトランザクションにつながった 注文のリストはクライアント端末の「ツールボックス」バーの「履歴」タブで見られます。
参照
HistorySelect()、HistoryOrdersTotal()、HistoryOrderSelect()、注文プロパティ
HistoryDealSelect
更に適切な関数で呼び出すために履歴内の約定を選択します。関数実行が成功した場合は true を返します。関数実行が失敗した場合 false を返します。エラーの詳細については GetLastError() を呼びます。
bool HistoryDealSelect( |
パラメータ
ticket
[in] 約定チケット
戻り値
成功の場合は true、それ以外の場合は false。
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
HistoryDealSelect() はMQL5 プログラムで参照出来る約定のリストをクリアして、成功した場合、1 つの約定を複製します。HistorySelect() 関数で選ばれた約定をひとつずつ参照する必要がある場合には HistoryDealGetTicket()が使用されるべきです。
参照
HistorySelect()、HistoryDealGetTicket()、 約定プロパティ
HistoryDealsTotal
履歴内の約定数を返します。HistoryDealsTotal() を呼び出す前に HistorySelect() または HistorySelectByPosition() 関数を使用して約定と注文の履歴を受信するべきです。
int HistoryDealsTotal(); |
戻り値
int 型の値
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
参照
HistorySelect()、HistoryDealGetTicket()、 約定プロパティ
HistoryDealGetTicket
この関数は、さらなる処理のための約定を選択し、履歴中の約定チケットを返します。HistoryDealGetTicket() を呼び出す前に HistorySelect() または HistorySelectByPosition() 関数を使用して約定と注文の履歴を受信するべきです。
ulong HistoryDealGetTicket( |
パラメータ
index
[in] リスト中の約定番号
戻り値
ulong 型の値(関数が失敗した場合は 0 )
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
例:
void OnStart() |
|
参照
HistorySelect()、HistoryDealsTotal()、HistoryDealSelect()、 約定プロパティ
HistoryDealGetDouble
約定のリクエストされたプロパティを返します。 約定プロパティは double 型でなければいけません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
double HistoryDealGetDouble( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryDealGetDouble( |
パラメータ
ticket_number
[in] 約定チケット
property_id
[in] 約定プロパティ識別子。値は ENUM_DEAL_PROPERTY_DOUBLE 列挙のいずれかです。
double_var
[out] リクエストされたプロパティの値を受け取るdouble 型の変数
戻り値
double 型の値
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
参照
HistorySelect()、HistoryDealsTotal()、HistoryDealGetTicket()、 約定プロパティ
HistoryDealGetInteger
約定のリクエストされたプロパティを返します。 約定プロパティは datetime または int 型でなければいけません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
long HistoryDealGetInteger( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryDealGetInteger( |
パラメータ
ticket_number
[in] 取引チケット
property_id
[in] 約定プロパティ識別子値は ENUM_DEAL_PROPERTY_INTEGER 列挙のいずれかです。
long_var
[out] リクエストされたプロパティの値を受け取る long 型の変数
戻り値
long 型の値
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
例:
//+——————————————————————+ |
参照
HistoryDealsTotal()、HistorySelect()、HistoryDealGetTicket()、 約定プロパティ
HistoryDealGetString
約定のリクエストされたプロパティを返します。 約定プロパティは string 型でなければなりません。この関数には 2 つのバージョンがあります。
1. すぐにプロパティ値を返します。
string HistoryDealGetString( |
2. 関数実行の成功に応じて true または false を返します。成功した場合、プロパティの値は、参照によって渡された最後のパラメータに配置されます。
bool HistoryDealGetString( |
パラメータ
ticket_number
[in] 約定チケット
property_id
[in] 約定プロパティ識別子値は ENUM_DEAL_PROPERTY_STRING 列挙のいずれかです。
string_var
[out] リクエストされたプロパティ値を受け取るstring 型の変数
戻り値
string 型の変数
注意事項
注文、約定 及び ポジションは混乱されてはなりません。 約定は注文実行の結果で、ポジションは 1 つ以上の 約定の結果の概要です。
参照
HistoryDealsTotal()、HistorySelect()、HistoryDealGetTicket()、 約定プロパティ
Originally posted 2019-07-30 09:24:12.