This commit is contained in:
27942
2026-01-28 17:16:16 +08:00
parent fe8943b284
commit 55afde2691
4 changed files with 44 additions and 29 deletions

View File

@@ -4,10 +4,12 @@ BitMart 三分之一回归策略交易(双向触发版)
策略规则:
1. 触发价格计算基于有效的前一根K线实体>=0.1
- 做多触发价格 = 前一根收盘价 + 实体/3向上突破1/3
- 做空触发价格 = 前一根收盘价 - 实体/3向下突破1/3
- 实体上边界 = max(开盘价, 收盘价)
- 实体下边界 = min(开盘价, 收盘价)
- 做多触发价格 = 实体上边界 - 实体/3进入实体上部1/3区域做多
- 做空触发价格 = 实体下边界 + 实体/3进入实体下部1/3区域做空
2. 信号触发条件(无论前一根是阴线还是阳线)
2. 信号触发条件:
- 当前K线最高价 >= 做多触发价格 → 做多信号
- 当前K线最低价 <= 做空触发价格 → 做空信号
@@ -16,10 +18,10 @@ BitMart 三分之一回归策略交易(双向触发版)
- 做空时遇到做多信号 -> 平空并反手开多
- 如果同时触发两个方向,以距离开盘价更近的方向优先
示例:
前一根K线开盘3200收盘3100线,实体=100
- 做多触发价格 = 3100 + 100/3 = 3133.33(价格反弹到这里做多)
- 做空触发价格 = 3100 - 100/3 = 3066.67(价格继续下跌到这里做空)
示例(阳线)
前一根K线开盘3000收盘3100线,实体=100
- 做多触发价格 = 3100 - 33.33 = 3066.67(价格到这里做多)
- 做空触发价格 = 3000 + 33.33 = 3033.33(价格跌到这里做空)
"""
import time
@@ -109,21 +111,23 @@ class BitmartOneThirdStrategy:
计算前一根K线实体的 1/3 双向触发价格
返回:(做多触发价格, 做空触发价格)
无论阴线还是阳线
- 做多触发价格 = 收盘价 + 实体/3向上突破1/3
- 做空触发价格 = 收盘价 - 实体/3向下突破1/3
基于实体的上下边界计算
- 做多触发价格 = 实体上边界 - 实体/3进入实体上部1/3区域做多
- 做空触发价格 = 实体下边界 + 实体/3进入实体下部1/3区域做空
"""
p_open = float(prev['open'])
p_close = float(prev['close'])
body = abs(p_open - p_close)
body_high = max(p_open, p_close) # 实体上边界
body_low = min(p_open, p_close) # 实体下边界
body = body_high - body_low
if body < 0.001: # 十字星,忽略
return None, None
# 双向触发价格
long_trigger = p_close + body / 3 # 向上1/3触发做多
short_trigger = p_close - body / 3 # 向下1/3触发做空
# 基于实体边界的双向触发价格
long_trigger = body_high - body / 3 # 进入实体上部1/3区域触发做多
short_trigger = body_low + body / 3 # 进入实体下部1/3区域触发做空
return long_trigger, short_trigger