OnInit 初期化処理
状態オブジェクトを生成して、配列を作成
OnDeinit 終了処理
状態オブジェクトを削除してメモリを開放
CStatusクラス
状態オブジェクトの基底クラス。テスト用のスタブとしても利用可能。
init_posクラス
ポジションなし状態
sell_signal
売り注文を出して売り注文中に遷移
buy_signal
買い注文を出して買い注文中に遷移
check
※起動時は常にこの状態なので、すでに本EAでのポジションがあるかチェックし、適切な状態に遷移する
magic_numberでポジションをチェック
買いポジションがあれば買いポジションありに遷移
売りポジションがあれば売りポジションありに遷移
それ以外のチケットがあれば決済注文中に遷移
buy_posクラス
買いポジションあり状態
sell_signal
決済注文を出して決済注文中に遷移
check
ポジションがなくなっていたら、ポジションなし状態に遷移
sell_posクラス
売りポジションあり状態
buy_signal
決済注文をだして決済注文中に遷移
check
ポジションがなくなっていたら、ポジションなし状態に遷移
buy_orderクラス
買い注文中状態
check
注文がクローズされていたらポジションなし状態へ遷移
買いポジションが成立していたら買いポジションあり状態へ遷移
sell_orderクラス
売り注文中状態
check
注文がクローズされていたらポジションなし状態へ遷移
売りポジションが成立していたら売りポジションあり状態へ遷移
close_orderクラス
決済注文中状態
check
注文がクローズされていたらポジションなし状態へ遷移
StatusArray配列
状態オブジェクトを管理するグローバル配列。添字が状態番号となる。
current
現在の状態オブジェクト。グローバル変数。(CStatus のポインター)
status
現在の状態番号。グローバル変数。