排查没有n笔交易+1
This commit is contained in:
parent
ce70ad3063
commit
c8e91eb760
@ -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"
|
||||
|
||||
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user