MA (5 lines with labels)

indicator(title="Multi MA (5 lines with labels)", shorttitle="5MA", overlay=true)
// === 参数设置 ===
show_prices = input.bool(true, "显示价格标签")
distance = input.int(2, "标签距离")
ma1_enable = input.bool(true, "启用 MA1")
ma1_len = input.int(9, "MA1 周期")
ma1_color = input.color(color.red, "MA1 颜色")
ma2_enable = input.bool(true, "启用 MA2")
ma2_len = input.int(50, "MA2 周期")
ma2_color = input.color(color.green, "MA2 颜色")
ma3_enable = input.bool(true, "启用 MA3")
ma3_len = input.int(100, "MA3 周期")
ma3_color = input.color(color.blue, "MA3 颜色")
ma4_enable = input.bool(true, "启用 MA4")
ma4_len = input.int(150, "MA4 周期")
ma4_color = input.color(color.orange, "MA4 颜色")
ma5_enable = input.bool(true, "启用 MA5")
ma5_len = input.int(200, "MA5 周期")
ma5_color = input.color(color.black, "MA5 颜色")
// === 计算 MA ===
ma1 = ma1_enable ? ta.sma(close, ma1_len) : na
ma2 = ma2_enable ? ta.sma(close, ma2_len) : na
ma3 = ma3_enable ? ta.sma(close, ma3_len) : na
ma4 = ma4_enable ? ta.sma(close, ma4_len) : na
ma5 = ma5_enable ? ta.sma(close, ma5_len) : na
// === 绘制线条 ===
plot(ma1, title="MA1", color=ma1_color, linewidth=2)
plot(ma2, title="MA2", color=ma2_color, linewidth=2)
plot(ma3, title="MA3", color=ma3_color, linewidth=2)
plot(ma4, title="MA4", color=ma4_color, linewidth=2)
plot(ma5, title="MA5", color=ma5_color, linewidth=2)
// === 绘制右侧价格标签 ===
label_dist = time + math.round(ta.change(time) * distance)
make_label(_val, _len, _color) =>
if not na(_val)
txt = show_prices ? "MA " + str.tostring(_len) + " - " + str.tostring(math.round_to_mintick(_val)) : "MA " + str.tostring(_len)
label.new(label_dist, _val, text=txt, xloc=xloc.bar_time, color=_color, textcolor=_color, style=label.style_none, size=size.normal)
if barstate.islast
make_label(ma1, ma1_len, ma1_color)
make_label(ma2, ma2_len, ma2_color)
make_label(ma3, ma3_len, ma3_color)
make_label(ma4, ma4_len, ma4_color)
make_label(ma5, ma5_len, ma5_color)
Skrip hanya-undangan
Hanya pengguna yang disetujui oleh penulis yang dapat mengakses skrip ini. Anda harus meminta dan mendapatkan izin untuk menggunakannya. Izin ini biasanya diberikan setelah pembayaran. Untuk detail lebih lanjut, ikuti petunjuk penulis di bawah ini atau hubungi Atommy1125 secara langsung.
TradingView TIDAK menyarankan untuk membayar atau menggunakan skrip kecuali anda benar-benar percaya kepada pembuatnya dan memahami cara kerjanya. Anda juga dapat menemukan alternatif sumber terbuka yang gratis di skrip komunitas kami.
Instruksi penulis
Pernyataan Penyangkalan
Skrip hanya-undangan
Hanya pengguna yang disetujui oleh penulis yang dapat mengakses skrip ini. Anda harus meminta dan mendapatkan izin untuk menggunakannya. Izin ini biasanya diberikan setelah pembayaran. Untuk detail lebih lanjut, ikuti petunjuk penulis di bawah ini atau hubungi Atommy1125 secara langsung.
TradingView TIDAK menyarankan untuk membayar atau menggunakan skrip kecuali anda benar-benar percaya kepada pembuatnya dan memahami cara kerjanya. Anda juga dapat menemukan alternatif sumber terbuka yang gratis di skrip komunitas kami.