見出し画像

📈🔰pineでインジケーターの追加の仕方

// Pine Script Version 5
//@version=5
indicator("期間区切り垂直線", overlay=true, max_lines_count=500)

// --- 設定(チェックボックス & カラーインプット) ---
show_main   = input.bool(true, "セッション開始線を表示", group="表示設定")
main_color  = input.color(color.new(color.white, 80), "セッション開始線の色", group="表示設定")

show_period = input.bool(true, "期間区切り(月初/年初)を表示", group="表示設定")
period_color = input.color(color.new(color.white, 80), "期間区切り線の色", group="表示設定")

// --- 共通描画関数(width=1 で細い線に指定) ---
f_line(_color) =>
    line.new(bar_index, close, bar_index, close + 1, xloc=xloc.bar_index, extend=extend.both, color=_color, width=1, force_overlay=true)

// --- 1. セッション開始(日中足の開始)の判定 ---
is_session_start = ta.change(time("D")) != 0

// 日足未満(イントラデイ)のとき、週の初め(月曜日)かどうかを判定
is_monday = timeframe.isintraday and dayofweek == dayofweek.monday

if show_main and timeframe.isintraday and is_session_start
    c = is_monday ? color.white : main_color
    f_line(c)

// --- 2. 期間区切り(月初・年初)の判定 ---
is_new_p = false
is_new_year = false

if not timeframe.ismonthly // 月足時は表示しない
    if timeframe.isdaily
        // 日足:月初に描画
        is_new_p := ta.change(time("M")) != 0
        // 日足のとき、年の初め(1月のはじめ)かどうかを判定
        is_new_year := ta.change(time("12M")) != 0
    else if timeframe.isweekly
        // 週足以上:年初に描画
        is_new_p := ta.change(time("12M")) != 0

if show_period and is_new_p
    c_period = (timeframe.isdaily and is_new_year) ? color.white : period_color
    f_line(c_period)

😎お疲れ様でした。
気に入ってもらえたら幸いです
年初め、週初めセッション開始の白線(1日ずれる銘柄ありますm(_ _)m)


いいなと思ったら応援しよう!

スーパーうまン🐎📈 応援あれば、とっても嬉しいです😁

この記事が参加している募集