跳至内容

索引

运行 V2 策略

V2 策略的核心逻辑包含在控制器(Controller)中,该控制器继承自如趋势交易或做市等基类,通过协调各种智能组件(如K 线(Candles)和执行器(Executors))来实现策略逻辑。

对用户而言,主要的交互接口是V2 脚本,这是一个定义配置参数的文件,充当用户与策略之间的桥梁。

要为脚本生成配置文件,请运行:

create --script-config [SCRIPT_FILE]

[SCRIPT_FILE] 的自动补全功能仅显示本地 /scripts 目录中可配置的脚本。

系统将提示您定义策略参数,这些参数将保存在 conf/scripts 目录下的 YAML 文件中。之后,您可以通过指定此配置文件来运行脚本:

start --script [SCRIPT_FILE] --conf [SCRIPT_CONFIG_FILE]

[SCRIPT_CONFIG_FILE] 的自动补全功能将显示本地 /conf/scripts 目录中的配置文件。

趋势策略

趋势策略继承自DirectionalTrading 策略基类。

在其控制器的 get_processed_data 函数中,趋势策略使用从K 线(Candles)派生的技术指标来定义阈值,并通过 signal 参数触发做多和做空条件:

以下是当前的 V2 趋势策略:

布林带 V1

一个使用布林带百分比(BBP)的简单趋势策略。BBP 衡量资产价格相对于其布林带上轨和下轨的位置,该策略利用当前 BBP 构建做多/做空信号。

代码:

创建配置文件:

create --script-config v2_bollinger_v1_config

用户定义参数

运行 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 标志的参数。

启动脚本:

start --script v2_bollinger_v1_config.py --conf [SCRIPT_CONFIG_FILE]

状态

下图显示了运行 status 命令时的显示内容:

MACD-BB

一种结合MACD和布林带以产生多空信号的方向性策略。该策略使用 MACD 识别趋势,使用布林带来分析波动率和价格水平。

代码:

创建配置文件:

create --script-config v2_macd_bb_v1_config

用户定义参数

运行 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 标志的参数。

启动脚本:

start --script v2_macd_bb_v1_config.py --conf [SCRIPT_CONFIG_FILE]

状态

下图显示了运行 status 命令时的显示内容:

趋势跟随者

一种简单的趋势跟踪策略,使用简单移动平均线(SMA)和布林带来生成多空信号。

代码:

创建配置文件:

create --script-config v2_trend_follower_v1_config

用户定义参数

运行 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)

启动脚本:

start --script v2_trend_follower_v1_config.py --conf [SCRIPT_CONFIG_FILE]

状态:

做市策略

做市策略会创建并管理一组围绕固定中间价下单的持仓执行器。它们继承自MarketMaking策略基类。

DmanV1

使用 DMAN v1 控制器的定制化做市脚本

代码:

创建配置文件:

create --script-config v2_dman_v1_config

用户定义参数

运行 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)

启动脚本:

start --script dman_v1_config.py --conf [SCRIPT_CONFIG_FILE]

状态:

DmanV2

一种简单的做市策略,使用自然平均真实波幅(NATR)动态设置价差。

代码:

创建配置文件:

create --script-config v2_dman_v2_config

用户定义参数

运行 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)

启动脚本:

start --script dman_v2_config.py --conf [SCRIPT_CONFIG_FILE]

状态:

DmanV3

采用布林带指标实现均值回归策略,通过网格执行动态调整价差并移动中间价格。

代码:

创建配置文件:

create --script-config v2_dman_v3_config

用户定义参数

运行 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 标志的高级参数。

启动脚本:

start --script dman_v3.py --conf [SCRIPT_CONFIG_FILE]

状态:

DmanV4

利用 NATR 指标进行动态设置价差和调整中间价格的方向性做市策略,并结合多种高级配置以实现更精细的控制。

代码:

创建配置文件:

create --script-config v2_dman_v4_config

用户定义参数

运行 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 标志的高级参数。

启动脚本:

start --script dman_v4_config.py --conf [SCRIPT_CONFIG_FILE]

状态: