TriZone Semafor MT4
- インディケータ
-
Ahmed Hamed Hamed Eadwan
JAPANESE TRANSLATION — 日本語
===============================
TITLE:
MQL5開発者&トレーダー | R protocols創設者
ABOUT:
こんにちは、私はAhmedです。アラブ首長国連邦を拠点とする
トレーダー兼MQL5開発者、R protocolsの創設者です。
1984年からコードを書き、2006年から市場で取引を行っています。
長年にわたり、自分の使用のためにトレーディングツールを開発し、
実市場経験を通じて改良してきました。 - バージョン: 1.0
TriZone Semafor — 3階層排他型信号 ZigZag(単体動作 — 内置 ZigZag、外部インジケーター不要)
ZigZagの矢印だらけのチャートを見て、どれが本当に重要なのか疑問に思ったことがあれば、このインジケーターはその憾憾を解消するために開発されました。
TriZone Semafor は同時に3つの独立したZigZagアルゴリズムを実行します:高適(パリオド5)、中顏(パリオド13)、低適(パリオド34)。同じローソク上でピボットを検出した場合、最も重要な信号だけが生き残ります。レベル3が常にレベル2を優先します。レベル2が常にレベル1を優先します。ローソクそれぞれの方向につき1つのミーカな矢印 — 重装なし、重複計算なし。
なぞ1つではなく3つのレベルなのか
単一のZigZagはすべてのスイングを同じように抗います。同じインジケーターが2本のブルバックと大きなトレンド逆転を同じ矢印でマークします。TriZoneは各ピボットの重要度で分類し、一目だけでチャートの階層構造を読み取れます。
- レベル1 — ླྀ適: 小さなブルバックと錨要なピボット。構造の下の構造。
- レベル2 — 中顏: デイトレードのスイングと極めて極めて極めて極めて極めて極めて極めて反応。ボートリディアーが参照するピボット。
- レベル3 — 低適: 大きな構造的な転拡点。トレンドの継衍が本当に疑問とされるポイント。
各レベルはそれぞれの矢印の形と色を持つため、凡例を見ずにも瞬時に階層を見てとります。
排他型信号システム
各ローソクは1つのルールを通過します:上位レベルがそのローソクでピボットを主張した場合、すべての下位レベルの主張が削除されます — 隠されるのではなく、削除されるのです。これはインジケーターのバッファ内で行われ、チャートに届く前に完了します。チャートは実際の状態を反映し、錨層したオーバーレイではありません。
アンチリペイントモード
AntiRepaint = ONの場合、配定された確認バー数が経過した後でのみ信号が描画されます。見える矢印はすでに安定性ウインドウを組みとており、動きません。インジケーターはチャートのタイトルバーに現在のモードと確認深度を表示します — 読んでいる内容について完全な透明性を保ちます。
AntiRepaint = OFFの場合、信号は形成中のローソクに即時に表示されます。視覚的参照に役立ちます。自動化ロジックには推奨しません。
アラートシステム
アラートは計算中にキューに格納され、排他性パスが信号の生存を確認した後でかのみ配信されます。レベル1の信号が直後にレベル3により上書きされた場合のポップアップを受け取ることはありません。1つの確認ピボット — 1つのアラート。レベルごとに独立して設定可能です。
- 完全に独立したパラメーターを持つ3つのZigZag検出レベル
- バッファレベルでの排他信号優先步の — 各ローソクで最高レベルが勝習
- 確認ピボットのみのポップアップアラート — ファントムアラートなし
- レベルごとに設定可能な確認バー数を持つアンチリペイントモード
- すべてのシンボル、すべての時間框 — MetaTrader 4
- 単一ファイル — 外部依存依賴しなし、DLLなし、カスタムincludeなし
推奨開始点
默認パラメーターでH1またはH4を開いてください。默認深度5 / 13 / 34は標準Fibonacci数列に従います — 多くのインストルメントと時間框に自然に適しています。
レベル3のピボットが構造的参照です。レベル2がデイトレードの參照点です。レベル1はその間の錨要構造を示します。深度(Period)と確認バー数(ConfirmBars)をあなたのスタイルに合わせて調整してください。
互換性
MetaTrader 4 — すべてのブローカー、すべてのシンボル、すべての時間框。外部ライブラリなし。DLLインポートなし。単一の.ex4ファイル、完全に独立。
iCustomリファレンス — TriZone_Semafor
出力バッファ
排他性はインジケーターで既に適用されています。
各ローソクで最も高いアクティブなレベルのみが非空です。
EMPTY_VALUE = そのバー/レベルにピボットなし。
AntiRepaint ONの場合、shift >= max(ConfirmBars1, ConfirmBars2, ConfirmBars3)で読み取り — 默認:shift >= 4。
| バッファ | インデックス | 信号 | 内容 |
|---|---|---|---|
| BufLow1 | 0 | BUY | レベル1低ピボット価 — 高適ZigZag |
| BufHigh1 | 1 | SELL | レベル1高ピボット価 — ླྀ適ZigZag |
| BufLow2 | 2 | BUY | レベル2低ピボット価 — 中顏ZigZag |
| BufHigh2 | 3 | SELL | レベル2高ピボット価 — 中顏ZigZag |
| BufLow3 | 4 | BUY | レベル3低ピボット価 — 低適ZigZag |
| BufHigh3 | 5 | SELL | レベル3高ピボット価 — 低適ZigZag |
入力パラメーター
# = iCustom()呼出での位置(0ベース、Symbol / Period / FileNameの後)
MT4では、すべてのパラメーターを順番に渡す必要があります。中顏のパラメーターをスキップできません。
末尾のパラメーターは省略可能です(默認値使用)。
| # | 名前 | 型 | 默認 | 範囲 | 説明 |
|---|---|---|---|---|---|
| レベル1 — ླྀ適ZigZag | |||||
| 0 | ColorL1Low | color | clrAqua | color | レベル1低矢印色 |
| 1 | ColorL1High | color | clrMagenta | color | レベル1高矢印色 |
| 2 | Period1 | int | 5 | 2-500 | ピボット深度 |
| 3 | Deviation1 | int | 1 | 1-100000 | 最小偏差(ポイント) |
| 4 | Backstep1 | int | 3 | 1-(P-1) | 連続ピボット間最小バー |
| 5 | HighSymbol1 | int | 159 | Wingdings | 高矢印(159/108/116) |
| 6 | LowSymbol1 | int | 159 | Wingdings | 低矢印 |
| 7 | ConfirmBars1 | int | 2 | 1-50 | 確認バー |
| レベル2 — 中顏ZigZag | |||||
| 8 | ColorL2Low | color | clrDodgerBlue | color | レベル2低色 |
| 9 | ColorL2High | color | clrOrchid | color | レベル2高色 |
| 10 | Period2 | int | 13 | 2-500 | 深度 |
| 11 | Deviation2 | int | 8 | 1-100000 | 偏差 |
| 12 | Backstep2 | int | 5 | 1-(P-1) | 最小バー |
| 13 | HighSymbol2 | int | 108 | Wingdings | 高矢印 |
| 14 | LowSymbol2 | int | 108 | Wingdings | 低矢印 |
| 15 | ConfirmBars2 | int | 3 | 1-50 | 確認 |
| レベル3 — 低適ZigZag | |||||
| 16 | ColorL3Low | color | clrGold | color | レベル3低色 |
| 17 | ColorL3High | color | clrOrangeRed | color | レベル3高色 |
| 18 | Period3 | int | 34 | 2-500 | 深度 |
| 19 | Deviation3 | int | 21 | 1-100000 | 偣差 |
| 20 | Backstep3 | int | 12 | 1-(P-1) | 最小バー |
| 21 | HighSymbol3 | int | 116 | Wingdings | 高矢印(116=ダイヤモンド) |
| 22 | LowSymbol3 | int | 116 | Wingdings | 低矢印 |
| 23 | ConfirmBars3 | int | 4 | 1-50 | 確認 |
| インスタンス管理 | |||||
| 24 | InstanceID | string | "A" | 任意 | 一意タグ |
| 25 | DebugMode | ENUM_ONOFF | OFF (0) | 0 / 1 | ジャーナル出力 |
| 26 | HeadlessMode | ENUM_ONOFF | OFF (0) | 0 / 1 | iCustom時にON |
| アンチリペイント | |||||
| 27 | AntiRepaint | ENUM_ONOFF | ON (1) | 0 / 1 | 確認信号はつつつつつつつつつつ |
| 28 | SafeArrows | ENUM_ONOFF | OFF (0) | 0 / 1 | 安全なシフト |
| アラートシステム | |||||
| 29 | AlertMode | ENUM_ALERT_MODE | 1 (Popup) | 0-3 | 0=なし 1=Popup 2=Push 3=全部 |
| 30 | AlertLevel1 | ENUM_ONOFF | OFF (0) | 0 / 1 | レベル1アラート |
| 31 | AlertLevel2 | ENUM_ONOFF | ON (1) | 0 / 1 | レベル2アラート |
| 32 | AlertLevel3 | ENUM_ONOFF | ON (1) | 0 / 1 | レベル3アラート |
合計: 33パラメーター (0-32)
iCustomコード例
ファイル名: "TriZone_Semafor" (.ex4なし) — EA内では常にHeadlessMode = true。
MT4では、iCustomは直接にdoubleを返します。handle、CopyBuffer、IndicatorRelease不要。
double TZS_GetBuffer(int bufferIndex, int shift)
{
return iCustom(Symbol(), Period(), "TriZone_Semafor",
clrAqua, clrMagenta, 5, 1, 3, 159, 159, 2,
clrDodgerBlue, clrOrchid, 13, 8, 5, 108, 108, 3,
clrGold, clrOrangeRed, 34, 21, 12, 116, 116, 4,
"EA1", false, true, true, false,
0, false, false, false, bufferIndex, shift);
}
void OnTick()
{
int safeShift = 4;
double lo1 = TZS_GetBuffer(0, safeShift);
double hi1 = TZS_GetBuffer(1, safeShift);
double lo2 = TZS_GetBuffer(2, safeShift);
double hi2 = TZS_GetBuffer(3, safeShift);
double lo3 = TZS_GetBuffer(4, safeShift);
double hi3 = TZS_GetBuffer(5, safeShift);
double ev = EMPTY_VALUE;
int buyLevel = (lo3 != ev) ? 3 : (lo2 != ev) ? 2 : (lo1 != ev) ? 1 : 0;
int sellLevel = (hi3 != ev) ? 3 : (hi2 != ev) ? 2 : (hi1 != ev) ? 1 : 0;
if(buyLevel > 0 && sellLevel == 0)
PrintFormat("BUY signal | Level %d | shift %d", buyLevel, safeShift);
else if(sellLevel > 0 && buyLevel == 0)
PrintFormat("SELL signal | Level %d | shift %d", sellLevel, safeShift);
}
void OnDeinit(const int reason)
{
// MT4はhandle不要 — 釈放不要。
}
よくあるミス
| ミス | 症状 | 解決 |
|---|---|---|
| InstanceID重複 | INIT_PARAMETERS_INCORRECT | 一意ID |
| HeadlessMode = false | 描画 + アラート | #26 = true |
| AntiRepaintでshift = 0 | EMPTY_VALUE | shift >= 4 |
| AlertMode != 0 | Alert()がTesterをブロック | #29 = 0 |
| ファイル名誤り | 0 / EMPTY_VALUE | "TriZone_Semafor" |
| 色パラメーター不足 | 値誤り | 全33パラメーター |
| パラメーター順序誤り | 信号誤り | 表に従う(0-32) |
