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 做了一些诡计。
我是 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 做了一些诡计。