GoTrade 项目使用教程
1. 项目目录结构及介绍
GoTrade 是一个用于股票市场技术分析的 Golang 库。项目的目录结构如下:
gotrade/
├── charts/
├── feeds/
├── indicators/
├── testdata/
├── utils/
├── .gitignore
├── .travis.yml
├── LICENSE
├── README.md
├── dohlcvstream.go
├── dohlcvstream_test.go
├── gotrade.go
├── gotrade_suite_test.go
├── pnfstream.go
└── pnfstream_test.go
目录介绍
- charts/: 存放与图表相关的代码文件。
- feeds/: 存放与数据源相关的代码文件,例如从 CSV 文件读取数据。
- indicators/: 存放技术指标相关的代码文件,如 SMA、EMA、Bollinger Bands 等。
- testdata/: 存放测试数据文件,通常是 CSV 格式的股票数据。
- utils/: 存放工具函数和辅助代码。
- .gitignore: Git 忽略文件配置。
- .travis.yml: Travis CI 配置文件。
- LICENSE: 项目许可证文件,采用 MIT 许可证。
- README.md: 项目介绍和使用说明。
- dohlcvstream.go: 处理 OHLCV(开盘价、最高价、最低价、收盘价、成交量)数据流的代码文件。
- dohlcvstream_test.go: 测试
dohlcvstream.go
的测试文件。 - gotrade.go: 项目的主文件,包含主要的 API 和功能实现。
- gotrade_suite_test.go: 项目的主要测试文件,包含多个测试用例。
- pnfstream.go: 处理点数图(Point and Figure)数据流的代码文件。
- pnfstream_test.go: 测试
pnfstream.go
的测试文件。
2. 项目启动文件介绍
项目的启动文件是 gotrade.go
,该文件包含了 GoTrade 库的主要 API 和功能实现。以下是 gotrade.go
文件的主要内容:
package gotrade
import (
"fmt"
"time"
)
// 定义数据流结构
type DailyDOHLCVStream struct {
Data []OHLCV
}
// 创建一个新的数据流
func NewDailyDOHLCVStream() *DailyDOHLCVStream {
return &DailyDOHLCVStream{}
}
// 填充数据流
func (s *DailyDOHLCVStream) Fill(data []OHLCV) {
s.Data = data
}
// 获取数据流的最小日期
func (s *DailyDOHLCVStream) MinDate() time.Time {
// 实现代码
}
// 获取数据流的最大日期
func (s *DailyDOHLCVStream) MaxDate() time.Time {
// 实现代码
}
// 其他功能函数...
主要功能
- NewDailyDOHLCVStream: 创建一个新的数据流实例。
- Fill: 填充数据流数据。
- MinDate: 获取数据流的最小日期。
- MaxDate: 获取数据流的最大日期。
3. 项目的配置文件介绍
GoTrade 项目没有明确的配置文件,但可以通过代码中的参数和函数来配置项目的行为。例如,在 gotrade.go
文件中,可以通过以下方式配置数据流:
csvFeed := feeds.NewCSVFileFeedWithDOHLCVFormat(
"/github.com/thetruetrade/gotrade/testdata/JSETOPI_2013_data",
feeds.DashedYearDayMonthDateParserForLocation(time.Local),
)
priceStream := gotrade.NewDailyDOHLCVStream()
sma, _ := indicators.NewSMAForStream(priceStream, 20, gotrade.UseClosePrice)
ema, _ := indicators.NewEMAForStream(priceStream, 20, gotrade.UseClosePrice)
bb, _ := indicators.NewBollingerBandsForStream(priceStream, 20, gotrade.UseClosePrice)
csvFeed.FillDOHLCVStream(priceStream)
配置说明
- csvFeed: 配置 CSV 数据源,指定数据文件路径和日期解析器。
- priceStream: 创建一个新的数据流实例。
- sma, ema, bb: 配置技术指标,如简单移动平均线(SMA)、指数移动平均线(EMA)和布林带(Bollinger Bands)。
- FillDOHLCVStream: 将 CSV 数据填充到数据流中。
通过这些配置,可以灵活地调整 GoTrade 项目的行为,以适应不同的数据源和技术分析需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考