📈🔰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)
いいなと思ったら応援しよう!
応援あれば、とっても嬉しいです😁