Zero Lag MA Trend Levels Chart Primeをアラート付けて改造

zerolagインジサムネ (1) 無料インジケーター

海外のFX手法でよく使われるインジケーター、Zero Lag MA Trend Levels Chart Prime(ゼロラグMA)。

TradingViewでも利用者が多い人気のインジなのですが、アラートが使いにくくて「チャートに張り付いてないといけない」状態になるのが悩ましいところでした。

このページでは、Zero Lag MAの考え方をもとに作ったオリジナルインジ「ZL Trend Indicator [ZLT]」を配布しています。

アラートが使いやすくなっているので、チャートから離れていても通知を受け取れます。誰でも無料で使っていただけます。

Zero Lag MA Trend Levels Chart Primeとは?

zerolagインジ

TradingViewで探して導入するとこんな感じになります。

ざっくり説明すると、大きな動きが起きてオーダーブロックが発生。そのオーダーブロックに一度入るけど、ヒゲで押し返されたときにサインが出るインジケーターです。

オーダーブロック発生で◆マーク、BUYかSELLで▲▼マークが出ます。

 

オーダーブロックって狙っていてもそのまま貫通して「オイッ!!!」ってなることありますが、リバウンドを確認してからサインが出るので合理的な作りになっています。

ローソク足下落イラスト

なぜ独自インジを作ったか

元のZero Lag MA Trend Levels Chart Primeはとても優秀なインジですが、アラート設定がかなり使いにくいという問題がありました。

以前は元のコードに手を加えたバージョンを配布していましたが、他の方のコードをベースにして再配布するのは著作権面でグレーなので、今回ゼロから書き直したものを新たに作りました。

コンセプトは同じで、使い勝手はむしろ良くなっています。

 

ZL Trend Indicator [ZLT]

ZLTインジケーター

 

今回作ったのが「ZL Trend Indicator [ZLT]」です。

Zero Lag MAの核心にある「EMAのラグをclose-EMAの差分で補正する」という計算をベースに、クロス発生時のATRでゾーン(上下2本のライン)を自動設定します。

価格がそのゾーンに一度入って押し返されたタイミングでトライアングルシグナルが出る、という元のインジと同じ考え方で動きます。

Tradingviewでも ZL Trend Indicator という名前で無料公開しています。

設定項目

Zero Lag MA

  • ZLMA Length:15(MAの期間。短くすると反応が速くなります)

Trend Zone

  • Zone ATR Period:200(ゾーンの幅を決めるATRの期間)

Colors

  • + / −:上昇・下降トレンドの色を変更できます

 

コード

//@version=6
// ================================================================
// ZL Trend Indicator [ZLT]
// 完全オリジナル実装
// ① Zero Lag MA (ZLMA):EMAラグをclose-EMAの差分で補正した独自MA
// ② Trend Zone:クロス時にATRベースの上下2ラインでゾーンを表示
// ③ Retest Signal:ゾーンへのリテスト後の押し返しでトライアングル表示
// ================================================================
indicator("ZL Trend Indicator", shorttitle="ZLT", overlay=true, max_lines_count=500)

// ── パラメータ ───────────────────────────────────────────────────
var g_ma = "Zero Lag MA"
var g_lv = "Trend Zone"

length   = input.int(15,  title="ZLMA Length",     minval=2,  group=g_ma)
atrLevel = input.int(200, title="Zone ATR Period", minval=10, group=g_lv)

colUp = input.color(color.rgb(48, 212, 83), "+", group="Colors", inline="c")
colDn = input.color(color.rgb(64, 67, 241), "-", group="Colors", inline="c")

// ── Zero Lag MA計算 ─────────────────────────────────────────────
ema1 = ta.ema(close, length)
corr = close + (close - ema1)
zlma = ta.ema(corr, length)

// ── クロス判定 ──────────────────────────────────────────────────
crossUp   = ta.crossover (zlma, ema1)
crossDown = ta.crossunder(zlma, ema1)
isBull    = zlma > ema1
isBear    = zlma < ema1

// ── Trend Zone(クロス時のATRで上下2ラインを固定保存) ───────────
atrL = ta.atr(atrLevel)

var float zoneTop     = na
var float zoneBot     = na
var bool  touchedZone = false
var bool  inBull      = false

if crossUp
    zoneTop     := zlma
    zoneBot     := zlma - atrL
    touchedZone := false
    inBull      := true

if crossDown
    zoneTop     := zlma + atrL
    zoneBot     := zlma
    touchedZone := false
    inBull      := false

// ── リテスト検出 ─────────────────────────────────────────────────
if not na(zoneTop) and not touchedZone
    if inBull     and low  <= zoneTop and low  >= zoneBot
        touchedZone := true
    if not inBull and high >= zoneBot and high <= zoneTop
        touchedZone := true

// ── シグナル(リテスト後にゾーン外へ押し返された最初の1バー) ────
buySignal_raw  = inBull      and touchedZone and close > zoneTop
sellSignal_raw = not inBull  and touchedZone and close < zoneBot

buySignal  = buySignal_raw  and not buySignal_raw[1]
sellSignal = sellSignal_raw and not sellSignal_raw[1]

// ── 表示 ─────────────────────────────────────────────────────────
// ZLMAとEMAのライン
zlmaCol = zlma > zlma[3] ? colUp : zlma < zlma[3] ? colDn : color.gray
emaCol  = ema1 < zlma ? colUp : colDn

p1 = plot(zlma, title="ZLMA", color=zlmaCol, linewidth=2)
p2 = plot(ema1, title="EMA",  color=emaCol,  linewidth=1)
fill(p1, p2, color=color.new(color.gray, 85))

// ゾーン上下2ライン
zoneCol = inBull ? colUp : colDn
plot(zoneTop, title="Zone Top", color=color.new(zoneCol, 40), linewidth=1, style=plot.style_line)
plot(zoneBot, title="Zone Bot", color=color.new(zoneCol, 40), linewidth=1, style=plot.style_line)

// ダイヤモンド(クロスシグナル)
plotshape(crossUp   ? zlma : na, "", shape.diamond, location.absolute, color=colUp, size=size.tiny)
plotshape(crossDown ? zlma : na, "", shape.diamond, location.absolute, color=colDn, size=size.tiny)

// トライアングル(リテスト確認シグナル)
plotshape(buySignal,  title="BUY",  style=shape.triangleup,   location=location.belowbar, color=colUp, size=size.small)
plotshape(sellSignal, title="SELL", style=shape.triangledown, location=location.abovebar, color=colDn, size=size.small)

// ── アラート ─────────────────────────────────────────────────────
alertcondition((buySignal  or sellSignal) and barstate.isconfirmed, title="Triangle Signal ▲▼", message="{{ticker}}, {{interval}}: Triangle Signal")
alertcondition((crossUp    or crossDown)  and barstate.isconfirmed, title="Diamond Signal ◆",   message="{{ticker}}, {{interval}}: ZLMA Cross")
alertcondition(buySignal   and barstate.isconfirmed,                title="BUY Signal ▲",       message="{{ticker}}, {{interval}}: BUY")
alertcondition(sellSignal  and barstate.isconfirmed,                title="SELL Signal ▼",      message="{{ticker}}, {{interval}}: SELL")

 

アラートについて

アラート条件は4種類あります。

  • 「Triangle Signal ▲▼」:BUY・SELL両方まとめて1枠で拾えます
  • 「Diamond Signal ◆」:ZLMAとEMAがクロスした時
  • 「BUY Signal ▲」:BUYシグナル単独
  • 「SELL Signal ▼」:SELLシグナル単独

アラートを節約したい場合はTriangle Signal ▲▼だけ設定すればBUY・SELL両方の通知が来ます。

アラートの設定は「バーの終値時」にしておくのが確実です。

 

使い方について

値動きをわかりやすく可視化してくれるので、使い方のパターンはいくつか考えられます。

例えばトライアングルサインを基準に損切りを直近安値(SELLなら直近高値)に設定して、利確ラインを1:1.5にするシンプルな使い方。

他にも200EMAより上にある時はBUYサインだけに従うというフィルターをかけると、トレンド方向に絞れてシンプルになります。

 

インジ自体はとても機能的なので、自分を制御できるような他のインジとの組み合わせやルール作り次第で活用の幅が広がると思います。

使う時間足や通貨ペアによっても結果が変わるので、必ずご自身で確認してから使用してください。

 
あと、MT4やMT5など他のツールでチャートを見ている方はぜひ一度TradingViewを見てみてください。

無料でも十分多機能で使いやすさはダントツです。

TradingView

コピペで使えるインジケーターについて

TradingViewへの追加の仕方がわからない方は

≫【画像で簡単】TradingViewオリジナルインジケーター追加方法

コチラの記事を参考にしてください。慣れると簡単ですよ。

 

もし「こんなインジケーターが欲しい」という希望があれば、コメント欄にどうぞ。

トレーディングビュー用限定になってしまいますが、可能な範囲で作りますのでお気軽に

投資についての免責事項

当ブログで紹介する情報は、あくまで個人的な見解や分析結果であり、投資を推奨するものではありません。実際の投資判断は、ご自身の責任において行っていただきますようお願いいたします。
詳しくは免責事項をご覧ください。

無料インジケーター
Shiroiをフォローする

コメント

  1. あゆむ より:

    はじめまして
    これって何分足がいいですかね?

    • Shiroi Shiroi より:

      気づかず遅くなりました。扱う通貨によって合う時間足は変わると思います。
      普段使う通貨、自分に合った時間足に付けて目視で確認してみるとイイかと思いますよ。

タイトルとURLをコピーしました