//@version=6 indicator("Close Price ±5% scale line", overlay=true) //移動平均線をプロット //plot(ta.sma(close, 3),color=color.red,linewidth = 2) plot(ta.sma(close, 5),color=color.red,linewidth = 2) //plot(ta.sma(close, 7),color=color.yellow,linewidth = 2) plot(ta.sma(close, 10),color=color.green,linewidth = 2) plot(ta.sma(close, 30),color=color.blue,linewidth = 2) plot(ta.sma(close, 50),color=color.purple,linewidth = 2) plot(ta.sma(close, 100),color=color.orange,linewidth = 2) // チャートの一番右端のバーかどうか isLastBar = (bar_index == last_bar_index) // ラインを一度だけ描画するためのフラグ var bool linesDrawn = false // 比率目盛の比率とライン数 ratio=0.05 linesCount = 20 // ラインの色とスタイル lineColorRed = color.red lineColorBlue = color.blue lineColorGreen = color.green lineStyle = line.style_solid lineWidth = 1 // 終値の基準(右端バーで取得) var float basePrice = na if isLastBar and na(basePrice) basePrice := close // 終値のライン line.new(x1=bar_index-1, y1=basePrice, x2=bar_index, y2=basePrice,color=lineColorGreen, style=lineStyle, width=lineWidth, extend=extend.both) //比率目盛ライン // ライン描画(右端バーで1回だけ) if isLastBar and not linesDrawn and not na(basePrice) for i = 1 to linesCount levelUp = basePrice * (1 + ratio * i) levelDown = basePrice * (1 - ratio * i) // 上側(赤)のライン line.new(x1=bar_index-1, y1=levelUp, x2=bar_index, y2=levelUp, color=lineColorRed, style=lineStyle, width=lineWidth, extend=extend.both) // 下側(青)のライン line.new(x1=bar_index-1, y1=levelDown, x2=bar_index, y2=levelDown, color=lineColorBlue, style=lineStyle, width=lineWidth, extend=extend.both) linesDrawn := true