私たちのファンページに参加してください
- ビュー:
- 33
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
概要
CExecutionSafetyは軽量なMQL5インクルードクラスで、劣悪なネットワークまたは実行条件下でExpert Advisorが取引を実行しないように保護するように設計されています。
ライブターミナルpingとリアルウォールクロック実行遅延の2つの遅延コンポーネントを測定し、それらの合計値が設定可能な閾値を超えた場合に取引の試みをブロックします。
解決する問題
ほとんどのEAはネットワーク状況に関係なくやみくもに実行します。重要な注文中にPingの急上昇やブローカー側の約定遅延が発生すると、スリッページ、リクオート、または決済の失敗が発生する可能性があります。
CExecutionSafetyは取引前のセーフティゲートを導入し、コンディションが悪化した場合に約定を防止します。
仕組み
このクラスは2つのデータソースを使用します:
- TERMINAL_PING_LAST: MetaTerminalによって記録された最新のpingを読み取ります(ミリ秒単位)。
- RecordExecDelay(): CTradeの操作に巻き付けるウォールクロックの測定値を受け取ります。
これら2つの値は合計され、設定されたしきい値と比較されます。合計された遅延が閾値を超えた場合、CheckExecutionSafety() は false を返し、診断ログ・エントリーを表示します。

切断ガード
端末にサーバとの接続がない場合、TERMINAL_PING_LAST は -1 を返します。このクラスはこれを検出して自動的に false を返し、切断された端末での取引の試行を防止します。
統合の例
ファイルをインクルードし、EA でクラスをインスタンス化します:
#include <DeeFX/CExecutionSafety.mqh> CExecutionSafety safety; int OnInit() { safety.Init(150); // 150ms 結合しきい値 return INIT_SUCCEEDED; } void OnTick() { if(!safety.CheckExecutionSafety()) return; ulong t0 = GetTickCount64(); trade.PositionClose(ticket); safety.RecordExecDelay(GetTickCount64() - t0); }.
アクセサ
以下の読み取り専用アクセサは、ダッシュボード表示または外部ロジックで使用できます:
- GetPingMs() : 現在の端末の ping を ms 単位で取得します。
- GetExecDelayMs() : 最後に記録された実行遅延 (ms 単位)
- GetCombinedMs() : ping + 実行遅延の合計 (切断された場合は 9999 を返す)
- HasExecSample(): 少なくとも1つの測定が記録されるとtrueを返す
- GetThresholdMs(): 設定された安全閾値
変更履歴
- v1.0- 初期リリース
- v1.1- ガード・マクロの名前を変更。I64uフォーマット指定子を(文字列)キャストに変更。
- v1.2- Init()の戻り値の型を変更 void → bool.再起動の際に状態をリセットし、サンプルの陳腐化を防止
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/70033
Combine Multi Timeframe Trends into one trend using MA.
MAを使って複数のタイムフレームのトレンドを1つのトレンドにまとめる。
Modern Time Panel - Candle Time
MT5用モダンタイムパネル モダンタイムパネルは、MetaTrader 5用の洗練されたミニマルなカスタムインジケーターで、正確な時間追跡をサポートします。チャートの右上に整然と固定され、現在のブローカータイム、ローカルタイム、次のローソク足(新しいバー)までのライブカウントダウンを表示します。独立した1秒タイマーを内蔵しており、マーケットが低速であったり、ティックが入力されていない場合でも、カウントダウンは継続的に実行されます。完全にカスタマイズ可能で、ダークモードにも対応し、ローソク足の終値を見逃すことのない完璧なツールです。
Adaptive Moving Average (AMA)
適応移動平均線は、ノイズの影響を受けにくい移動平均線を作るときに使われ、トレンドを検知する際にラグが最小に抑えられるという特徴を持ちます。
Accelerator Oscillator (AC)
アクセルレーション/デセレレーションインジケーター(AC)は現在の市場を動かす力の加速と減速を測ります。