- Init
- Magic
- InitSignal
- InitTrailing
- InitMoney
- InitTrade
- Deinit
- OnTickProcess
- OnTradeProcess
- OnTimerProcess
- OnChartEventProcess
- OnBookEventProcess
- MaxOrders
- Signal
- ValidationSettings
- InitIndicators
- OnTick
- OnTrade
- OnTimer
- OnChartEvent
- OnBookEvent
- InitParameters
- DeinitTrade
- DeinitSignal
- DeinitTrailing
- DeinitMoney
- DeinitIndicators
- Refresh
- Processing
- SelectPosition
- CheckOpen
- CheckOpenLong
- CheckOpenShort
- OpenLong
- OpenShort
- CheckReverse
- CheckReverseLong
- CheckReverseShort
- ReverseLong
- ReverseShort
- CheckClose
- CheckCloseLong
- CheckCloseShort
- CloseAll
- Close
- CloseLong
- CloseShort
- CheckTrailingStop
- CheckTrailingStopLong
- CheckTrailingStopShort
- TrailingStopLong
- TrailingStopShort
- CheckTrailingOrderLong
- CheckTrailingOrderShort
- TrailingOrderLong
- TrailingOrderShort
- CheckDeleteOrderLong
- CheckDeleteOrderShort
- DeleteOrders
- DeleteOrder
- DeleteOrderLong
- DeleteOrderShort
- LotOpenLong
- LotOpenShort
- LotReverse
- PrepareHistoryDate
- HistoryPoint
- CheckTradeState
- WaitEvent
- NoWaitEvent
- TradeEventPositionStopTake
- TradeEventOrderTriggered
- TradeEventPositionOpened
- TradeEventPositionVolumeChanged
- TradeEventPositionModified
- TradeEventPositionClosed
- TradeEventOrderPlaced
- TradeEventOrderModified
- TradeEventOrderDeleted
- TradeEventNotIdentified
- TimeframeAdd
- TimeframesFlags
Processing
主要な処理アルゴリズムです。
virtual bool Processing() |
戻り値
取引操作が実行された場合は true、それ以外の場合は false
注意事項
下記のステップが実行されます。
1シンボルの未決済ポジションの存在を確認します。未決済ポジションがない場合、ステップ 2〜4 は抜かされます。
2. ポジション反転の条件をチェックします(CheckReverse() メソッド)。ポジションが反転された場合、終了します。
3. ポジション決済の条件をチェックします(CheckClose() メソッド)。ポジションが決済された場合、ステップ 4 が抜かされます。
4. ポジションパラメータ変更の条件をチェックします(CheckTrailingStop() メソッド)。ポジションパラメータが変更された場合、終了します。
5. シンボルの未決注文の存在を確認します。未決注文がない場合、ステップ 9 に行きます。
6. 注文削除の条件のチェックします(買い未決注文と売り未決注文に CheckDeleteOrderLong() と CheckDeleteOrderShort() のそれぞれが使用されます)。注文が削除された場合、ステップ 9 に行きます。
7. 未決注文パラメータ変更の条件をチェックします(買い注文と売り注文にCheckTrailingOrderLong() と CheckTrailingOrderShort() のそれぞれが使用されます)。パラメータが変更された場合、終了します。
8. 終了します。
9. 注文を出す条件をチェックします(CheckOpen() メソッド)。
自分独自のアルゴリズムを実装したい場合は、派生クラスの Processing() メソッドをオーバーライドする必要があります。
実装
//+------------------------------------------------------------------+ |