このコードは、CArrayIntを使って注文のチケットを管理します。onTimerでチケットリストの変化を監視し、以下のイベントハンドラーをトリガーします:
//+------------------------------------------------------------------+ //| ストップロスがヒットしたときのイベントハンドラー | //+------------------------------------------------------------------+ void onStopLoss(ulong ticket); //+------------------------------------------------------------------+ //| テイクプロフィットがヒットしたときのイベントハンドラー | //+------------------------------------------------------------------+ void onTakeProfit(ulong ticket); //+------------------------------------------------------------------+ //| 新しい注文がオープンされたときのイベントハンドラー | //+------------------------------------------------------------------+ void onTradeEntry(ulong ticket); //+------------------------------------------------------------------+ //| 注文がクローズ(削除)されたときのイベントハンドラー | //+------------------------------------------------------------------+ void onTradeExit(ulong ticket);
注: MQL5のonTradeTransactionハンドラーのすべての機能が実装されているわけではありません。これは基本的なアプローチに過ぎません。
以下のスクリーンショットでは、EAの出力ログを確認できます:
