索引
运行 V2 策略¶
V2 策略的核心逻辑包含在控制器(Controller)中,该控制器继承自如趋势交易或做市等基类,通过协调各种智能组件(如K 线(Candles)和执行器(Executors))来实现策略逻辑。
对用户而言,主要的交互接口是V2 脚本,这是一个定义配置参数的文件,充当用户与策略之间的桥梁。
要为脚本生成配置文件,请运行:
[SCRIPT_FILE] 的自动补全功能仅显示本地 /scripts 目录中可配置的脚本。
系统将提示您定义策略参数,这些参数将保存在 conf/scripts 目录下的 YAML 文件中。之后,您可以通过指定此配置文件来运行脚本:
[SCRIPT_CONFIG_FILE] 的自动补全功能将显示本地 /conf/scripts 目录中的配置文件。
趋势策略¶
趋势策略继承自DirectionalTrading 策略基类。
在其控制器的 get_processed_data 函数中,趋势策略使用从K 线(Candles)派生的技术指标来定义阈值,并通过 signal 参数触发做多和做空条件:
1:创建做多仓位执行器(Position Executor)-1:创建做空仓位执行器(Position Executor)
以下是当前的 V2 趋势策略:
布林带 V1¶
一个使用布林带百分比(BBP)的简单趋势策略。BBP 衡量资产价格相对于其布林带上轨和下轨的位置,该策略利用当前 BBP 构建做多/做空信号。
代码:
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如:0.01 表示亏损 1%): |
| take_profit | 持仓执行器 | 输入止盈百分比(例如:0.03 表示盈利 3%): |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(单位为秒,例如:21600 表示 6 小时): |
| 追踪止损触发价格差值 | 持仓执行器 | 输入追踪止损的触发价格差值(例如:0.008 表示 0.8%): |
| 追踪止损追踪差值 | 持仓执行器 | 设置追踪止损的追踪差值(例如:0.004 表示 0.4%): |
| 订单金额(美元) | 订单 | 输入以美元计价的订单金额(例如:15): |
| cooldown_time | 订单 | 指定下单之间的冷却时间(单位为秒,例如:15): |
| 蜡烛图数据交易所 | 蜡烛图 | 输入获取蜡烛图数据的交易所名称(例如:binance_perpetual): |
| 蜡烛图时间间隔 | 蜡烛图 | 设置蜡烛图的时间间隔(例如:1m、5m、1h): |
| 布林带长度 | 策略 | 输入布林带的长度(例如:100): |
| 布林带标准差 | 策略 | 设置布林带的标准差(例如:2.0): |
| 布林带做多阈值 | 策略 | 指定布林带的做多阈值(例如:0.3): |
| 布林带做空阈值 | 策略 | 定义布林带的做空阈值(例如:0.7): |
此外,脚本可能还会定义其他没有 prompt_on_new 标志的参数。
启动脚本:
状态
下图显示了运行 status 命令时的显示内容:
MACD-BB¶
一种结合MACD和布林带以产生多空信号的方向性策略。该策略使用 MACD 识别趋势,使用布林带来分析波动率和价格水平。
代码:
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如,0.01 表示 1% 的亏损) |
| take_profit | 持仓执行器 | 输入止盈百分比(例如,0.06 表示 6% 的盈利) |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(单位:秒,例如 86400 表示 24 小时) |
| 追踪止损触发价格差值 | 持仓执行器 | 输入移动止损的触发价格差值(例如,0.01 表示 1%) |
| 追踪止损追踪差值 | 持仓执行器 | 设置移动止损的追踪差值(例如,0.004 表示 0.4%) |
| 订单金额(美元) | 订单 | 输入订单金额(美元,例如 15) |
| cooldown_time | 订单 | 指定下单之间的冷却时间(单位:秒,例如 15) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,3m) |
| macd_fast | 策略 | 设置 MACD 快线周期(例如,21) |
| macd_slow | 策略 | 指定 MACD 慢线周期(例如,42) |
| macd_signal | 策略 | 定义 MACD 信号线周期(例如,9) |
| 布林带长度 | 策略 | 输入布林带周期(例如,100) |
| 布林带标准差 | 策略 | 设置布林带的标准差倍数(例如,2.0) |
| 布林带做多阈值 | 策略 | 指定布林带做多阈值(例如,0.3) |
| 布林带做空阈值 | 策略 | 定义布林带做空阈值(例如,0.7) |
此外,脚本可能还会定义其他没有 prompt_on_new 标志的参数。
启动脚本:
状态
下图显示了运行 status 命令时的显示内容:
趋势跟随者¶
一种简单的趋势跟踪策略,使用简单移动平均线(SMA)和布林带来生成多空信号。
代码:
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如,0.01 表示 1% 的亏损) |
| take_profit | 持仓执行器 | 输入止盈百分比(例如,0.06 表示 6% 的盈利) |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(单位:秒,例如 86400 表示 24 小时) |
| 追踪止损触发价格差值 | 持仓执行器 | 输入移动止损的触发价格差值(例如,0.01 表示 1%) |
| 追踪止损追踪差值 | 持仓执行器 | 设置移动止损的追踪差值(例如,0.004 表示 0.4%) |
| 订单金额(美元) | 订单 | 输入订单金额(美元,例如 15) |
| cooldown_time | 订单 | 指定下单之间的冷却时间(单位:秒,例如 15) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,3m) |
| sma_fast | 策略 | 输入短期 SMA 长度(范围 10-150,例如 20) |
| sma_slow | 策略 | 设置长期 SMA 长度(范围 50-400,例如 100) |
| 布林带长度 | 策略 | 输入布林带长度(范围 50-200,例如 100) |
| 布林带标准差 | 策略 | 设置布林带的标准差(范围 2.0-3.0,例如 2.0) |
| bb_threshold | 策略 | 指定布林带的阈值(范围 0.1-0.5,例如 0.2) |
启动脚本:
状态:
做市策略¶
做市策略会创建并管理一组围绕固定中间价下单的持仓执行器。它们继承自MarketMaking策略基类。
DmanV1¶
使用 DMAN v1 控制器的定制化做市脚本
代码:
- 控制器:dman_v1.py
- 脚本:v2_dman_v1_config.py
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,3m) |
| order_amount | 订单 | 输入以报价资产计价的基础订单金额(例如 25 USDT) |
| n_levels | 订单 | 指定订单层级数量(例如 5) |
| start_spread | 订单 | 将起始价差设为 NATR 的倍数(例如 1.0 表示 1 倍 NATR) |
| step_between_orders | 订单 | 将订单之间的步长定义为 NATR 的倍数(例如 0.8 表示 0.8 倍 NATR) |
| order_refresh_time | 订单 | 输入订单刷新时间(单位为秒,例如 900 表示 15 分钟) |
| cooldown_time | 订单 | 指定下单之间的冷却时间(单位为秒,例如 5) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如 0.2 表示亏损 20%) |
| take_profit | 持仓执行器 | 输入止盈百分比(例如,0.06 表示 6% 的盈利) |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(单位为秒,例如 43200 表示 12 小时) |
| 追踪止损触发价格差值 | 持仓执行器 | 输入追踪止损的触发价格差值(例如 0.0045 表示 0.45%) |
| 追踪止损追踪差值 | 持仓执行器 | 设置追踪止损的追踪差值(例如 0.003 表示 0.3%) |
| natr_length | 策略 | 输入 NATR(归一化平均真实波幅)长度(例如 100) |
启动脚本:
状态:
DmanV2¶
一种简单的做市策略,使用自然平均真实波幅(NATR)动态设置价差。
代码:
- 控制器: dman_v2.py
- 脚本: v2_dman_v2_config.py
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,3m) |
| order_amount | 订单 | 输入以报价资产计价的基础订单金额(例如 25 USDT) |
| n_levels | 订单 | 指定订单层级数量(例如 5) |
| start_spread | 订单 | 将起始价差设为 NATR 的倍数(例如 1.0 表示 1 倍 NATR) |
| step_between_orders | 订单 | 将订单之间的步长定义为 NATR 的倍数(例如 0.8 表示 0.8 倍 NATR) |
| cooldown_time | 订单 | 指定下单之间的冷却时间(单位为秒,例如 5) |
| order_refresh_time | 订单 | 取消或替换订单的频率(以秒为单位) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如 0.2 表示亏损 20%) |
| take_profit | 持仓执行器 | 输入止盈百分比(例如,0.06 表示 6% 的盈利) |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(单位为秒,例如 43200 表示 12 小时) |
| 追踪止损触发价格差值 | 持仓执行器 | 输入追踪止损的触发价格差值(例如 0.0045 表示 0.45%) |
| 追踪止损追踪差值 | 持仓执行器 | 设置追踪止损的追踪差值(例如 0.003 表示 0.3%) |
| natr_length | 策略 | 输入 NATR(归一化平均真实波幅)长度(例如 100) |
| macd_fast | 策略 | 设置 MACD 快速线周期(例如,12) |
| macd_slow | 策略 | 指定 MACD 慢速线周期(例如,26) |
| macd_signal | 策略 | 定义 MACD 信号线周期(例如,9) |
启动脚本:
状态:
DmanV3¶
采用布林带指标实现均值回归策略,通过网格执行动态调整价差并移动中间价格。
代码:
- 控制器: dman_v3.py
- 脚本: v2_dman_v3_config.py
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,30m) |
| bollinger_band_length | 策略 | 输入布林带的周期长度(例如,200) |
| bollinger_band_std | 策略 | 设置布林带的标准差(例如,3.0) |
| order_amount | 订单 | 输入报价资产中的基础订单数量(例如,20 USDT) |
| n_levels | 订单 | 指定订单层级数量(例如 5) |
| start_spread | 订单 | 将第一笔订单的价差设为布林带值的比例(例如,1.0) |
| step_between_orders | 订单 | 将订单之间的步长定义为布林带值的比例(例如,0.2) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如 0.2 表示亏损 20%) |
| take_profit | 持仓执行器 | 输入止盈百分比(例如,0.06 表示 6% 的盈利) |
| time_limit | 持仓执行器 | 设置三重屏障的时间限制(以秒为单位,例如,3 天为 259200) |
| 追踪止损触发价格差值 | 持仓执行器 | 输入移动止损的触发价格差值(例如,0.01 表示 1%) |
| 追踪止损追踪差值 | 持仓执行器 | 设置追踪止损的追踪差值(例如 0.003 表示 0.3%) |
此外,脚本可能还会定义其他没有 prompt_on_new 标志的高级参数。
启动脚本:
状态:
DmanV4¶
利用 NATR 指标进行动态设置价差和调整中间价格的方向性做市策略,并结合多种高级配置以实现更精细的控制。
代码:
- 控制器: dman_v4.py
- 脚本: v2_dman_v4_config.py
创建配置文件:
用户定义参数
运行 create 命令时需设置以下用户定义参数:
| 参数 | 类型 | 提示 |
|---|---|---|
| exchange | 交易 | 输入机器人将运行的交易所名称(例如 binance_perpetual) |
| 交易对 | 交易 | 列出机器人进行交易的交易对,用逗号分隔(例如:BTC-USDT,ETH-USDT) |
| 杠杆 | 交易 | 设置交易时使用的杠杆倍数(例如:20 表示 20 倍杠杆) |
| 蜡烛图数据交易所 | 蜡烛图 | 输入用于获取 K 线数据的交易所名称(例如,binance_perpetual) |
| 蜡烛图时间间隔 | 蜡烛图 | 设置 K 线的时间间隔(例如,3m) |
| bollinger_band_length | 蜡烛图 | 输入布林带的周期长度(例如,200) |
| order_amount | 订单 | 输入报价资产中的基础订单数量(例如,10 USDT) |
| amount_ratio_increase | 订单 | 设置每下一级订单增加数量的比例(例如,1.5) |
| n_levels | 订单 | 指定订单层级数量(例如 5) |
| start_spread | 订单 | 输入订单的起始价差(例如,0.03) |
| spread_ratio_increase | 订单 | 定义每下一级订单增加价差的比例(例如,2.0) |
| stop_loss | 持仓执行器 | 设置止损百分比(例如,0.5) |
| global_trailing_stop_activation_price_delta | 持仓执行器 | 输入全局移动止损的触发价格差值(例如,0.025) |
| global_trailing_stop_trailing_delta | 持仓执行器 | 设置全局移动止损的跟踪差值(例如,0.005) |
此外,脚本可能还会定义其他没有 prompt_on_new 标志的高级参数。
启动脚本:
状态:






