排查没有n笔交易+1

This commit is contained in:
zhangkun9038@dingtalk.com 2025-11-27 12:26:27 +08:00
parent ce70ad3063
commit c8e91eb760
2 changed files with 17 additions and 14 deletions

View File

@ -3,6 +3,7 @@
"max_open_trades": 150,
"stake_currency": "USDT",
"stake_amount": 40,
"cooldown_candles": 0,
"tradable_balance_ratio": 0.99,
"dry_run": false,
"dry_run_wallet": 7766,
@ -29,7 +30,7 @@
"timeout": 20000
},
"pair_whitelist": [
"BTC/USDT"
"ETH/USDT"
],
"pair_blacklist": [
"OKB/USDT"

View File

@ -1,4 +1,4 @@
# /freqtrade/user_data/strategies/StaticGrid.py
# user_data/strategies/StaticGrid.py
from freqtrade.strategy import IStrategy
from pandas import DataFrame
@ -15,27 +15,29 @@ class StaticGrid(IStrategy):
# 永续网格参数
LOWER = 1500.0
UPPER = 4500.0
STEP = 50.0
STEP = 50.0
STAKE = 40.0
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
return dataframe
def populate_entry_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
# 终极触发:只要这根 1h K 线的 low 曾经跌到过任何一个网格价,就立刻补单
# 当前价 3025 → 下面所有 1500~3000 的网格价,只要历史 low 触碰过,就全部挂上
for level in range(int((self.UPPER - self.LOWER) // self.STEP) + 5):
grid_price = self.LOWER + level * self.STEP
if grid_price <= 3025 + 200: # 当前价附近 200 刀内优先挂
dataframe.loc[dataframe['low'] <= grid_price, 'enter_long'] = 1
price = dataframe['close'].iloc[-1]
# 简化触发:只要当前价 <= 网格价,就买入(从当前价往下每 50 挂 20 张)
for i in range(1, 21): # 20 张买单
grid_price = price - i * self.STEP
if grid_price >= self.LOWER:
dataframe.loc[dataframe['close'] <= grid_price, 'enter_long'] = True
return dataframe
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
for level in range(int((self.UPPER - self.LOWER) // self.STEP) + 5):
grid_price = self.LOWER + level * self.STEP
if grid_price >= 3025 - 200:
dataframe.loc[dataframe['high'] >= grid_price, 'exit_long'] = 1
price = dataframe['close'].iloc[-1]
# 简化触发:只要当前价 >= 网格价,就卖出(从当前价往上每 50 挂 10 张)
for i in range(1, 11): # 10 张卖单
grid_price = price + i * self.STEP
if grid_price <= self.UPPER:
dataframe.loc[dataframe['close'] >= grid_price, 'exit_long'] = True
return dataframe
def custom_stake_amount(self, **kwargs) -> float:
return self.STAKE
return self.STAKE