加入了三分钟回测

This commit is contained in:
ddrwode
2026-02-01 23:10:47 +08:00
parent 8bc54a3bb4
commit f6e2d1fb7f
2 changed files with 85057 additions and 85465 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,11 @@
"""
BitMart 分之一回归策略回测(精准版)
BitMart 分之一回归策略回测(精准版)
使用3分钟K线周期计算触发价格1分钟K线判断触发顺序
========== 策略规则 ==========
1. 触发价格计算基于有效的前一根K线实体>=0.1
- 做多触发价格 = 收盘价 + 实体/4从收盘价往上涨1/4
- 做空触发价格 = 收盘价 - 实体/4从收盘价往下跌1/4
- 做多触发价格 = 收盘价 + 实体/5从收盘价往上涨1/5
- 做空触发价格 = 收盘价 - 实体/5从收盘价往下跌1/5
2. 信号触发条件:
- 当前K线最高价 >= 做多触发价格 → 做多信号
@@ -100,14 +100,14 @@ def find_valid_prev_bar(all_data, current_idx, min_body_size=0.1):
return None, None
def get_one_fourth_levels(prev):
def get_one_fifth_levels(prev):
"""
计算前一根K线实体的 1/4 双向触发价格
计算前一根K线实体的 1/5 双向触发价格
返回:(做多触发价格, 做空触发价格)
基于收盘价计算(无论阴线阳线):
- 做多触发价格 = 收盘价 + 实体/4从收盘价往上涨1/4实体)
- 做空触发价格 = 收盘价 - 实体/4从收盘价往下跌1/4实体)
- 做多触发价格 = 收盘价 + 实体/5从收盘价往上涨1/5实体)
- 做空触发价格 = 收盘价 - 实体/5从收盘价往下跌1/5实体)
"""
p_open = float(prev['open'])
p_close = float(prev['close'])
@@ -118,8 +118,8 @@ def get_one_fourth_levels(prev):
return None, None
# 基于收盘价的双向触发价格
long_trigger = p_close + body / 4
short_trigger = p_close - body / 4
long_trigger = p_close + body / 5
short_trigger = p_close - body / 5
return long_trigger, short_trigger
@@ -237,7 +237,7 @@ def check_trigger_with_1m(
if prev is None:
return None, None, None, False
long_trigger, short_trigger = get_one_fourth_levels(prev)
long_trigger, short_trigger = get_one_fifth_levels(prev)
if long_trigger is None:
return None, None, None, False
@@ -507,7 +507,7 @@ if __name__ == '__main__':
total_net_profit = total_money_profit - total_fee
print(f"\n{'='*60}")
print(f"【BitMart 分之一策略回测结果3分钟K线 + 1分钟精准判断")
print(f"【BitMart 分之一策略回测结果3分钟K线 + 1分钟精准判断")
print(f"{'='*60}")
print(f"回测周期:{START_DATE}{END_DATE}")
print(f"最小实体要求:{MIN_BODY_SIZE}")