做完 K 线完成後,就是做均线,常见大盘走势图如下,在这些 K 棒的图上,通常会有数条(通常三条)线会和这些 K 棒交错,这些线是均线。MA5 就是5日的平均,也称周线。MA20 就是 20 日的平均,也称月线。MA60 就是三个 20,所以称季线。再上去还有半年线和年线。
均线的介绍如下,我们这边要实作的会是简单移动平均线。
https://zh.wikipedia.org/wiki/移动平均
葛兰碧八大法则
https://www.moneydj.com/z/analyst/ma.htm
使用价格和均线当指标,依照均线和价格交错的时机,做股票的进出,更详细的说明可以在网路上找到大量的资料
移动平均线是要和 K 线画在同一张图上的,但之前我们做的 K 线图,用的是 CandleStickChartView,这个类别是没办法设定 Line 的 Data的,所以,我们要将 CandleStickChartView 转换成 CombinedChartView。 CombinedChartView 可以显示复数种类的 Data,如果你想,是可以把 Line, Bar, Candle 全部画上去的。
所以,之前的纯 CandelChart 相关功能,已经从 VC 收进 ChartsAdapter 内了,所以 VC 在 private func setupCandleView() 要更改的,只是呼叫 chartsAdapter 内的方法,去得到 CombinedChartView。
开出 ChartsAdapter 中 CombinedChartView 相关的 func,让 VC 呼叫。
// MARK: - Combine Charts 相关 func
extension ChartsAdapter {
func getCombineChartView() -> UIView {
let view = CombinedChartView()
setupCombinedChartView(view)
return view
}
private func setupCombinedChartView(_ chartView: CombinedChartView) {
chartView.dragEnabled = false
chartView.setScaleEnabled(true)
chartView.maxVisibleCount = 1000
chartView.pinchZoomEnabled = true
chartView.legend.horizontalAlignment = .right
chartView.legend.verticalAlignment = .top
chartView.legend.orientation = .vertical
chartView.legend.drawInside = false
chartView.legend.font = UIFont.systemFont(ofSize: 10)
chartView.leftAxis.labelFont = UIFont.systemFont(ofSize: 10)
chartView.leftAxis.spaceTop = 0.3
chartView.leftAxis.spaceBottom = 0.3
chartView.leftAxis.axisMinimum = 0
chartView.rightAxis.enabled = false
chartView.xAxis.labelPosition = .bottom
chartView.xAxis.labelFont = UIFont.systemFont(ofSize: 10)
chartView.xAxis.labelCount = 10
}
}
下方是这次 D1 ~ D12 的完成品,可以下载来试
<<: Day 24 | Livewire 实作 购物网站(三): 加入购物车
继上一篇的DAY8: process.nextTick(),今天要介绍新方法并相互比较。 setIm...
第十五天 各位点进来的朋友,你们好阿 小的不才只能做这个系列的文章,但还是希望分享给点进来的朋友,知...
说明 关於 FHIR 服务器 FHIR 有非常多服务器端的实作,这边使用的是 HAPI FHIR。这...
关於Auto Scaling的建置,我们预计会花两到三天的时间来做比较详细说明。 参考Udemy A...
在Apple watch中,我们依然可以去使用输入框 struct ContentView: Vie...