多くの友人は良い取引戦略を持っているが,プログラム化でそれを実現するとき,しばしばプログラム制御が事前の考えに従って実行できないことを発見し,多ポジション,多平ポジション,さらには不合理な多ポジションと空きポジションを同時に保有する.実際には,これらの現象の根本的な理由は,プログラム取引が主観的な取引とは異なり,突発的な状況が発生したときに適切な反応と処理を行うことができるからである.例えば,私は戦略条件を満たしたときにポジションを開設する操作を行っているが,これはポジション開設価格または当時の市場環境では,必ずしも交付されません.
ステータスマシンとは,ステータス移動図であり,ステータスマシンを導入することで,命令のすべての状態を区分して,プログラムですべての状態の論理的に制御して,乱さない.
取引の過程で,我々は注文に対して施すのは動作である:倉庫表を開く,倉庫表を開く,倉庫表を撤回する,倉庫表を平らにする,倉庫表を平らにする;我々は受け取るのは,注文の状態フィードバックが施す動作の結果である:未全交付,全交付,撤回表 ((部分的に交付されたか未全交付されたか) ).したがって,我々は,注文に対して施す動作の後に,注文が返還を待っているこの状態を状態として標識することができる.例えば,動作は倉庫表を開く状態を標識する.–>倉庫開くingまたは倉庫開いている.

このように,単一契約の取引過程で,注文がどのような状態にあるかを厳格に区別することができる.また,手順は,その異なる状態に応じて対応することができる.例えば,平仓の超時撤回後に,元の価格で平準を維持するか,または一定の滑落価格を追加して平準を維持するか,または相手の挂起注文価格で平準を維持するか,あなたの戦略に応じて制御することができる.
もちろん,あなたが意図した状態の制御の流れもできます.例えば,上図で,撤回開設ing 收益は撤回が成功し,開設取引が完了した後,状態は可平に流れず,以前の目標ポジションに従って継続する方法を選択します. 残りのポジションでポジションを開設し,その後,開設ingに流れます.
しかし,前述のように,命令にアクションを施し,委託の報酬や交付の報酬を,命令にアクションを施した後のいくつかのフィードバックに集約し,アクションのフィードバックを待っている間,注文状態を設定します.この考え方に従って,私たちはすべてのアクションを列挙し,それから2つの契約の動作を組み合わせて,そしてさらに追加してing,すべての状態を列挙します.
契約に施される動作:開く,平く,撤回するなど。など。は,一方の足がポジションを保有した後,アバターズ原則に従って,もう一方の足が平らにならなければならない。したがって,まずは良い一方の足を確立し,もう一方の足も逆のポジションを確立するのを待たなければならず,アバターズポートフォリオを構成する。
双重契約の注文は次の表に含まれます.

このように,注文の操作後のフィードバックに基づいて,必要な状態マシンを構成できます. 下の図は,取引先を開設し,アスファルトポートフォリオを構築するときに考慮する状態マシンです.

利回りポートフォリオの論理と状態は,基本流動と開設位置の構築に一致しており,ここでは説明することはありません.
ロナールガオのブログより