i...mqlinvestmentlab.com2022.09.11.type_fillingに入力する値は、ENUM_ORDER_TYPE_FILLING列挙で定められたものになります。ORDER_FILLING_FOK→FOKポリシーを設定するORDER_FILLING_FOKはFOKポリシーを設定するのに使います。FOKポリシーは発注した後、指定したロット数でのオーダーをサーバーが受け付けられないときは注文自体がキャンセルになる、というフィルポリシーです。※どのフィルポリシーを選択すればよいのかは、執行方式によって変わります。コチラの→フィルポリシーの確認方法をご参照ください。ORDER_FILLING_IOC→IOCポリシーを設定するORDER_FILLING_IOCは、IOCポリシーを設定するのに使います。IOCポリシーは、指定したロット数でのオーダーをサーバーが受け付けられないとき、約定可能なロット分だけ約定させ、残りはキャンセルとなるフィルポリシーです。1.0ロットの発注を出したとして、市場の流動性低下の問題から、1.0ロットの約定ができないけど、0.5ロット分なら約定可能な場合、0.5ロット分だけ約定し、残り0.5ロット分はキャンセルとなります。※どのフィルポリシーを選択すればよいのかは、執行方式によって変わります。コチラの→フィルポリシーの確認方法をご参照ください。ORDER_FILLING_RETURN→RETURNポリシーを設定するORDER_FILLING_RETURNは、RETURNポリシーを設定するのに使います。RETURNポリシーは、指定したロット数でのオーダーをサーバーが受け付けられないとき、約定可能なロット分だけ約定させ、残りの約定できなかったロット分も継続して注文処理を行うフィルポリシーです。1.0ロットの発注を出したとして、市場の流動性低下の問題から、1.0ロットの約定ができないけど、0.5ロット分なら約定可能な場合、0.5ロット分だけ約定し、残り0.5ロット分も約定できるように追尾処理を行う仕組みになっています。※どのフィルポリシーを選択すればよいのかは、執行方式によって変わります。コチラの→フィルポリシーの確認方法をご参照ください。設定した注文の有効期限を設定する時に使います。ORDER_TIME_GTC(有効期限なし)が適用されます。Cancel)の略です。ORDER_TIME_GTCに設定した場合、その待機注文は有効期限がない、という事になります。ORDER_TIME_DAY→待機注注文が出された取引日中のみ有効ORDER_TIME_DAYは、待機注注文が出された取引日中のみ有効、という設定です。.type_timeにORDER_TIME_DAYを設定した場合、待機注文が出された取引日中に、注文が有効化しなければ、その待機注文は削除されます。↑の動画は、動画は、待機注文の期限を注文修正によってORDER_TIME_GTC(有効期限なし)からORDER_TIME_DAY(当日中)に変えた物です。なっているのがわかると思います。ORDER_TIME_SPECIFIED→指定した特定の期限まで有効ORDER_TIME_SPECIFIEDは、指定した特定の期限まで有効、という設定です。.expirationにて有効期限を指定する必要があります。.expirationへの値入力は必須となります。※.expirationへの明示的な値入力がない場合、ORDER_TIME_GTC(有効期限なし)となります。↑の動画を見ると、ORDER_TIME_SPECIFIEDも、ORDER_TIME_SPECIFIED_DAYにと同様、.expirationへの明示的な値入力がない場合、無期限のままになっています。日付を202210/1/18:00と明示した上でプログラムを再度実行すると、今度は有効期限が変わったのがわかると思います。ORDER_TIME_SPECIFIEDは日にち以降の時間分秒まで設定できますが、ORDER_TIME_SPECIFIED_DAYの場合は指定するのは日にちまで、ということです。.expirationへの値入力は必須となります。※.expirationへの明示的な値入力がない場合、ORDER_TIME_GTC(有効期限なし)となります。.expirationへの明示的な値入力がなかった為、最初有効期限が変わっていません。日付を202210/1と明示した上でプログラムを再度実行すると、今度は有効期限が変わったのがわかると思います。.type_timeにORDER_TIME_SPECIFIED、もしくはORDER_TIME_SPECIFIED_DAYを設定していた場合、待機注文の具体的な有効期限を設定する必要があります。.expirationは有効期限の時刻を設定するのに使います。.type_timeにORDER_TIME_SPECIFIED、もしくはORDER_TIME_SPECIFIED_DAYを設定していた場合、.expirationへの値入力は必須です。.expirationへの値入力をする際はdatetime型の値を入力しますので、「datetime型って何?」という方は↓の記事をご参照ください。Color(カラー)型とは、色に関するデータを格納する変数を用意を用意する時に使われるデータ型である。.commentは、注文コメントを設定する時に使います。注文コメントというのは、注文を出したときに、MT5のツールボックスに表示されるコメント欄の事です。↓コメントを残すので、必然的に入力データは文字列であるstring型になります。.commentへの入力は必須ではないので、省略可能です。.positionはポジション番号を設定するのに使います。ポジション番号とは?ポジション番号というのは、保有している各ポジションに割り振られている固有の番号です。ポジションを決済したり、ポジションに設定されている注文内容を変更する時などに利用します。・PositionGetTicket関数を使う。・PositionGetInteger関数を使い、引数にPOSITION_TICKETを設定するなどの方法で取得します。.orderのところで出てきたオーダー番号を混同しないよう注意してください。大事なことなのでもう一度書きますが、オーダー番号は、まだ有効化していない待機注文も含めて「注文」単位に割り振られる固有の番号で、ポジション番号は、すでに保有しているポジションに対して割り振られる固有の番号になります。成行注文でポジションを持った場合はオーダー番号とポジション番号は同じ番号になります。待機注文の時はどうなるのか?というと、ポジションが有効化していないうちはポジション番号は0になっています。ポジションが有効化した時点でオーダー番号に付与されていた番号がポジション番号に付与されます。.position_byはclose_by決済における、反対ポジションのポジション番号を設定する時に使います。.actionにTRADE_ACTION_CLOSEBYが入力されている場合は、.position_byへの値入力は必須です。.positionのポジション番号のポジション方向が仮にbuyだとしたら、.position_byにはポジション方向がsellのポジション番号を格納することになります。ポジション番号の取得方法は、.positionの時と同じくPositionGetTicket関数やPositionGetInteger関数を使います。今回の記事では以下のことを学びましたMQL5でEA(自動売買プログラム)を作るにあたり、注文を出すには、OrderSend関数を使う。要求を包括的に「注文」とみなし、トレードーサーバに送信する役割を担っている。MQL5のOrderSend関数の第1引数にはMqlTradeRequest構造体、第2引数にはMqlTradeResult構造体を引数に指定する。MqlTradeRequest構造体は、MQL4サーバーへの要求内容を調整・決定しその内容をOrderSend関数に受け渡す役割を担っている。今回は以上になります。↑MQL5やFX関連の用語リンク集です。当サイトでは、元々わからない言葉や概念に出くわしたら、すぐその言葉に立ち戻れるよう、かなり細かく内部リンクを張り巡らせており、多様な用語を網羅しています。興味のある内容に直接アクセスし、疑問の解決にお役立ていただければと思います。【※この記事にはプロモーションが含まれています。MQL5を使って自作したEAをシステムトレードに利用するには、取引プラットフォームとしてMT5を提供しているFX会社に口座を開設しなくてはいけません。static変数とは、中で変数宣言をした関数が処理を終えても、変数の値の記憶を保つことができるローカル変数のことである。OnTick関数がどのように作用するのか?という点について解説しました。