1

我正在尝试仅使用每日输入来制作标准偏差叠加,并将其叠加在任何时间框架图表上。因此,即使我查看每小时图表,我仍然会看到图表上叠加的每日偏差。我做了一个随我所看的时间框架而变化的。我从另一个公开的开始做这个:

study(title="Standard Deviation",shorttitle="SD",overlay=true)
length = input(20, minval=1)
src = input(open, title="Source")
sd = stdev(src, length)
piv=open

plotOpen = plot(piv,title="Open",color=black,trackprice=true,linewidth=2)
plotR05 = plot(piv+(0.5*sd),title="+0.5", color=red,trackprice=true,linewidth=2)
plotS05 = plot(piv-(0.5*sd),title="-0.5", color=red,trackprice=true,linewidth=2)
plotR10 = plot(piv+sd,title="1", color=blue,trackprice=true,linewidth=2)
plotS10 = plot(piv-sd,title="-1", color=blue,trackprice=true,linewidth=2)
plotR15 = plot(piv+(1.5*sd),title="+1.5", color=green,trackprice=true,linewidth=2)
plotS15 = plot(piv-(1.5*sd),title="-1.5", color=green,trackprice=true,linewidth=2)
plotR20 = plot(piv+(2*sd),title="+2", color=orange,trackprice=true,linewidth=2)
plotS20 = plot(piv-(2*sd),title="-2", color=orange,trackprice=true,linewidth=2)
4

2 回答 2

1

我正在尝试仅使用每日输入来制作标准偏差叠加,并将其叠加在任何时间框架图表上。

您可以使用 TradingView 的security()功能。该功能可以从任何时间范围和/或工具加载价格数据,包括当前工具的每日数据。

因此,无论脚本当前在哪个时间范围内运行,security()您的代码都可以计算每日标准偏差。

例如:

study(title="Standard Deviation",shorttitle="SD",overlay=true)

length = input(20, minval=1)
src    = input(open, title="Source")

// Load daily stddev
dailyStd = security(tickerid, "D", stddev(src, length))

piv=open

plotOpen = plot(piv,title="Open",color=black,trackprice=true,linewidth=2)
plotR05 = plot(piv+(0.5*dailyStd),title="+0.5", color=red,trackprice=true,linewidth=2)
plotS05 = plot(piv-(0.5*dailyStd),title="-0.5", color=red,trackprice=true,linewidth=2)
plotR10 = plot(piv+dailyStd,title="1", color=blue,trackprice=true,linewidth=2)
plotS10 = plot(piv-dailyStd,title="-1", color=blue,trackprice=true,linewidth=2)
plotR15 = plot(piv+(1.5*dailyStd),title="+1.5", color=green,trackprice=true,linewidth=2)
plotS15 = plot(piv-(1.5*dailyStd),title="-1.5", color=green,trackprice=true,linewidth=2)
plotR20 = plot(piv+(2*dailyStd),title="+2", color=orange,trackprice=true,linewidth=2)
plotS20 = plot(piv-(2*dailyStd),title="-2", color=orange,trackprice=true,linewidth=2)

试一试,看看这种方法是否能更好地满足您的目标。

于 2018-07-31T07:59:45.883 回答
0

对于版本 5

//@version=5
indicator("Standart Deviation", shorttitle="SD", overlay=true)

length = input.int(30, minval=1)
src = input.source(open,"Source")

//load daily stdev
dailyStd = request.security(syminfo.tickerid,"D",ta.stdev(src,length))
piv=open

plotOpen = plot(piv,title="Open", color=color.white, trackprice = true, linewidth=2)
plotStdResistance = plot(piv+dailyStd,title="RESISTANCE",color=color.red,trackprice=true,linewidth=1)
plotStdSupport = plot(piv-dailyStd,title="SUPPORT", color=color.green, trackprice = true, linewidth=1)
于 2021-10-20T08:25:06.803 回答