https://fmz-docs.readthedocs.io/en/latest/example.html
基本概念
Futures 期货(前途的复数)
Spot 现货
Stock 股票
Position 头寸
Long 多头(做多, 买入) -> long position 多头头寸(买入者)
Short 空头(做空, 卖出) -> short position 空头头寸(卖出者)
Balance
Margin 为承担风险而进行的抵押品(Collateral)
Margin Call 追加保证金通知
Hedge 风险对冲
K Line K 线
MACD, Moving Average Convergence and Divergence, 平滑移动平均线
Ask叫价(卖) / Bid竞价(买).
Quotations 行情
Revenue 收入
Gross Profit 毛利
Gross profit margin 毛利率
Net Profit 净利 (毛利扣除税费), 也叫 Net Profit after tax, Earning after tax
Net profit margin 净利率
Q: 成交列表中的 S/B, 红/绿, Sell/Buy是买卖的意思, 但是买卖应该同时进行有买有卖, 为什么会出现红绿呢?
A: 主动性买盘是指以卖出价格主动成交的成交量,计算入外盘。
外盘就是股票在卖出价成交,成交价为申卖价,说明买盘比较积极,推动股价上涨。
主动性买盘的成交为外盘,主动性卖盘的成交为内盘。
其实内外盘并不能反映真正的买卖盘力量,但是内外盘之和等于总的成交量。
快速开始
提供交易所历史数据, 支持 JS, Python 编写交易. 代码通过 Docker 运行部署到自己的服务器上.
Backtest System: 回溯系统, 将历史数据跑到代码上, 进行测试.
部署 Docker
机器人下载工具: https://www.fmz.com/m/add-node
nohup ./robot -s rpcs@a.botvs.com:9902/xxxxxx -p yourFMZpassword &
查看节点: https://www.fmz.com/m/dashboard
添加支持平台
添加支持平台 https://www.fmz.com/m/add-platform
编写/获取脚本 https://www.fmz.com/square
基于历史数据做回溯测试, 可以使用自己的 docker 进行测试, 也可以购买时长.
交易脚本结构
入口为 main()
退出前 onexit()
或 onerror()
最长5分钟, 可省略
初始化方法 init()
1 | function onTick(){ |
交易
所有的交易都由 exchange
变量进行调用.
exchange ==> exchanges[0]
GetName()
GetLabel()
市场情况
GetTicker 当前市场行情
返回对象
Info 平台原始数据, 不同平台结构不一样. 内容需要手动转化成浮点型.
High/Low 最高/低价, Sell/Buy 最新买/卖价格, Last 最新成交价, Volume 交易量, Time 时间
GetDepth 深度图
返回对象
Info null
Asks: 要价, Bids 出价, Time 时间戳
要价/出价都是一个结构 {Price, Amount} 组成的数组
GetTrades 当前所有人的交易记录
返回数组
Id, Time, Amount 交易量, Price 交易价格, Type 0买/1卖
GetRecords 获取 K 线图(从老->新)
参数 period: PERIOD_M1, PERIOD_M5, PERIOD_M15, PERIOD_M30, PERIOD_H1, PERIOD_D1
返回数组
Time 时间, Open 开盘价, High 最高价, Low 最低价, Close 收盘价, Volume 交易量
交易接口
GetAccount 获取账户资产
Buy/Sell/CancelOrder 买/卖/取消
GetOrder/GetOrders 获取(全部)订单
取消全部订单, 使用 GetOrders 获取全部订单后, 循环可以逐一取消.
期货交易相关
- SetContractType
- GetPosition
- SetMarginLevel 设置杠杆倍数
- SetDirection buy, closebuy, sell, closesell