メインコンテンツへスキップ
見出し画像

【TradingView無料枠対策】万能オールインワンインジケーター

    TradingViewの無料プラン(Basic)をお使いの皆さん、「表示枠が最大2個までしかなくて、表示させたいテクニカル指標が乗り切らない…」とお悩みではありませんか?

    今回は、1つのインジケーター枠の中に「多機能テクニカル分析」と「マルチタイムフレーム対応MACDクロス検知・予告シグナル」をぎゅっと詰め込んだ、完全オリジナルのPine Script v5コードを完全無料で公開します!
    ※500円って書いてますが、全部無料です!

    ・26年9月21日にV3と確率メーターも追加しました。
    ・26年9月27日確率メーター色々修正
    ・26年10月21日現在買ってくださった方に悪いので、先行でオールインワンインジケーターV4.1.6と確率メーター7.4を公開しています。
    ・26年11月5日先行で公開してたインジケーター2個を公開します。
    少し軽くなったので・・・使ってみて下さい🥳


    💡 このインジケーターでできること・特徴

    1. 無料枠(2枠制限)を最大限に節約

    TradingViewの1枠分で、以下のテクニカル指標をまとめて表示できます。

    • 移動平均線(EMA 6本 + Simple MA 6本):太さの強弱で直感的に判別可能

    • マルチタイムフレーム(MTF)対応 MACDシグナル:クロス確定&予告表示

    • 上位足EMA到達ハイライト:15分足や200EMAタッチ時に背景を色付け

    • ボリンジャーバンド(1σ / 2σ)

    • 一目均衡表(雲)

    • VWAP(アンカー別リセット)

    • ATR短期反転チャネル

    • フラクタル & ZigZag


    2. MACDの「予告(クロス間近)」と「確定」をメインチャートに表示

    MACDサブウィンドウを開かなくても、メインチャート上のローソク足周辺にシグナルが直接出ます。

    画像
    チャートが4時間表示なら4時間でのクロス間際
    その後ゴールデンクロスが出た流れです。
    ココから先はデッドクロスが出る時の予告が黄色の●で表示され、確定したら赤⇓が表示されます。


    画像
    参照時間を固定する事もできます。
    • 黄色い丸(●):【予告】MACDラインとシグナル線が接近。「そろそろクロスしそう」というタイミングを事前検知

    • 緑の三角(⇑):【ゴールデンクロス確定】上昇転換のサイン

    • 赤の逆三角(⇓):【デッドクロス確定】下降転換のサイン

    画像

    設定画面から「各時間足や現在の時間足自動で追従するチャート」と自由に切り替えられるため、「5分足チャートを見ながら、1時間足MACDのクロスを監視する」といった高度なマルチタイムフレーム分析が可能です。

    📊 各インジケーターの役割と見方

    ① 移動平均線(EMA & MA)

    • EMA(指数平滑移動平均線):極細線で設定(値動きに敏感)

    • MA(単純移動平均線):1段階太い線で設定(中長期の軸・サポート/レジスタンス用)

    • ポイント:同じ「50線」や「200線」でも、太さの違いでEMAかMAかが一目瞭然です。

    • 各種設定値は個別で変えれます。


    画像
    画像
    ここで線の太さやラインスタイルを変える事ができます。
    画像
    パラメータで数値を変える事ができます。

    ② 上位足EMAタッチハイライト(背景色)

    • 15分足200EMAや現在足の200EMAに価格がタッチ・アプローチした際、背景が緑(ロング注意)または赤(ショート注意)にハイライトされます。反発ポイントの早期把握に便利です。

    画像
    15分足で表示した時に200EMA(白)にタッチした時に短期反発を狙ったスキャ用です

    ③ ATRチャネル & VWAP

    • VWAP(黄色ライン):機関投資家の売買平均コスト。トレンドの基準線として活用します。

    • ATRチャネル(ティール色エリア):ボラティリティ(変動幅)に基づく帯。行かれすぎ・売られすぎの逆張り判断や利確目安に役立ちます。

    画像

    ④ ボリンジャーバンド & 一目均衡表(スタイル設定でON/OFF可能)

    • スタイル設定タブから「BB1 背景」「BB2 背景」「一目均衡表 雲背景」と分かりやすく名称分けされています。必要なときだけチェックを入れて表示できます。

    画像
    ここでBB1とBB2のラインの設定を表示出来ます。BB2のMiddleラインは1を引いていたら要らないかなと思います。
    画像
    ここで背景を表示したりしなかったり出来ます。自分は表示してません😇
    画像
    パラメーターで設定を変えれます。
    初期値は
    2シグマに収まる確立95.4%
    3シグマに収まる確立99%
    の設定にしています。

    🛠 スクリプトコード(Pine Script Version 5)

    TradingViewの画面下部にある「Pineエディタ」を開き、以下のコードを全て貼り付けて「保存」および「チャートに追加」を押してください。
    スクリプトの右上付近にマウスを持っていくと、コピーが出来ます

    //@version=5
    // © purewhite 2026. All rights reserved.
    // 本コードの無断転載・再配布・有料販売を禁止します。
    indicator(title="All-In-One Indicator by purewhite", shorttitle="Custom_All_In_One", overlay=true)
    
    // ==========================================
    // --- MACD設定 & マルチタイムフレーム ---
    // ==========================================
    // input.timeframe("") を指定することで、UI上に「チャート」の選択肢が自動追加されます
    macd_tf = input.timeframe("", title="[MACD] 参照時間足")
    macd_fast = input.int(12, title="MACD 短期EMA")
    macd_slow = input.int(26, title="MACD 長期EMA")
    macd_signal = input.int(9, title="MACD シグナル")
    near_threshold = input.float(0.15, title="[予告] クロス接近判定感度 (小さいほど直前)", minval=0.01, maxval=1.0)
    
    // 参照時間足の切り替え(「チャート」選択時は空文字列 "" になるため、現在の時間足が自動選択されます)
    tf_select = macd_tf == "" ? timeframe.period : macd_tf
    
    // 上位足MACD計算関数
    f_macd() =>
        fast_ma = ta.ema(close, macd_fast)
        slow_ma = ta.ema(close, macd_slow)
        macd_l = fast_ma - slow_ma
        sig_l = ta.ema(macd_l, macd_signal)
        [macd_l, sig_l]
    
    [m_val, s_val] = request.security(syminfo.tickerid, tf_select, f_macd(), barmerge.gaps_off, barmerge.lookahead_off)
    
    // クロス確定判定
    gc_confirmed = ta.crossover(m_val, s_val)
    dc_confirmed = ta.crossunder(m_val, s_val)
    
    // クロスしそう(予告)判定
    macd_diff = math.abs(m_val - s_val)
    prev_diff = math.abs(m_val[1] - s_val[1])
    atr_ref = request.security(syminfo.tickerid, tf_select, ta.atr(14))
    is_nearing = (macd_diff < atr_ref * near_threshold) and (macd_diff < prev_diff) and not gc_confirmed and not dc_confirmed
    
    // 予告と確定のプロット
    plotshape(gc_confirmed, title="MACD GC確定", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
    plotshape(dc_confirmed, title="MACD DC確定", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
    plotshape(is_nearing, title="MACD クロス間近(予告)", style=shape.circle, location=location.abovebar, color=color.yellow, size=size.tiny)
    
    
    // ==========================================
    // --- 一目均衡表(デフォルト非表示) ---
    // ==========================================
    middleDonchian(Length) =>
        math.avg(ta.highest(high, Length), ta.lowest(low, Length))
    
    conversionPeriods   = input.int(9,   minval=1, title="Tenkan")
    basePeriods         = input.int(26,  minval=1, title="Kijun")
    laggingSpan2Periods = input.int(52,  minval=1, title="Senkou B")
    displacement        = input.int(26,  minval=1, title="Displacement")
    
    Tenkan  = middleDonchian(conversionPeriods)
    Kijun   = middleDonchian(basePeriods)
    SenkouA = middleDonchian(laggingSpan2Periods)
    SenkouB = (Tenkan[basePeriods] + Kijun[basePeriods]) / 2
    
    plot(Tenkan, color=color.red, title="Tenkan", display=display.none)
    plot(Kijun, color=color.blue, title="Kijun", display=display.none)
    plot(close, color=color.teal, title="Chikou", display=display.none, offset=-displacement)
    A = plot(SenkouA[displacement], color=color.purple, title="SenkouA", display=display.none)
    B = plot(SenkouB, color=color.green, title="SenkouB", display=display.none)
    fill(A, B, color=color.rgb(156, 39, 176, 90), title="一目均衡表 雲背景")
    
    // ==========================================
    // --- EMA(表示・太さ1) ---
    // ==========================================
    ema1Val = ta.ema(close, input.int(6,   title="EMA 1"))
    ema2Val = ta.ema(close, input.int(20,  title="EMA 2"))
    ema3Val = ta.ema(close, input.int(50,  title="EMA 3"))
    ema4Val = ta.ema(close, input.int(100, title="EMA 4"))
    ema5Val = ta.ema(close, input.int(200, title="EMA 5"))
    ema6Val = ta.ema(close, input.int(288, title="EMA 6"))
    
    plot(ema1Val, color=color.red, linewidth=1, title="EMA 1")
    plot(ema2Val, color=color.orange, linewidth=1, title="EMA 2")
    plot(ema3Val, color=color.blue, linewidth=1, title="EMA 3")
    plot(ema4Val, color=color.gray, linewidth=1, title="EMA 4")
    plot(ema5Val, color=color.white, linewidth=1, title="EMA 5")
    plot(ema6Val, color=color.white, linewidth=1, title="EMA 6", display=display.none)
    
    // ==========================================
    // --- Bollinger Bands(デフォルト非表示) ---
    // ==========================================
    bbSma = ta.sma(close, input.int(20, title="BB Length"))
    bbDev = input.float(2.0, title="BB Mult") * ta.stdev(close, 20)
    plot(bbSma, title="BB Middle", color=color.yellow, display=display.none)
    p1 = plot(bbSma + bbDev, title="BB Upper", color=color.blue, display=display.none)
    p2 = plot(bbSma - bbDev, title="BB Lower", color=color.blue, display=display.none)
    fill(p1, p2, color=color.rgb(33, 150, 243, 90), title="BB1 背景")
    
    bbSma2 = ta.sma(close, input.int(20, title="BB2 Length"))
    bbDev2 = input.float(3.0, title="BB2 Mult") * ta.stdev(close, 20)
    plot(bbSma2, title="BB2 Middle", color=color.orange, display=display.none)
    p3 = plot(bbSma2 + bbDev2, title="BB2 Upper", color=color.blue, display=display.none)
    p4 = plot(bbSma2 - bbDev2, title="BB2 Lower", color=color.blue, display=display.none)
    fill(p3, p4, color=color.rgb(33, 150, 243, 90), title="BB2 背景")
    
    // ==========================================
    // --- Moving Averages(実線・太さ2) ---
    // ==========================================
    plot(ta.sma(close, input.int(6,   title="MA 1")), color=color.green, linewidth=2, title="MA 1")
    plot(ta.sma(close, input.int(20,  title="MA 2")), color=color.orange, linewidth=2, title="MA 2")
    plot(ta.sma(close, input.int(50,  title="MA 3")), color=color.blue, linewidth=2, title="MA 3")
    plot(ta.sma(close, input.int(100, title="MA 4")), color=color.gray, linewidth=2, title="MA 4")
    plot(ta.sma(close, input.int(200, title="MA 5")), color=color.white, linewidth=2, title="MA 5")
    plot(ta.sma(close, input.int(288, title="MA 6")), color=color.fuchsia, linewidth=2, title="MA 6")
    
    // ==========================================
    // --- ZigZag ---
    // ==========================================
    zigzag = na(ta.pivothigh(high, 5, 2)) ? na(ta.pivotlow(low, 5, 2)) ? na : low[2] : high[2]
    plot(zigzag, color=color.red, linewidth=2, title="ZigZag", display=display.none)
    
    // ==========================================
    // --- フラクタル ---
    // ==========================================
    show_frac_intra   = input.bool(true,  title="[フラクタル] 分足で表示")
    show_frac_hours   = input.bool(true,  title="[フラクタル] 時間足(1H〜12H)で表示")
    show_frac_daily   = input.bool(false, title="[フラクタル] 日足で表示")
    show_frac_weekly  = input.bool(false, title="[フラクタル] 週足で表示")
    show_frac_monthly = input.bool(false, title="[フラクタル] 月足で表示")
    
    is_minutes = timeframe.isintraday and timeframe.multiplier < 60
    is_hours   = timeframe.isintraday and timeframe.multiplier >= 60
    
    is_show_fractal = (is_minutes and show_frac_intra) or (is_hours and show_frac_hours) or (timeframe.isdaily and show_frac_daily) or (timeframe.isweekly and show_frac_weekly) or (timeframe.ismonthly and show_frac_monthly)
    
    n = input.int(2, minval=2, title="Fractals N")
    ph = is_show_fractal ? ta.pivothigh(high, n, n) : na
    pl = is_show_fractal ? ta.pivotlow(low, n, n)   : na
    
    plotshape(ph, style=shape.triangleup, location=location.abovebar, color=color.green, size=size.tiny, title="Fractal High", offset=-n)
    plotshape(pl, style=shape.triangledown, location=location.belowbar, color=color.red, size=size.tiny, title="Fractal Low", offset=-n)
    
    // ==========================================
    // --- VWAP ---
    // ==========================================
    vwap_type  = input.string("セッション", title="VWAP期間", options=["セッション", "週次", "月次"])
    vwap_reset = vwap_type == "セッション" ? ta.change(time("D")) != 0 : vwap_type == "週次" ? ta.change(time("W")) != 0 : ta.change(time("M")) != 0
    
    var float cum_vol = 0.0
    var float cum_vp  = 0.0
    
    if vwap_reset or bar_index == 0
        cum_vol := 0.0
        cum_vp  := 0.0
    
    cum_vol := cum_vol + volume
    cum_vp  := cum_vp + hlc3 * volume
    plot(cum_vp / cum_vol, title="VWAP", color=input.color(color.yellow, title="VWAP色"), linewidth=2)
    
    // ==========================================
    // --- ATR短期反転チャネルバンド ---
    // ==========================================
    atr_val   = ta.atr(input.int(14, title="ATR期間"))
    atr_ma    = ta.ema(close, input.int(20, title="ATR中心EMA"))
    atr_mult  = input.float(2.0, title="ATR倍率")
    atr_upper = atr_ma + (atr_val * atr_mult)
    atr_lower = atr_ma - (atr_val * atr_mult)
    
    p_atr_u = plot(atr_upper, title="ATR Upper", color=color.teal, style=plot.style_line)
    p_atr_l = plot(atr_lower, title="ATR Lower", color=color.teal, style=plot.style_line)
    fill(p_atr_u, p_atr_l, color=color.rgb(0, 150, 136, 95), title="ATR Area")
    
    // ==========================================
    // --- EMA到達時ハイライト ---
    // ==========================================
    htf_tf  = input.timeframe("15", title="上位足時間")
    htf_ema = request.security(syminfo.tickerid, htf_tf, ta.ema(close, 200))
    plot(htf_ema, title="15分足 200EMA", color=color.aqua, linewidth=2)
    
    touch_long  = (low <= htf_ema and close >= htf_ema) or (low <= ema5Val and close >= ema5Val) or (low <= htf_ema and high >= htf_ema)
    touch_short = (high >= htf_ema and close <= htf_ema) or (high >= ema5Val and close <= ema5Val) or (high >= htf_ema and low <= htf_ema)
    
    bgcolor(touch_long ? color.rgb(76, 175, 80, 85) : touch_short ? color.rgb(244, 67, 54, 85) : na, title="EMAタッチ背景")

    Pineスクリプトの追加方法は、点が9個あるプロダクトを選択
    Pineエディタを開いて下さい

    画像
    画像
    この中の貼り付けするのですが、何もない状態で貼り付けて下さい。
    もしなにか他にスクリプトを作っていたら
    画像
    新規作成のインジケーターでまっさらなのを用意してください
    画像
    何もない状態だとこの様になるので、Ctrl+Aキーで全選択して削除してから
    コードをコピペして貼り付けて下さい。
    画像
    ここのチャートに追加で追加できます。
    2個以上インジケーターを追加してる無料版では貼り付けできないので
    必ず1個だけか0の状態でお使い下さい。


    Custom_All_in_One_V3追加
    ※26年9月21日追加
    上記のCustom_All_in_Oneに下記の2つを追加したものです。
    静けさからのスクイーズ検知(黄色い背景)とATRを元にした
    自動平行チャネルを追加したものです。

    📊 新機能の解説:静けさ検知 & ATR直線チャネル

    今回追加した「静けさ検知」と「ATR直線チャネル」は、トレードにおいて非常に重要な「嵐の前の静けさ(エネルギー蓄積)」の察知と「ブレイク後の明確な目標価格の設定」をサポートする強力な機能です。

    画像

    🤫 静けさ検知(スクイーズ機能)

    💡 どういうもの?

    相場がレンジ状態になり、ボラティリティ(価格の変動幅)が極端に低下した「嵐の前の静けさ」を自動で判定する機能です。

    ボリンジャーバンドのスクイーズ(収縮)とATR(値動きの平均幅)の2つの指標を組み合わせて分析し、基準を満たしたタイミングで「オレンジのダイヤマーク」と「黄色の背景ハイライト」でチャート上にアラート表示します。

    🎯 どういう効果があるの?

    • 大相場の初動(トレンド発生)を待ち伏せできる 価格は「保ち合い(静か)」と「トレンド(激しい)」を交互に繰り返します。

    • 静けさを検知することで、「もうすぐ上下どちらかに大きく動くエネルギーが溜まっている」ことを事前に察知できます。

    • 無駄なエントリーを減らせる 動きがない相場での「じり安・じり高」による無駄なスリッページや損切りを回避し、動き出すまで静観する判断が容易になります。

    画像
    静けさ検知の表示非表示はこちらでも出来ます。
    濃すぎると見にくいです🫣
    画像
    個々の設定は特に触らなくて良いかなと思います

    📐 ATR直線トレンドチャネル

    💡 どういうもの?

    最新のローソク足から一定期間(初期設定は20本分)の価格変化を線形回帰(トレンドの傾き)で直線化し、その上下にATR(ボラティリティ)に応じたバンドを平行に引く描画ツールです。

    従来の曲線のATRバンドとは異なり、最新の相場環境に合わせた「直線のチャネルライン」としてリアルタイムに更新されます。また、右端に「SHORT/SL」「TP」「LONG/SL」のラベルが自動表示されます。

    🎯 どういう効果があるの?

    • エントリー・利確・損切りの位置が一目瞭然になる

      • 上限(赤線 / SHORT): レンジ上限での逆張り売り、またはロングの利確目安

      • 中央(黄破線 / TP): トレンドの平均値(利確目標・決済ライン)

      • 下限(緑線 / LONG): レンジ下限での逆張り買い、またはショートの利確目安

    • リアルタイムな値幅感が掴める ATR(平均変動幅)をベースに算出しているため、現在の相場の「適正な振れ幅」を視覚的に把握できます。


    画像
    スタイルの所でラベル表示とライン表示をON,OFF出来ますが、
    ラベルは結構邪魔なのでOFF推奨です。
    画像
    パラメーターの所でも表示のON,OFFができます。

    使い方としてはどちらかというとスキャルピングよりな、レンジの時とか
    チャネル上限に来たから利確とかで使っています。

    🛠 スクリプトコード(Pine Script Version 5)

    Custom_All_In_One V3のコードです。
    テキストファイルダウンロード形式にしました。

    画像
    今回のBTC上げも見事に検知してるのでなかなか使えるなと😇


    もう一個おまけ
    お遊びで作った確率メーターです。
    MACDとかのゴールデンクロスとか見るために作ったものです。
    激アツだからといって、信用しないで下さい😂

    画像
    トレンド根拠とかWボトムとか発生してるとかチェックするのにまぁまぁ使えます😇
    でも絶対行けるというわけでもないのであまり信用しすぎないように
    下のMACDのゴールデンクロスGCの緑が沢山ついた時は結構根拠上がる印象です

    📊 インジケーター解説:Trade Probability Meter (完全版 v5)

    今回導入した「Trade Probability Meter」は、相場の「トレンド」と「チャートパターン(プライスアクション)」を数値化してエントリーの確度(確率メーター)を即座に算出するほか、マルチタイムフレーム(1分足〜月足)のMACDクロス状況を一覧表示するオールインワンの環境認識ツールです。

    画面の隅にコンパクトにまとまったテーブルが表示され、一目で「いま打つべきか、待つべきか」を判断できます。

    1. 📈 確率メーター(トレンド & シグナル)

    💡 どういうもの?

    相場を「長期的な流れ(トレンド)」と「足元の形(シグナル・プライスアクション)」の2つの軸に分け、それぞれ0〜100%のスコアで評価します。

    • トレンド評価: 移動平均線(EMA)の並び順(パーフェクトオーダー)や高値・安値のブレイクアウト、日足の方向性から総合的にトレンドの強さを算出します。

    • シグナル評価: ダブルトップ/ボトム、三尊/逆三尊などの主要パターンや、ピンバー・包み足といったローソク足パターンを検知して点数化します。

    スコアに応じて以下の4段階でテーブルの背景色が変わり、直感的に状況を把握できます。

    • 🔥 80%以上(激アツ / 赤): トレンドとパターンが強力に一致している状態

    • ⚡ 60%以上(チャンス / オレンジ): エントリーを検討できる好条件

    • 👀 40%以上(狙い目 / 黄): 警戒・準備段階

    • ⚪ 40%未満(静観 / 灰): 優位性が低いレンジ・様子見状態

    🎯 どういう効果があるの?

    • 時間経過による「シグナル減衰(Decay)」機能 パターンが発生してからローソク足が進むにつれて、自動でスコアが減衰していきます(例:「ダブルトップ完成 (3本前)」のように何本前かも明記)。「過去の古いシグナルに惑わされて高値掴み・安値掴みをする」というミスを防止します。

    • 時間足ごとの動的補正 1分足などの上位足に比べてノイズが多い短期足では自動でスコア調整が入るため、ダマシに遭いにくい仕様になっています。


    画像

    2. 🚦 全時間足 MACDステータス一覧

    💡 どういうもの?

    1分足・5分足から日足・週足・月足まで、全12種類の時間足におけるMACDのクロス状態をテーブル下部に一覧でリアルタイム表示します。

    • 🟢 GC / 🔴 DC: 直近でゴールデンクロス/デッドクロスが確定した瞬間

    • 🟡 GC(予) / 🟡 DC(予): まもなくクロスしそうな「接近・予告」状態

    • 🟩 買継続 / 🟥 売継続: すでにクロスしてトレンドが継続している状態

    🎯 どういう効果があるの?

    • マルチタイムフレーム分析の手間を激減 毎回チャートの時間足切り替えを何回も行う必要がなく、1つの画面で上位足から下位足までのモメンタム(勢い)を一瞬で把握できます。

    • 「上位足と下位足の同調」を狙える 上位足(日足や4時間足)が「🟩 買継続」のときに、下位足(5分足や15分足)で「🟢 GC」が発生した瞬間を狙うなど、勝率の高い押し目買い・戻り売りを簡単に探せます。

    💡 実践的な使い方・トレードの流れ

    1. 全体環境のチェック まずはMACD一覧で上位足(4H・日足など)の方向性を確認し、トレードの基本方針(買い/売り)を決めます。

    2. メーターの背景色に注目 確率メーターのシグナルが「⚡ チャンス(60%以上)」や「🔥 激アツ(80%以上)」に変わるのを待ちます。

    3. 根拠を確認してエントリー 根拠欄に表示されたパターン(例:🔻三尊ネック割れ、🔺強気包み足など)を確認し、上位足のトレンドと同調していれば優位性の高いタイミングでエントリーを実行します。

    画像
    スタイルは表示するかしないかだけなので、触らないです。
    画像
    パラメーターを何処に表示させるか、色設定を変えれるようにしています。
    画像
    MACD一覧でチャート足より下位のMACDをN/Aにするというチェックマークは
    1時間足で表示してると下位の時間足は表示しなくなります。
    私はこれ全て見たいのでONにしていますがOFFが良いそうです・・・

    コードです
    Pineエディタで新規作成でインジケーターを追加で追加してください。
    これで無料枠2個が上記のCustom_All_in_Oneとで使っちゃうので、コチラはお遊びしたい時は使ってみて下さい😇

    //@version=6
    // © purewhite 2026. All rights reserved.
    // 本コードの無断転載・再配布・有料販売を禁止します。
    indicator(title="Trade Probability Meter (完全版 v5)", shorttitle="Probability_Meter_v5", overlay=true)
    
    // ==========================================
    // --- 設定パラメータ ---
    // ==========================================
    table_pos_input = input.string("右下", title="表示位置", options=["右下", "右上", "左下", "左上"], group="表示設定")
    
    // カラーカスタム設定(確率メーター用)
    c_bg_80 = input.color(color.red, title="80%以上 (背景色)", group="確率メーター カラー設定")
    c_tx_80 = input.color(color.white, title="80%以上 (文字色)", group="確率メーター カラー設定")
    
    c_bg_60 = input.color(color.orange, title="60%以上 (背景色)", group="確率メーター カラー設定")
    c_tx_60 = input.color(color.white, title="60%以上 (文字色)", group="確率メーター カラー設定")
    
    c_bg_40 = input.color(color.yellow, title="40%以上 (背景色)", group="確率メーター カラー設定")
    c_tx_40 = input.color(color.black, title="40%以上 (文字色)", group="確率メーター カラー設定")
    
    c_bg_00 = input.color(color.gray, title="40%未満 (背景色)", group="確率メーター カラー設定")
    c_tx_00 = input.color(color.white, title="40%未満 (文字色)", group="確率メーター カラー設定")
    
    // カラーカスタム設定(MACDステータス用)
    grp_macd_clr = "MACDステータス カラー設定"
    c_gc_bg   = input.color(color.green, "GC確定 背景色", group=grp_macd_clr)
    c_gc_tx   = input.color(color.white, "GC確定 文字色", group=grp_macd_clr)
    
    c_dc_bg   = input.color(color.red, "DC確定 背景色", group=grp_macd_clr)
    c_dc_tx   = input.color(color.white, "DC確定 文字色", group=grp_macd_clr)
    
    c_gcp_bg  = input.color(color.teal, "GC予兆(買い) 背景色", group=grp_macd_clr)
    c_gcp_tx  = input.color(color.white, "GC予兆(買い) 文字色", group=grp_macd_clr)
    
    c_dcp_bg  = input.color(color.maroon, "DC予兆(売り) 背景色", group=grp_macd_clr)
    c_dcp_tx  = input.color(color.white, "DC予兆(売り) 文字色", group=grp_macd_clr)
    
    // 位置コードの変換
    var table_position = position.bottom_right
    if table_pos_input == "右上"
        table_position := position.top_right
    else if table_pos_input == "左下"
        table_position := position.bottom_left
    else if table_pos_input == "左上"
        table_position := position.top_left
    else
        table_position := position.bottom_right
    
    // ==========================================
    // --- ★ 全時間足 MACD 設定 (v5 改善版) ---
    // ==========================================
    grp_macd = "★ MACD設定"
    show_macd_sec   = input.bool(true, "MACD一覧を表示する", group=grp_macd)
    hide_lower_tf   = input.bool(true, "チャート足より下位のMACDをN/Aにする (推奨)", group=grp_macd, tooltip="ONにすると不正確になりやすい下位足をN/Aと表示します。オフにすれば全時間足が強制表示されます。")
    macd_fast       = input.int(12, "MACD 短期EMA", group=grp_macd)
    macd_slow       = input.int(26, "MACD 長期EMA", group=grp_macd)
    macd_signal     = input.int(9, "MACD シグナル", group=grp_macd)
    near_threshold  = input.float(0.15, "[予告] クロス接近判定感度", minval=0.01, maxval=1.0, group=grp_macd)
    
    // 各時間足内部で完結させる計算関数
    f_macd_state() =>
        fast_ma = ta.ema(close, macd_fast)
        slow_ma = ta.ema(close, macd_slow)
        m = fast_ma - slow_ma
        s = ta.ema(m, macd_signal)
        
        diff = math.abs(m - s)
        p_diff = math.abs(m[1] - s[1])
        atr_v = ta.atr(14)
        
        bull = m > s
        since_cross = ta.barssince(ta.cross(m, s))
        nearing = (diff < atr_v * near_threshold) and (diff < p_diff) and (since_cross > 0)
        
        [bull, since_cross, nearing]
    
    // 時間足の秒数計算用関数
    f_tf_in_seconds(tf) =>
        timeframe.in_seconds(tf)
    
    // 各時間足のステータス取得
    f_get_macd_status(tf) =>
        bool is_lower = hide_lower_tf and (f_tf_in_seconds(tf) < timeframe.in_seconds())
        
        if is_lower
            ["N/A", color.gray, color.white]
        else
            [bull, since_cross, nearing] = request.security(syminfo.tickerid, tf, f_macd_state(), barmerge.gaps_off, barmerge.lookahead_off)
            
            string status_str = "➖"
            color  bg_col = color.gray
            color  tx_col = color.white
            
            // 日足以上は1本以内、分足は2本以内を「直近クロス」と判定
            int fresh_limit = f_tf_in_seconds(tf) >= 86400 ? 1 : 2
            bool is_fresh = not na(since_cross) and since_cross <= fresh_limit
            
            if is_fresh and bull
                status_str := "🟢 GC"
                bg_col := c_gc_bg
                tx_col := c_gc_tx
            else if is_fresh and not bull
                status_str := "🔴 DC"
                bg_col := c_dc_bg
                tx_col := c_dc_tx
            else if nearing and not bull
                status_str := "🟡 GC(予)"
                bg_col := c_gcp_bg
                tx_col := c_gcp_tx
            else if nearing and bull
                status_str := "🟡 DC(予)"
                bg_col := c_dcp_bg
                tx_col := c_dcp_tx
            else if bull
                status_str := "🟩 買継続"
                bg_col := color.new(c_gc_bg, 50)
                tx_col := c_gc_tx
            else
                status_str := "🟥 売継続"
                bg_col := color.new(c_dc_bg, 50)
                tx_col := c_dc_tx
                    
            [status_str, bg_col, tx_col]
    
    // --- 各時間足のMACDステータス取得 ---
    [s01, bg01, tx01]   = f_get_macd_status("1")
    [s05, bg05, tx05]   = f_get_macd_status("5")
    [s15, bg15, tx15]   = f_get_macd_status("15")
    [s30, bg30, tx30]   = f_get_macd_status("30")
    [s60, bg60, tx60]   = f_get_macd_status("60")
    [s120, bg120, tx120] = f_get_macd_status("120")
    [s180, bg180, tx180] = f_get_macd_status("180")
    [s240, bg240, tx240] = f_get_macd_status("240")
    [s720, bg720, tx720] = f_get_macd_status("720")
    [sD, bgD, txD]       = f_get_macd_status("D")
    [sW, bgW, txW]       = f_get_macd_status("W")
    [sM, bgM, txM]       = f_get_macd_status("M")
    
    // ==========================================
    // --- 1. 時間足精度の動的補正 ---
    // ==========================================
    float tf_weight = 1.0
    int dynamic_len = 5
    float pattern_tolerance = 0.005
    
    if timeframe.isseconds
        tf_weight := 0.4
        dynamic_len := 8
        pattern_tolerance := 0.002
    else if timeframe.isintraday
        if timeframe.multiplier <= 3
            tf_weight := 0.6
            dynamic_len := 8
            pattern_tolerance := 0.003
        else if timeframe.multiplier <= 15
            tf_weight := 0.8
            dynamic_len := 6
            pattern_tolerance := 0.004
        else if timeframe.multiplier <= 60
            tf_weight := 1.0
            dynamic_len := 5
            pattern_tolerance := 0.005
        else
            tf_weight := 1.1
            dynamic_len := 5
            pattern_tolerance := 0.008
    else if timeframe.isdaily or timeframe.isweekly or timeframe.ismonthly
        tf_weight := 1.2
        dynamic_len := 4
        pattern_tolerance := 0.01
    
    // ==========================================
    // --- 2. トレンド構造分析 (飽和対策済み) ---
    // ==========================================
    ema20 = ta.ema(close, 20)
    ema50 = ta.ema(close, 50)
    ema200 = ta.ema(close, 200)
    
    bool is_perfect_order_bull = (ema20 > ema50) and (ema50 > ema200)
    bool is_perfect_order_bear = (ema20 < ema50) and (ema50 < ema200)
    bool is_breakout_bull = close >= ta.highest(high, 10)[1]
    bool is_breakout_bear = close <= ta.lowest(low, 10)[1]
    
    d_close = request.security(syminfo.tickerid, "D", close)
    d_ema   = request.security(syminfo.tickerid, "D", ta.ema(close, 200))
    bool is_daily_uptrend = d_close > d_ema
    
    int raw_trend_score = 0
    string trend_reason = "レンジ・静観"
    
    if is_perfect_order_bull
        raw_trend_score := 45
        trend_reason := "上昇パーフェクトオーダー"
        if is_breakout_bull
            raw_trend_score := raw_trend_score + 20
        if is_daily_uptrend
            raw_trend_score := raw_trend_score + 15
    else if is_perfect_order_bear
        raw_trend_score := 45
        trend_reason := "下落パーフェクトオーダー"
        if is_breakout_bear
            raw_trend_score := raw_trend_score + 20
        if not is_daily_uptrend
            raw_trend_score := raw_trend_score + 15
    else if is_daily_uptrend
        raw_trend_score := 30
        trend_reason := "日足上昇環境"
    
    int trend_score = math.min(100, math.round(raw_trend_score * tf_weight))
    
    // ==========================================
    // --- 3. ネックラインラッチ付き パターン検出 ---
    // ==========================================
    ph = ta.pivothigh(high, dynamic_len, dynamic_len)
    pl = ta.pivotlow(low, dynamic_len, dynamic_len)
    
    var float ph1 = na, var float ph2 = na, var float ph3 = na
    var float pl1 = na, var float pl2 = na, var float pl3 = na
    var int ph1_bar = 0, var int pl1_bar = 0
    
    // ブレイク判定用のネックライン固定(ラッチ)変数
    var float dt_neck = na, var float db_neck = na
    var float hs_neck = na, var float ihs_neck = na
    
    if not na(ph)
        ph3 := ph2
        ph2 := ph1
        ph1 := ph
        ph1_bar := bar_index
        // ネックラインを保存
        db_neck := pl1
        ihs_neck := math.max(pl1, pl2)
    
    if not na(pl)
        pl3 := pl2
        pl2 := pl1
        pl1 := pl
        pl1_bar := bar_index
        // ネックラインを保存
        dt_neck := ph1
        hs_neck := math.min(ph1, ph2)
    
    bool pattern_fresh = (bar_index - math.max(ph1_bar, pl1_bar)) <= 20
    
    // ネックラインラッチ値に対する正確なブレイク判定
    bool is_double_top = pattern_fresh and not na(ph1) and not na(ph2) and math.abs(ph1 - ph2) / ph1 < pattern_tolerance and not na(dt_neck) and ta.crossunder(close, dt_neck)
    bool is_double_bottom = pattern_fresh and not na(pl1) and not na(pl2) and math.abs(pl1 - pl2) / pl1 < pattern_tolerance and not na(db_neck) and ta.crossover(close, db_neck)
    
    bool is_head_and_shoulders = pattern_fresh and not na(ph1) and not na(ph2) and not na(ph3) and (ph2 > ph1) and (ph2 > ph3) and math.abs(ph1 - ph3) / ph1 < (pattern_tolerance * 1.5) and not na(hs_neck) and ta.crossunder(close, hs_neck)
    bool is_inverse_hs = pattern_fresh and not na(pl1) and not na(pl2) and not na(pl3) and (pl2 < pl1) and (pl2 < pl3) and math.abs(pl1 - pl3) / pl1 < (pattern_tolerance * 1.5) and not na(ihs_neck) and ta.crossover(close, ihs_neck)
    
    // ==========================================
    // --- 4. プライスアクション & シグナル減衰機能 ---
    // ==========================================
    candle_body = math.abs(close - open)
    candle_range = high - low
    lower_wick = math.min(open, close) - low
    upper_wick = high - math.max(open, close)
    avg_body_10 = ta.sma(candle_body, 10)
    
    bool is_bull_pinbar = (lower_wick >= candle_range * 0.5) and (candle_body <= candle_range * 0.35)
    bool is_bull_engulfing = (close[1] < open[1]) and (close > open) and (close > open[1]) and (open < close[1])
    bool is_bull_momentum = (close > open) and (candle_body > avg_body_10 * 1.8)
    
    bool is_bear_pinbar = (upper_wick >= candle_range * 0.5) and (candle_body <= candle_range * 0.35)
    bool is_bear_engulfing = (open[1] < close[1]) and (open > close) and (open > open[1]) and (close < close[1])
    bool is_bear_momentum = (close < open) and (candle_body > avg_body_10 * 1.8)
    
    int current_raw_scal = 0
    string current_scal_reason = "特筆なし"
    
    if is_head_and_shoulders
        current_raw_scal := 60
        current_scal_reason := "🔻 三尊ネック割れ (売り)"
    else if is_inverse_hs
        current_raw_scal := 60
        current_scal_reason := "🔺 逆三尊ネック上抜け (買い)"
    else if is_double_top
        current_raw_scal := 55
        current_scal_reason := "🔻 ダブルトップ完成 (売り)"
    else if is_double_bottom
        current_raw_scal := 55
        current_scal_reason := "🔺 ダブルボトム完成 (買い)"
    else if is_bull_pinbar
        current_raw_scal := 45
        current_scal_reason := "🔺 下ひげピンバー (買い)"
    else if is_bull_engulfing
        current_raw_scal := 45
        current_scal_reason := "🔺 強気包み足 (買い)"
    else if is_bull_momentum
        current_raw_scal := 35
        current_scal_reason := "🔺 大陽線発生 (買い)"
    else if is_bear_pinbar
        current_raw_scal := 45
        current_scal_reason := "🔻 上ひげピンバー (売り)"
    else if is_bear_engulfing
        current_raw_scal := 45
        current_scal_reason := "🔻 弱気包み足 (売り)"
    else if is_bear_momentum
        current_raw_scal := 35
        current_scal_reason := "🔻 大陰線発生 (売り)"
    
    // トレンド一致ボーナス
    if current_raw_scal > 0
        if (current_raw_scal > 0 and is_perfect_order_bull) or (current_raw_scal > 0 and is_perfect_order_bear)
            current_raw_scal := current_raw_scal + 25
    
    // --- ★ シグナル保持&時間経過による減衰ロジック ---
    var int   last_sig_bar  = na
    var string last_sig_text = "特筆なし"
    var int   last_sig_raw  = 0
    
    if current_raw_scal > 0
        last_sig_bar  := bar_index
        last_sig_text := current_scal_reason
        last_sig_raw  := current_raw_scal
    
    int   ago       = na(last_sig_bar) ? 9999 : bar_index - last_sig_bar
    float decay     = ago >= 12 ? 0.0 : 1.0 - (ago * 0.08)  // 12本かけて0%に減衰
    int   scal_score = math.min(100, math.round(last_sig_raw * tf_weight * decay))
    
    string scal_disp = ago >= 12 ? "特筆なし" : ago == 0 ? last_sig_text : last_sig_text + " (" + str.tostring(ago) + "本前)"
    
    // ==========================================
    // --- 5. ステータス・テキスト・カラー判定関数 ---
    // ==========================================
    get_rank_text(score) =>
        score >= 80 ? "🔥 激アツ (" + str.tostring(score) + "%)" : score >= 60 ? "⚡ チャンス (" + str.tostring(score) + "%)" : score >= 40 ? "👀 狙い目 (" + str.tostring(score) + "%)" : "静観 (" + str.tostring(score) + "%)"
    
    get_rank_bg(score) =>
        score >= 80 ? c_bg_80 : score >= 60 ? c_bg_60 : score >= 40 ? c_bg_40 : c_bg_00
    
    get_rank_tx(score) =>
        score >= 80 ? c_tx_80 : score >= 60 ? c_tx_60 : score >= 40 ? c_tx_40 : c_tx_00
    
    // ==========================================
    // --- 6. 一体型テーブル描画 ---
    // ==========================================
    int total_rows = show_macd_sec ? 7 : 4
    var table main_table = table.new(position = table_position, columns = 4, rows = total_rows, bgcolor = color.black, border_width = 1, border_color = color.gray)
    
    if barstate.islast
        table.set_position(main_table, table_position)
        
        // --- 【上段】確率メーター部分 ---
        // 1行目:トレンド
        table.cell(main_table, 0, 0, "📈 トレンド", text_color=color.white, bgcolor=color.navy, text_size=size.small)
        table.cell(main_table, 1, 0, "", bgcolor=color.navy)
        table.cell(main_table, 2, 0, get_rank_text(trend_score), text_color=get_rank_tx(trend_score), bgcolor=get_rank_bg(trend_score), text_size=size.small)
        table.cell(main_table, 3, 0, "", bgcolor=get_rank_bg(trend_score))
        table.merge_cells(main_table, 0, 0, 1, 0)
        table.merge_cells(main_table, 2, 0, 3, 0)
    
        // 2行目:トレンド根拠
        table.cell(main_table, 0, 1, " └ 根拠", text_color=color.white, bgcolor=color.gray, text_size=size.small)
        table.cell(main_table, 1, 1, "", bgcolor=color.gray)
        table.cell(main_table, 2, 1, trend_reason, text_color=color.white, bgcolor=color.black, text_size=size.small)
        table.cell(main_table, 3, 1, "", bgcolor=color.black)
        table.merge_cells(main_table, 0, 1, 1, 1)
        table.merge_cells(main_table, 2, 1, 3, 1)
    
        // 3行目:シグナル
        table.cell(main_table, 0, 2, "⚡ シグナル", text_color=color.white, bgcolor=color.teal, text_size=size.small)
        table.cell(main_table, 1, 2, "", bgcolor=color.teal)
        table.cell(main_table, 2, 2, get_rank_text(scal_score), text_color=get_rank_tx(scal_score), bgcolor=get_rank_bg(scal_score), text_size=size.small)
        table.cell(main_table, 3, 2, "", bgcolor=get_rank_bg(scal_score))
        table.merge_cells(main_table, 0, 2, 1, 2)
        table.merge_cells(main_table, 2, 2, 3, 2)
    
        // 4行目:シグナル根拠
        table.cell(main_table, 0, 3, " └ 根拠", text_color=color.white, bgcolor=color.gray, text_size=size.small)
        table.cell(main_table, 1, 3, "", bgcolor=color.gray)
        table.cell(main_table, 2, 3, scal_disp, text_color=color.white, bgcolor=color.black, text_size=size.small)
        table.cell(main_table, 3, 3, "", bgcolor=color.black)
        table.merge_cells(main_table, 0, 3, 1, 3)
        table.merge_cells(main_table, 2, 3, 3, 3)
    
        // --- 【下段】全時間足MACDステータス表 ---
        if show_macd_sec
            // 5行目:1分, 5分, 15分, 30分
            table.cell(main_table, 0, 4, "1分:" + s01, bgcolor=bg01, text_color=tx01, text_size=size.small)
            table.cell(main_table, 1, 4, "5分:" + s05, bgcolor=bg05, text_color=tx05, text_size=size.small)
            table.cell(main_table, 2, 4, "15分:" + s15, bgcolor=bg15, text_color=tx15, text_size=size.small)
            table.cell(main_table, 3, 4, "30分:" + s30, bgcolor=bg30, text_color=tx30, text_size=size.small)
    
            // 6行目:1H, 2H, 3H, 4H
            table.cell(main_table, 0, 5, "1H:" + s60, bgcolor=bg60, text_color=tx60, text_size=size.small)
            table.cell(main_table, 1, 5, "2H:" + s120, bgcolor=bg120, text_color=tx120, text_size=size.small)
            table.cell(main_table, 2, 5, "3H:" + s180, bgcolor=bg180, text_color=tx180, text_size=size.small)
            table.cell(main_table, 3, 5, "4H:" + s240, bgcolor=bg240, text_color=tx240, text_size=size.small)
    
            // 7行目:12H, 日, 週, 月
            table.cell(main_table, 0, 6, "12H:" + s720, bgcolor=bg720, text_color=tx720, text_size=size.small)
            table.cell(main_table, 1, 6, "日:" + sD, bgcolor=bgD, text_color=txD, text_size=size.small)
            table.cell(main_table, 2, 6, "週:" + sW, bgcolor=bgW, text_color=txW, text_size=size.small)
            table.cell(main_table, 3, 6, "月:" + sM, bgcolor=bgM, text_color=txM, text_size=size.small)


    Probability_Meter_V6.6.2追加しました。

    確率表示V6.6※9月26日追加
    v6.6.2色設定を追加出来る修正版です。

    画像
    今までの確率表示に20MA乖離率を表示しました

    📊 新機能:20SMA乖離率(過熱感・限界アラート)機能について

    今回のアップデートでは、相場の「高値掴み(ジャンピングキャッチ)」や「底抜け時のパニック売り」を未然に防ぐため、最下段に20SMA(20日単純移動平均線)からの過熱感を自動計測するリアルタイム乖離率メーターを追加しました。

    画像
    ちょうど良さそうなBTWの1時間足チャートです
    20MAから乖離してるのでそろそろ買いが入る警戒表示が出ています。

    💡 なぜ「20SMAの乖離率」を見るのか?

    相場には「平均値(20SMA)から極端に離れた価格は、ゴムパッチンのように勢いよく平均値まで引き戻される(平均回帰)」という強い習性があります。

    本指標では、世界中の大口投資家やアルゴリズムが適正価格の物差しとして最も注目している「20SMA」を基準にし、現在の過熱度をパーセンテージ(%)で可視化しています。


    ⚙️ 時間足に応じた「動的な過熱ライン」自動切替

    過熱感(どこからが危険か)の基準は、時間足によって大きく異なります。
    本ツールでは、チャートの時間足を切り替えるだけで、最適な判定基準に自動で切り替わります。

    🔹 短期足(スキャルピング・デイトレ向け)

    ・ 1分足
    🟡 警戒: ±1.5% 以上 | 🔥 極度過熱: ±4.0% 以上
    💡 活用: 最速の逆張り・微益利確の目安

    ・ 5分足
    🟡 警戒: ±2.5% 以上 | 🔥 極度過熱: ±7.0% 以上
    💡 活用: 数分〜数十分の押し目買い・高値掴み防止

    ・ 15分足
    🟡 警戒: ±4.0% 以上 | 🔥 極度過熱: ±10.0% 以上
    💡 活用: デイトレのトレンド回帰・追っかけ防止


    🔹 中期〜長期足(スイング・長期投資向け)

    ・ 1時間足
    🟡 警戒: ±8.0% 以上 | 🔥 極度過熱: ±25.0% 以上
    💡 活用: 本格的な調整・反発の察知

    ・ 4時間足
    🟡 警戒: ±15.0% 以上 | 🔥 極度過熱: ±50.0% 以上
    💡 活用: 急騰・急落時の全戻し(ポンスパイク)警戒

    ・ 日足
    🟡 警戒: ±20.0% 以上 | 🔥 極度過熱: ±60.0% 以上
    💡 活用: スイングトレードの天井・底打ち判定

    ・ 週足 / 月足
    🟡 警戒: ±30%〜50% | 🔥 極度過熱: ±80%〜100% 以上
    💡 活用: バブル期・大暴落の境界線判定

    画像
    カスタムオールインワンの静かさ表示が15分足で出ていたので、
    その後大きく何方かに動きやすい(静かさが消えたので一気に下に動いています。)
    ※静かさ=スクイーズ
    そこから、20MAの乖離率が15分の場合4%以上9.9%以下で売過表示がでます。
    10%以上になると極度売過表示が出るようになっています。

    🎨 表示ステータスの見方とトレード活用法

    1. 通常時(静観・グレー背景)

    • 表示例: `20MA: -0.05%`

    • 判断: 価格が20SMA付近におり平穏な状態。トレンドシグナルに従って通常の順張りエントリーを検討します。

    2. 🟡 警戒ゾーン(注意・オレンジ / ティール背景)

    • 買過警戒 (`+`%): 価格が上に離れすぎ。「ここからの追っかけ買い(ロング)はリスクが高い」と判断。

    • 売過警戒 (`-`%): 価格が下に離れすぎ。「ここからの追っかけ売り(ショート)は危険」と判断。反発狙いの準備。

    3. 🔥 極度過熱ゾーン(爆発的乖離・赤 / 青背景)

    • 極度買過 (`+`%): アルトコインのポンプ急騰などで発生する「限界レベルの買われすぎ」。利確やショート逆張りの好機。

    • 極度売過 (`-`%): パニック売りやセリクラ(セリングクライマックス)状態。強力な自律反発(ロング)を狙うシグナル。


    🛠️ カスタマイズ性

    インジケーターの設定画面(パラメータ)から、各警戒レベルの背景色や文字色をお好みのカラーに変更可能です。

    画像
    色設定を変えれるようにしています。


    画像

    コードです。
    ログが長くなったので、テキストファイルをダウンロードしてコピペして貰う仕様に変更しました。

    なんかどんどん高機能になってきました🥳
    ただ、様々な機能があっても、ノイズの要因になりますので、最終的には使う機能は少なくしていくのがオススメです😎


    確率メーターに新しい機能を取り入れた
    probability_Meter_V7.4.0を一般公開します。


    ログが長くなるのでファイル形式でダウンロードしてコピペして利用してください。
    コードです

    説明

    画像

    確率メーター v7.4.0 の主な改善点・新機能

    今回のv7.4.0では、旧バージョン(v6.6.2等)からさらに分析精度と利便性が大きくパワーアップしています!

    • 🔥 上位足MACD方向性スコアの統合

      • 1H・4H・日足のMACDの向きとトレンドを完全に連動させ、スコアの信頼性を強化。

      • 根拠欄に「MACD順行 / ⚠️MACD逆行」が自動で表示されるようになり、ダマシを素早く察知できます。

      • (+)で巡航です(-)で逆行してるという事で、(+)の時のGCは強く上がりやすいです。

    画像


    • 🛡️ 上位足SR(サポレジ)&出来高攻防の新規搭載

      • 15M・1H・4H・日足における重要なサポレジ防衛ラインと出来高の急増を監視し、テーブルに「抵抗接近」「支持反発」「抵抗突破」などの状況をリアルタイムで表示します。

    • 🎰 20MAサイクル(経過バー数カウンター)の追加

      • 20MAにタッチしてからの経過本数を自動カウント。「確変フィーバー」や「大ハマリ天井」などのサイクル状態を視覚的に捉え、トレンドの継続や反転タイミングをサポートします。

    • ⚙️ 表示カスタマイズ性の向上

      • テーブルの「表示位置」だけでなく、新たに「文字サイズ(普通・大・極大)」の切り替えに対応。ご自身のチャート環境に合わせて自由に見やすく調整できるようになりました。


    公開2 Custom_All_In_One_V4.1.6を公開します

    画像

    ログが長くなるのでファイル形式でダウンロードしてコピペして利用してください。
    コードです

    説明です

    Custom All-In-One スキャルピングインジケーター v4.1.6 の主な進化点

    今回のアップデートでは、多機能でありながら動作が重くならない「スマートON/OFF制御アーキテクチャ」を新たに搭載しました!

    • ⚡ 待望のスマートON/OFF機能(完全軽量化)

      • 一目均衡表、ボリンジャーバンド、ZigZag、VWAPなど、普段あまり使わない重いインジケーターに個別のON/OFFスイッチを実装。

      • スイッチをOFFにしている時は、計算も描画も裏で完全に停止(バイパス)されるため、多機能でありながら「超軽量版」と同等のサクサクとした軽快な動作を実現しました。


    • 🛠️ 不要な常時処理の排除と最適化

      • v3で常時動いていた重いマルチタイムフレームの裏側処理を見直し、チャートの切り替えやスクロール時のラグを大幅に軽減。


    • 📈 信頼性の高いシグナルと描画の維持

      • おなじみのMACD&CCI強力コンボシグナル、フラクタル、自動平行チャネル(ATR直線チャネル)の精度や視認性はそのまま継承。

    画像

    今までのMACDのGC,DC,予兆の表示に加えて、スキャなどで使えるCCIのインジケーターも同時に表示させるような感じです。
    GCとCCI+100突破で更に強い上げが期待出来るという感じで見てます👀

    画像
    例えばココだと、BTC1時間足でMACD GCが出てCCIも巡航で強い上げが期待出来る
    その後CCIも+100圏内に入ったので現在強い
    ただATR上限に達してるので一旦利確されやすいポイントと見ています


    「全部入りが良いけれど動作は軽くしたい」という欲張りを完璧に叶えた、最高峰のスキャルピング環境をお楽しみください!


    📝 おわりに

    このインジケーターコードは、上記の通りすべて無料でお使いいただけます。 もし「トレード分析が快適になった」「役に立った」と感じていただけましたら、今後のインジケーター開発や記事執筆の応援(缶コーヒーや小休憩のサポート)として、500円でポチッと購入していただけると大変励みになります!



    あなたへのおすすめ