添加策略

This commit is contained in:
2025-10-25 17:19:16 +08:00
parent 7fdac25742
commit 04ad5b6f1b
9 changed files with 549 additions and 294 deletions

View File

@@ -42,9 +42,9 @@ class MACDStrategy(IStrategy):
INTERFACE_VERSION = 3
minimal_roi = {"0": 100}
stoploss = -1
stoploss = -0.05
trailing_stop = False
timeframe = '15m'
timeframe = '4h'
use_exit_signal = True
exit_profit_only = False
@@ -72,7 +72,7 @@ class MACDStrategy(IStrategy):
dataframe["macd"] = macd["macd"]
dataframe["macdsignal"] = macd["macdsignal"]
dataframe["macdhist"] = macd["macdhist"]
dataframe['cci'] = ta.CCI(dataframe, 26)
dataframe['cci'] = ta.CCI(dataframe, 14)
dataframe['TD'] = self.TD(dataframe)
return dataframe
@@ -80,15 +80,14 @@ class MACDStrategy(IStrategy):
# 入场1d与4h CCI < -100且4h CCI上升当前 > 前一根)
dataframe.loc[
(
# (dataframe['macdhist'] < 0) &
# (dataframe['macdhist'] > dataframe['macdhist'].shift(1)) &
(dataframe['macdhist'] < 0) &
(dataframe['macdhist'] > dataframe['macdhist'].shift(1)) &
# (dataframe['macdsignal'] < 0) &
# (dataframe['macd'] < dataframe['macdsignal']) &
# (dataframe['cci'] < -100) &
# (dataframe['cci'].shift(1) < dataframe['cci']) &
(dataframe['cci'] < -100) &
(dataframe['cci'] > dataframe['cci'].shift(1))
# (dataframe['macdhist'] < 0) &
(dataframe['TD'] == 1) &
(dataframe['volume'] > 0)
# (dataframe['volume'] > 0)
),
'enter_long',
] = 1
@@ -99,15 +98,17 @@ class MACDStrategy(IStrategy):
# 离场1d与4h CCI > 100且4h CCI下降当前 < 前一根)
dataframe.loc[
(
# (dataframe['macdhist'] > 0) &
((dataframe['macdhist'] < 0) &
(dataframe['macdhist'].shift(1) > 0) )
| (qtpylib.crossed_below(dataframe['macd'], dataframe['macdsignal']) )
# (dataframe['macdhist'] < dataframe['macdhist'].shift(1)) &
# (dataframe['macdsignal'] > 0) &
# (dataframe['macd'] > dataframe['macdsignal']) &
# (dataframe['cci'] > 100 )&
# (dataframe['cci'].shift(1) > dataframe['cci']) &
# (dataframe['cci'] < dataframe['cci'].shift(1)) &
# (dataframe['macdhist'] > 0) &
(dataframe['TD'] == -1) &
(dataframe['volume'] > 0)
# (dataframe['TD'] == -1) &
# (dataframe['volume'] > 0)
),
'exit_long',
] = 1