最小构成:一个类、一个周期、三个空函数。还不会买卖。
Freqtrade 认的是类名 FirstSma,不是文件名。三个函数现在只把表格原样还回去,所以回测会是 0 笔。这版的目标只有一个:它出现在 list-strategies 里,状态是 OK。
from pandas import DataFrame
from freqtrade.strategy import IStrategy
class FirstSma(IStrategy):
INTERFACE_VERSION = 3
timeframe = "4h"
can_short = False
process_only_new_candles = True
# 强制占位,v3 / v4 再讲含义
stoploss = -0.99
minimal_roi = {"0": 10}
startup_candle_count = 1
def populate_indicators(self, dataframe, metadata):
return dataframe
def populate_entry_trend(self, dataframe, metadata):
return dataframe
def populate_exit_trend(self, dataframe, metadata):
return dataframe
populate_indicators 以后用来算线。populate_entry_trend 在某一行写 enter_long = 1 才是买。populate_exit_trend 写 exit_long = 1 才是卖。现在一行都没写,所以 0 笔。v2 会在这里加上金叉死叉。
freqtrade list-strategies --userdir /workspace/ft_userdata/user_data
表里要有 FirstSma,Status 是 OK。这版已经在研究机上验过,是 OK。