SMC Ultimate
- インディケータ
-
Ahmed Hamed Hamed Eadwan
JAPANESE TRANSLATION — 日本語
===============================
TITLE:
MQL5開発者&トレーダー | R protocols創設者
ABOUT:
こんにちは、私はAhmedです。アラブ首長国連邦を拠点とする
トレーダー兼MQL5開発者、R protocolsの創設者です。
1984年からコードを書き、2006年から市場で取引を行っています。
長年にわたり、自分の使用のためにトレーディングツールを開発し、
実市場経験を通じて改良してきました。 - バージョン: 1.0
- アクティベーション: 5
SMC Ultimate
MetaTrader 5 向けの機関投資家グレード Smart Money Concepts (SMC) / ICT 意思決定エンジンです。市場構造・流動性・Order Block・Fair Value Gap を分析し、スコア・符号化ステート・確定 Buy/Sell シグナルへ変換します。
ダッシュボード・描画・アラート付きで単体運用可能です。安定した 4 バッファ契約と固定 88 入力により、iCustom 経由で EA 連携にも対応します。
初回公開リリース(version 1.0)のローンチ価格です。初期アップデートやレビュー後に価格が上がる場合があります。
主な機能
- HTF / LTF 市場構造:スイング、BOS、CHoCH
- 流動性マップ:equal high/low とスイープ検出
- タッチ/無効化状態付き Order Block と Fair Value Gap
- Premium / Discount コンテキスト評価
- ヒステリシスロック付き加重マルチファクター・スコア
- Anti-Repaint:確定シグナルは確定足(shift 1)に固定
- チャートダッシュボード:トレンド、ゾーン、スコア、シグナル、バッファ
- アラート:ポップアップ、サウンド、プッシュ(クールダウン/1バー1回)
- EA Mode:描画を止め、互換 EA にデータを供給
- ChartID 付きオブジェクト接頭辞(複数インスタンス安全)
- EQH/EQL・FVG の任意 ATR 適応トレランス
- スプレッド/セッション/曜日フィルタ、セント口座モード
シグナルの仕組み
構造・流動性エンジンは確定足ロジックで更新されます。コンテキストは価格を Premium / Discount / Neutral に分類します。意思決定エンジンは設定可能な重みから上限付きスコアを構築します。任意の Strict-SMC スイープ規則で低品質エントリーをフィルタします。Anti-Repaint(既定 ON)時、確定 Buy/Sell は shift 1 に固定され、確定後は書き換えられません。矢印は確定済みの確定足のみに表示されます。
Anti-Repaint と Two-Pass
Anti-Repaint はコアの整合性機能で既定 ON です。履歴上の確定シグナルは確定後も固定されます。
Two-Pass Mitigation は実験的機能で既定 OFF です。履歴 OB/FVG の無効化精度を高められます。
両方 ON の場合、Anti-Repaint が自動優先します:
- 当セッションで Two-Pass を無効化
- input 値は変更しない(88 スロット EA 契約を維持)
- Experts ログに警告
- GUI 許可時はチャート Alert
- ダッシュボード表示:2-Pass:OFF(AR-Override)
意図的に Two-Pass を使う場合は Anti-Repaint = false にしてください。完全なデュアルモード統合は将来アップデート予定です。
ダッシュボード
- LTF / HTF トレンド
- Premium-Discount ゾーンと extreme タグ
- Swing / BOS / CHoCH / Sweep カウンタ
- 有効 OB・FVG 数
- スコアとシグナル:BUY / SELL / No Signal
- ヒステリシスロック状態
- Anti-Repaint と実効 Two-Pass 状態
- スプレッド、オブジェクト数、HTF フィード健全性
- バッファ読取:Score / Signal / State
EA バッファ
EA・カスタムツール向けに 4 つのインジケータバッファを出力します:
- Buffer 0 - SMC_BUY:確定 BUY で 1.0(shift 1 のみ)
- Buffer 1 - SMC_SELL:確定 SELL で 1.0(shift 1 のみ)
- Buffer 2 - SMC_SCORE:意思決定強度(ソフト上限 約 +/-200)
- Buffer 3 - SMC_STATE:HTF/LTF トレンドとスイープ符号化。スプレッド遮断時 +100000
確定 Buy/Sell は shift 1 のみ。shift 0 の Score/State は bar-1 文脈のライブプレビューです。時間フィルタは Buy/Sell を抑止し State は保持します。88 入力は位置固定で、安定した iCustom 読み取りを保証します。
iCustom 連携(EA コードスタイル)
Market インストール後、Navigator に表示される正確な名前を使用してください。例:Market\SMC Ultimate。確定エントリーは shift 1 のみ。バッファ配置は固定です:
- 0 = SMC_BUY
- 1 = SMC_SELL
- 2 = SMC_SCORE
- 3 = SMC_STATE
確認は必ず shift 1 で読み取ってください。
入力:位置スロット 88。順序変更禁止。41-46 は予約。末尾未指定 input は既定値を維持。
MQL5 コード(EA スケルトン)
#define SMC_BUF_BUY 0
#define SMC_BUF_SELL 1
#define SMC_BUF_SCORE 2
#define SMC_BUF_STATE 3
#define SMC_SHIFT_CONFIRMED 1
#define SMC_SPREAD_BLOCK_MARK 100000.0
int g_smc_handle = INVALID_HANDLE;
datetime g_smc_last_bar = 0;
int OnInit()
{
g_smc_handle = iCustom(_Symbol, PERIOD_CURRENT, "Market\\SMC Ultimate");
if(g_smc_handle == INVALID_HANDLE)
{
Print("SMC Ultimate: iCustom failed, error=", GetLastError());
return INIT_FAILED;
}
return INIT_SUCCEEDED;
}
// Optional: pass inputs by frozen 88-slot order only if needed
// g_smc_handle = iCustom(_Symbol, PERIOD_CURRENT, "Market\\SMC Ultimate", ...);
// Enable EA Mode in indicator inputs for chart-less EA use.
bool SMC_Read(const int buffer_index, const int shift, double &out_value)
{
out_value = EMPTY_VALUE;
if(g_smc_handle == INVALID_HANDLE) return false;
double tmp[];
ArraySetAsSeries(tmp, true);
if(CopyBuffer(g_smc_handle, buffer_index, shift, 1, tmp) != 1)
return false;
out_value = tmp[0];
return true;
}
bool SMC_IsValidNum(const double v)
{
return (v != EMPTY_VALUE && MathIsValidNumber(v));
}
bool SMC_DecodeState(double state_raw,
bool &spread_blocked,
int &htf_trend,
int <f_trend,
int &sweep_enc)
{
spread_blocked = false;
htf_trend = 0; ltf_trend = 0; sweep_enc = 0;
if(!SMC_IsValidNum(state_raw)) return false;
double s = state_raw;
if(s >= SMC_SPREAD_BLOCK_MARK)
{
spread_blocked = true;
s -= SMC_SPREAD_BLOCK_MARK;
}
int sv = (int)MathRound(s);
htf_trend = sv / 100 - 1; // -1 bear, 0 flat, +1 bull
ltf_trend = (sv % 100) / 10 - 1; // -1 bear, 0 flat, +1 bull
sweep_enc = sv % 10; // 0 none, 1 buy-side, 2 sell-side
return true;
}
void OnTick()
{
datetime t[];
ArraySetAsSeries(t, true);
if(CopyTime(_Symbol, PERIOD_CURRENT, 0, 2, t) != 2) return;
if(t[0] == g_smc_last_bar) return;
g_smc_last_bar = t[0];
double buy=0, sell=0, score=0, state=0;
if(!SMC_Read(SMC_BUF_BUY, SMC_SHIFT_CONFIRMED, buy)) return;
if(!SMC_Read(SMC_BUF_SELL, SMC_SHIFT_CONFIRMED, sell)) return;
if(!SMC_Read(SMC_BUF_SCORE,SMC_SHIFT_CONFIRMED, score)) return;
if(!SMC_Read(SMC_BUF_STATE,SMC_SHIFT_CONFIRMED, state)) return;
bool spread_blocked; int htf, ltf, sweep;
if(!SMC_DecodeState(state, spread_blocked, htf, ltf, sweep)) return;
if(spread_blocked) return;
const bool is_buy =
SMC_IsValidNum(buy) && buy > 0.5 && buy < 1.0e10;
const bool is_sell =
SMC_IsValidNum(sell) && sell > 0.5 && sell < 1.0e10;
if(is_buy)
{
PrintFormat("SMC BUY confirmed | score=%.0f htf=%d ltf=%d sweep=%d",
score, htf, ltf, sweep);
// --- risk + OrderSend / trade.Buy() ---
}
else if(is_sell)
{
PrintFormat("SMC SELL confirmed | score=%.0f htf=%d ltf=%d sweep=%d",
score, htf, ltf, sweep);
// --- risk + OrderSend / trade.Sell() ---
}
}
void OnDeinit(const int reason)
{
if(g_smc_handle != INVALID_HANDLE)
{
IndicatorRelease(g_smc_handle);
g_smc_handle = INVALID_HANDLE;
}
}
連携ルール
- shift 1 の Buy/Sell のみ取引。shift 0 は使わない
- shift 0 の Score/State は監視用プレビューであり最終エントリーではない
- EMPTY_VALUE / 無効値 = 確定シグナルなし
- State >= 100000 なら 100000 を引き、新規エントリーしない(スプレッド遮断)
- State 符号化:(htf+1)*100 + (ltf+1)*10 + sweepEnc
- パネル/オブジェクト不要なら EA Mode を有効化
- CopyBuffer の戻り値を必ず確認
- ロット、SL/TP、資金管理は EA 側のみ
SMC Ultimate は意思決定バッファを提供します。執行とリスクは EA 側の責任です。
推奨スタート
- 常用時間足に適用(M15-H1 が一般的。全 TF 対応)
- Anti-Repaint = true を維持
- 意図的必要がなければ Two-Pass = false
- 銘柄に合わせて MaxSpread を設定
- ライブ観察後に MinDecisionScore と重みを調整
- EA 利用時:EA Mode を有効化し iCustom で 4 バッファを読む
ベストプラクティス
- 保証付きシグナル印刷機ではなく意思決定エンジンとして扱う
- 確信度向上:HTF 整合 + 支持スイープ + 非 extreme ゾーン
- ブローカー・スプレッドと自身のリスク上限を尊重
- Strategy Tester ではオブジェクト/アラート確認に Visual モードを使用
- チャートあたり 1 インスタンスが理想。複数は ChartID で隔離
入力グループ(全 88・順序固定)
- 安全:スプレッド、Strict SMC、Anti-Repaint、EA Mode
- 取引時間・曜日フィルタ
- ATR 適応トレランス
- 意思決定スコア重み
- コア構造:HTF、swing strength、lookback
- 意思決定閾値とゾーン無効化(実験的 Two-Pass 含む)
- 固定モード定数
- EA 互換予約スロット
- チャートオブジェクト上限
- 表示、アラート、ダッシュボード配置
- 色とログ
位置ベース連携時、予約スロットを並べ替え・削除・転用しないでください。
バージョン 1.0
MQL5 Market 初の公開リリース。完全な SMC/ICT スタック、Anti-Repaint スナップショットエンジン、AR 競合を能動解決する実験的 Two-Pass、4 バッファ EA 契約、固定 88 入力、ChartID 複数インスタンス接頭辞、ATR 適応、機関級ダッシュボード、スプレッド/セッション/ヒステリシス制御を含みます。
サポート
作者プロフィールの MQL5.org メッセージを利用してください。銘柄・時間足・入力スクショ・Experts メッセージを添え、妥当な返信時間を見込んでください。
免責事項
取引には損失リスクがあります。過去の構造パターンは将来結果を保証しません。SMC Ultimate は分析的な意思決定支援インジケータであり、金融助言ではありません。リスク管理と注文執行の責任はすべて利用者にあります。
