zhangkun9038@dingtalk.com 745db91a77 edit with grok
2025-11-26 23:59:06 +08:00

37 lines
1.3 KiB
Python

# /freqtrade/user_data/strategies/StaticGrid.py
from freqtrade.strategy import IStrategy
from pandas import DataFrame
class StaticGrid(IStrategy):
INTERFACE_VERSION = 3
timeframe = '1h'
can_short = False
minimal_roi = {"0": 100}
stoploss = -0.99
use_exit_signal = True
position_adjustment_enable = True
max_entry_position_adjustment = -1
# 永续网格参数
LOWER = 1500.0
UPPER = 4500.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:
for price in [self.LOWER + i * self.STEP for i in range(int((self.UPPER - self.LOWER) // self.STEP) + 3)]:
dataframe.loc[dataframe['low'] <= price, 'enter_long'] = True
return dataframe
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
for price in [self.LOWER + i * self.STEP for i in range(int((self.UPPER - self.LOWER) // self.STEP) + 3)]:
dataframe.loc[dataframe['high'] >= price, 'exit_long'] = True
return dataframe
def custom_stake_amount(self, **kwargs) -> float:
return self.STAKE