Julia 将指标添加到烛台图表

Julia add indicator to candlestick chart

我是 Julia 的新手,我正在尝试向我的烛台图表添加技术指标(让它成为一个简单的移动平均线)。我应该怎么做?

using Plots, MarketData, TimeSeries
gr()

ta = yahoo(:GOOG, YahooOpt(period1 = now() - Month(1)))
display(plot(ta, seriestype= :candlestick))
readline()

您的问题的一般答案是 Plots 使用 bang (!) 命名约定来命名函数,这些函数会改变现有的绘图对象。因此,如果你想在另一个情节中添加一些东西,你应该在第一次情节调用后调用 plot!(或 scatter!bar! 等)。

在您的情况下,高级解决方案因此是:

plot(ta, st = :candlestick)
plot!(my_indicator_data)

现在你说你想要一个移动平均线,所以这里有一个例子:

julia> plot(ta, st = :candlestick; xlabel = "Trading Day", ylabel = "Price", 
            xrot = 45, bottom_margin = 4Plots.mm)

julia> using RollingFunctions

julia> plot!(runmean(values((ta.High .+ ta.Low) ./ 2), 5)) # using mid-price

这会给你

你可能想仔细检查一下这是否正确,在我看来平均线偏移了一天,这可能是由于 TimeSeries 对 xticks 做了一些诡计。