海外人気インジ Zero Lag MA Trend Levels Chart Primeに節約アラート付けた

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

海外のFX手法を見ているときに、「あれ?このインジすごくね?」というのを見つけました。

それがZero Lag MA Trend Levels Chart Prime。

トレーディングビューで調べてみても、すでに利用者も多いみたいです。

Zero Lag MA Trend Levels Chart Prime

zerolagインジ

トレーディングビューで探して導入するとこんな感じになります。

ザックリ説明すると、大きな動きが起きてオーダーブロックが発生。

そのオーダーブロックに一度入るけど、ヒゲで押し返されたときにサインが出るというインジケーターですね。

 

オーダーブロック発生で♦マーク。

BUYかSELLで▲マークが出ます。

 

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

 

実際設置してみた感じもいい感じでした。

Zero Lag MA アラート付けて改造

とってもいいインジだと思うのですが、アラートがとっても使いにくい。

交差?すると鳴るようにできたりしますが設定が大変。

 

使えるアラートがないとチャートに張り付いていないといけないのでトイレにも行けない。

ということで使いやすいアラート機能つけました。

 

//@version=5
indicator("ZLMA Trend", overlay = true, max_lines_count = 500, max_boxes_count = 500)

// User inputs
int  length     = input.int(15, "Length")
bool show_levl  = input.bool(true, "Trend Levels")

color up = input.color(#30d453, "+", group = "Colors", inline = "i")
color dn = input.color(#4043f1, "-", group = "Colors", inline = "i")

var box1         = box(na)
series float atr = ta.atr(200)

// Calculations
series float emaValue   = ta.ema(close, length)
series float correction = close + (close - emaValue)
series float zlma       = ta.ema(correction, length)

bool  signalUp          = ta.crossover(zlma, emaValue)
bool  signalDn          = ta.crossunder(zlma, emaValue)

// Pre-calculate crossover conditions
bool crossunder_cond = ta.crossunder(high, box1.get_bottom())
bool crossover_cond  = ta.crossover(low, box1.get_top())

color zlma_color        = zlma > zlma[3] ? up : zlma < zlma[3] ? dn : na
color ema_col           = emaValue < zlma ? up : dn

// Visualization
p1 = plot(zlma,     color = zlma_color, linewidth = 1)
p2 = plot(emaValue, color = ema_col,    linewidth = 1)
fill(p1, p2, zlma, emaValue, color.new(zlma_color, 80), color.new(ema_col, 80))

method draw_box(color col, top, bot, price)=>
    box.new(
             bar_index, top, bar_index, bot, col, 1, 
             bgcolor         = color.new(col, 90), 
             text            = str.tostring(math.round(price, 2)), 
             text_size       = size.tiny,
             text_color      = chart.fg_color,
             text_halign     = text.align_right
             )

// Box and signal logic
if show_levl
    bool check_signals = signalUp or signalDn

    switch
        signalUp => box1 := up.draw_box(zlma, zlma - atr, close)
        signalDn => box1 := dn.draw_box(zlma + atr, zlma, close)
    switch
        not signalUp or not signalDn => box1.set_right(bar_index + 4)  
        => box1 := box(na)
    
    if crossunder_cond and not check_signals[1] and not check_signals and emaValue > zlma
        label.new(bar_index - 1, high[1], "▼", color = color(na), textcolor = dn, style = label.style_label_down)
    if crossover_cond and not check_signals and not check_signals[1] and emaValue < zlma
        label.new(bar_index - 1, low[1],  "▲", color = color(na), textcolor = up, style = label.style_label_up)

plotshape(signalUp ? zlma : na, "", shape.diamond, location.absolute, color = up, size = size.tiny)
plotshape(signalDn ? zlma : na, "", shape.diamond, location.absolute, color = dn, size = size.tiny)

// Combined Alerts
alertcondition((crossover_cond and not signalUp and not signalUp[1] and emaValue < zlma) or (crossunder_cond and not signalDn[1] and not signalDn and emaValue > zlma), title="Triangle Signal ▲▼", message="{{ticker}} {{interval}}")
alertcondition(signalUp or signalDn, title="Diamond Signal ◆", message="{{ticker}} {{interval}}")

 

コピペで使えるはずです。

zerolagインジアラート機能 (1)

アラート画面にはこんな感じで表示されます。

 

BUYシグナルとSELLシグナルは、アラート項目節約するために1つにしました。

▲サイン(オーダーブロックで反発)が出ると鳴ります。

 

♦マークはオーダーブロック発生で出現しますが、まぁこれは使っても使わなくてもいいですね。

 

手法ルール

割とこのインジケーターは単品でも使えるんじゃないかと思うぐらい。

どう使うかは、ご自身の通貨に設定してからルール決めしてもいいと思います。

 

例えば損切直近安値にして、利確ライン1:1.5とか。

他にもEMA200より上にあるときにBUYサインだけに従ってインするとか。

 

インジ自体はすごくいいものなので、後は自分を制御できるような他のインジの組み合わせやルール作りで結構いい成果出そうな気がします。

 

ただお約束ですが、最終的には自分で確認して判断してくださいね。

コメント

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