海外のFX手法を見ているときに、「あれ?このインジすごくね?」というのを見つけました。
それがZero Lag MA Trend Levels Chart Prime。
トレーディングビューで調べてみても、すでに利用者も多いみたいです。
Zero Lag MA Trend Levels Chart Prime
トレーディングビューで探して導入するとこんな感じになります。
ザックリ説明すると、大きな動きが起きてオーダーブロックが発生。
そのオーダーブロックに一度入るけど、ヒゲで押し返されたときにサインが出るというインジケーターですね。
オーダーブロック発生で♦マーク。
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}}")
コピペで使えるはずです。
アラート画面にはこんな感じで表示されます。
BUYシグナルとSELLシグナルは、アラート項目節約するために1つにしました。
▲サイン(オーダーブロックで反発)が出ると鳴ります。
♦マークはオーダーブロック発生で出現しますが、まぁこれは使っても使わなくてもいいですね。
手法ルール
割とこのインジケーターは単品でも使えるんじゃないかと思うぐらい。
どう使うかは、ご自身の通貨に設定してからルール決めしてもいいと思います。
例えば損切直近安値にして、利確ライン1:1.5とか。
他にもEMA200より上にあるときにBUYサインだけに従ってインするとか。
インジ自体はすごくいいものなので、後は自分を制御できるような他のインジの組み合わせやルール作りで結構いい成果出そうな気がします。
ただお約束ですが、最終的には自分で確認して判断してくださいね。
コメント