オーダーの概要
オーダーとポジションチェックはIOrderインターフェースを用います。
IOrderとIEngineの両方を用いて、データのアクセスや変更する事が出来ます。
2つのインタフェースを用いる事で、ユーザーは成行オーダーか条件付きオーダーのいずれかのワークフローに応じた操作を行う事が出来ます。
- オーダー送信:成行オーダーか条件付きオーダーのいずれかでオーダー。
- オーダー変更:リミットやストップロスの設定等。
- オーダーマージ。
- アクティブオーダーの管理。
- クローズオーダー、オーダーキャンセル。
オーダーかポジションか?
IOrderオブジェクトはオーダー状態によって"オーダー"か"ポジション"かどうかを決定します。
IOrderの
- CREATEDまたはOPENEDはオーダー
- FILLEDはポジション
- CANCELLEDはオーダーキャンセル
- CLOSEDはポジションクローズ
を意味します。
JForexAPIメソッドの多くは、オーダーとポジションの両方が適用されます
(例えば、オーダーとポジションの両方にストップロスを設定する事が出来ます。IOrder.close()はポジションをクローズしますが、オーダーキャンセル出来ません)。
このように、プログラミング側からではこの2つの違いは不明確です。
なので簡単にする為に、この章では特に指定しない限りオーダーという表現を用います。