如何延展均线曲线? [英] How to extend a moving average plot?

查看:18
本文介绍了如何延展均线曲线?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何扩展移动平均图?

ma20= sma(close, 20)
plot(ma20, color = color.red)

EXTEND=extend.right->;在这里不起作用,只能与line一起使用。new()

推荐答案

绘图不能在Pine中扩展。为此,您必须使用行。
我以前解决过类似的问题,但可能不完全是您想要的。
然而,它可能会给你一些想法。

//@version=4
study(title="5 Horizontal EMA", shorttitle="5 H. EMA", overlay=true)

len1 = input(10,  minval=8, title="Length entry ema")
len2 = input(21,  minval=8, title="Length fast ema")
len3 = input(55,  minval=8, title="Length medium ema")
len4 = input(100, minval=8, title="Length slow ema")
len5 = input(200, minval=8, title="Length very slow ema")
src  = input(close, title="Source")

var bool show_hlines = input(true, "Show horizontal lines", input.bool)
var bool show_emas   = not show_hlines

var color_entryema      = color.green
var color_fastema       = color.orange
var color_mediumema     = color.red
var color_slowema       = color.white
var color_veryslowema   = color.purple

var line_entryema       = line.new(x1=na, y1=na, x2=na, y2=na, xloc=xloc.bar_time, extend=extend.right, color=show_hlines ? color_entryema    : na, style=line.style_dashed)
var line_fastema        = line.new(x1=na, y1=na, x2=na, y2=na, xloc=xloc.bar_time, extend=extend.right, color=show_hlines ? color_fastema     : na, style=line.style_dashed)
var line_mediumema      = line.new(x1=na, y1=na, x2=na, y2=na, xloc=xloc.bar_time, extend=extend.right, color=show_hlines ? color_mediumema   : na, style=line.style_dashed)
var line_slowema        = line.new(x1=na, y1=na, x2=na, y2=na, xloc=xloc.bar_time, extend=extend.right, color=show_hlines ? color_slowema     : na, style=line.style_dashed)
var line_veryslowema    = line.new(x1=na, y1=na, x2=na, y2=na, xloc=xloc.bar_time, extend=extend.right, color=show_hlines ? color_veryslowema : na, style=line.style_dashed)

var label_entryema      = label.new(x=na, y=na, text=tostring(len1), xloc=xloc.bar_time, color=show_hlines ? color_entryema    : na, textcolor=show_hlines ? color_entryema    : na, style=label.style_none)
var label_fastema       = label.new(x=na, y=na, text=tostring(len2), xloc=xloc.bar_time, color=show_hlines ? color_fastema     : na, textcolor=show_hlines ? color_fastema     : na, style=label.style_none)
var label_mediumema     = label.new(x=na, y=na, text=tostring(len3), xloc=xloc.bar_time, color=show_hlines ? color_mediumema   : na, textcolor=show_hlines ? color_mediumema   : na, style=label.style_none)
var label_slowema       = label.new(x=na, y=na, text=tostring(len4), xloc=xloc.bar_time, color=show_hlines ? color_slowema     : na, textcolor=show_hlines ? color_slowema     : na, style=label.style_none)
var label_veryslowema   = label.new(x=na, y=na, text=tostring(len5), xloc=xloc.bar_time, color=show_hlines ? color_veryslowema : na, textcolor=show_hlines ? color_veryslowema : na, style=label.style_none)

f_moveLine(_id, _x, _y) =>
    line.set_xy1(_id, _x,   _y)
    line.set_xy2(_id, _x+1, _y)

f_moveLabel(_id, _x, _y) =>
    label.set_xy(_id, _x, _y)

entryema    = ema(src, len1)
fastema     = ema(src, len2)
mediumema   = ema(src, len3)
slowema     = ema(src, len4)
veryslowema = ema(src, len5)

if (hour==0 and minute==0 and year(time)==year(timenow) and month(time)==month(timenow) and dayofmonth(time)==dayofmonth(timenow))
    f_moveLine(line_entryema,      time, entryema)
    f_moveLine(line_fastema,       time, fastema)
    f_moveLine(line_mediumema,     time, mediumema)
    f_moveLine(line_slowema,       time, slowema)
    f_moveLine(line_veryslowema,   time, veryslowema)
    
    f_moveLabel(label_entryema,    time, entryema)
    f_moveLabel(label_fastema,     time, fastema)
    f_moveLabel(label_mediumema,   time, mediumema)
    f_moveLabel(label_slowema,     time, slowema)
    f_moveLabel(label_veryslowema, time, veryslowema)
    
plot(entryema,    color=show_emas ? color_entryema    : na, linewidth=1, title="Entry EMA")
plot(fastema,     color=show_emas ? color_fastema     : na, linewidth=1, title="Fast EMA")
plot(mediumema,   color=show_emas ? color_mediumema   : na, linewidth=1, title="Medium EMA")
plot(slowema,     color=show_emas ? color_slowema     : na, linewidth=1, title="Slow EMA")
plot(veryslowema, color=show_emas ? color_veryslowema : na, linewidth=1, title="Veryslow EMA")

来源:Label Horizontal EMA Lines (Variables)

这篇关于如何延展均线曲线?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆