对着 BuyHold.py 从上往下走。它是尺子,不是买卖想法。
第一天有量就上车,三扇出门的门都焊死。Freqtrade 已在场内时,入场信号不会再开第二仓,所以看起来每根 K 都在喊买,实际是一直拿着。
每一项是文件里的原文,不是口诀。先看黑底那几行,再听人话,再答三问。
class BuyHold(IStrategy):
向引擎登记一份叫 BuyHold 的策略。对照选的是类名。
INTERFACE_VERSION = 3
按第三版接口读:进场字段叫 enter,出场字段叫 exit。
timeframe = "4h"
每根 K 是 4 小时。和另外五份对照同一根时钟,尺子才比得过。
startup_candle_count = 1
几乎不用暖机。没有指标要算稳,第一根有量的 K 就能买。
process_only_new_candles = True
只在 K 线收盘时想一次。一根没走完的 K 里不反复改主意。
can_short = False
只许做多,不许做空。尺子是满仓多头持有。
use_exit_signal = True
引擎会去问 populate_exit_trend。这份问了,但里面一行卖都不写。
minimal_roi = {"0": 100}
一上车就要涨 100 倍,ROI 这扇门才开。等于把门焊死。100 是 10000%。
stoploss = -0.99
要跌掉 99% 才硬止损。几乎等于没有止损。
trailing_stop = False
不让利润回吐来跟踪止盈。涨了也不自动收紧。
def populate_indicators(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
return dataframe
不计算任何指标。表怎么来,怎么还回去。
dataframe.loc[dataframe["volume"] > 0, "enter_long"] = 1
凡是有成交量的 K,都写可以开多。引擎已经在场内时不会再开第二仓,所以效果是第一根有量就上车,然后一直拿着。
def populate_exit_trend(self, dataframe: DataFrame, metadata: dict) -> DataFrame:
return dataframe
出场函数直接还表,一行 exit_long 都不写。信号这扇门永远不开。
对着这份文件讲。口头就行。不要编回测数字。