Skip to content

Commit 4a2be8b

Browse files
committed
sell_trail: rework, add X_8 profit targets.
1 parent fb9e691 commit 4a2be8b

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

NostalgiaForInfinityNextGen.py

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2078,7 +2078,7 @@ def sell_r(self, current_profit: float, last_candle) -> tuple:
20782078

20792079
return False, None
20802080

2081-
def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> tuple:
2081+
def sell_trail(self, current_profit: float, max_profit: float, max_loss: float, last_candle, previous_candle_1, trade: 'Trade', current_time: 'datetime') -> tuple:
20822082
if 0.02 > current_profit >= 0.012:
20832083
if (max_profit > (current_profit + 0.04)) and (last_candle['rsi_14'] < 34.0):
20842084
return True, 'sell_profit_t_1_1'
@@ -2094,6 +2094,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
20942094
return True, 'sell_profit_t_1_6'
20952095
elif (max_profit > (current_profit + 0.06)) and (last_candle['rsi_14'] < 42.0) and (last_candle['rsi_14_1h'] < 45.0):
20962096
return True, 'sell_profit_t_1_7'
2097+
elif (max_profit > (current_profit + 0.07)) and (last_candle['rsi_14'] < 50.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 52.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2098+
return True, 'sell_profit_t_1_8'
20972099
elif 0.03 > current_profit >= 0.02:
20982100
if (max_profit > (current_profit + 0.045)) and (last_candle['rsi_14'] < 35.0):
20992101
return True, 'sell_profit_t_2_1'
@@ -2109,6 +2111,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21092111
return True, 'sell_profit_t_2_6'
21102112
elif (max_profit > (current_profit + 0.065)) and (last_candle['rsi_14'] < 40.0) and (last_candle['rsi_14_1h'] < 44.0):
21112113
return True, 'sell_profit_t_2_7'
2114+
elif (max_profit > (current_profit + 0.075)) and (last_candle['rsi_14'] < 48.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 50.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2115+
return True, 'sell_profit_t_2_8'
21122116
elif 0.04 > current_profit >= 0.03:
21132117
if (max_profit > (current_profit + 0.05)) and (last_candle['rsi_14'] < 36.0):
21142118
return True, 'sell_profit_t_3_1'
@@ -2124,6 +2128,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21242128
return True, 'sell_profit_t_3_6'
21252129
elif (max_profit > (current_profit + 0.07)) and (last_candle['rsi_14'] < 38.0) and (last_candle['rsi_14_1h'] < 43.0):
21262130
return True, 'sell_profit_t_3_7'
2131+
elif (max_profit > (current_profit + 0.08)) and (last_candle['rsi_14'] < 46.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 48.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2132+
return True, 'sell_profit_t_3_8'
21272133
elif 0.05 > current_profit >= 0.04:
21282134
if (max_profit > (current_profit + 0.055)) and (last_candle['rsi_14'] < 37.0):
21292135
return True, 'sell_profit_t_4_1'
@@ -2139,6 +2145,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21392145
return True, 'sell_profit_t_4_6'
21402146
elif (max_profit > (current_profit + 0.075)) and (last_candle['rsi_14'] < 36.0) and (last_candle['rsi_14_1h'] < 42.0):
21412147
return True, 'sell_profit_t_4_7'
2148+
elif (max_profit > (current_profit + 0.085)) and (last_candle['rsi_14'] < 44.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 46.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2149+
return True, 'sell_profit_t_4_8'
21422150
elif 0.06 > current_profit >= 0.05:
21432151
if (max_profit > (current_profit + 0.06)) and (last_candle['rsi_14'] < 38.0):
21442152
return True, 'sell_profit_t_5_1'
@@ -2154,6 +2162,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21542162
return True, 'sell_profit_t_5_6'
21552163
elif (max_profit > (current_profit + 0.08)) and (last_candle['rsi_14'] < 35.0) and (last_candle['rsi_14_1h'] < 41.0):
21562164
return True, 'sell_profit_t_5_7'
2165+
elif (max_profit > (current_profit + 0.09)) and (last_candle['rsi_14'] < 42.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 44.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2166+
return True, 'sell_profit_t_5_8'
21572167
elif 0.07 > current_profit >= 0.06:
21582168
if (max_profit > (current_profit + 0.065)) and (last_candle['rsi_14'] < 39.0):
21592169
return True, 'sell_profit_t_6_1'
@@ -2169,6 +2179,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21692179
return True, 'sell_profit_t_6_6'
21702180
elif (max_profit > (current_profit + 0.085)) and (last_candle['rsi_14'] < 34.0) and (last_candle['rsi_14_1h'] < 40.0):
21712181
return True, 'sell_profit_t_6_7'
2182+
elif (max_profit > (current_profit + 0.095)) and (last_candle['rsi_14'] < 40.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 42.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2183+
return True, 'sell_profit_t_6_8'
21722184
elif 0.08 > current_profit >= 0.07:
21732185
if (max_profit > (current_profit + 0.07)) and (last_candle['rsi_14'] < 40.0):
21742186
return True, 'sell_profit_t_7_1'
@@ -2184,6 +2196,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21842196
return True, 'sell_profit_t_7_6'
21852197
elif (max_profit > (current_profit + 0.09)) and (last_candle['rsi_14'] < 33.0) and (last_candle['rsi_14_1h'] < 39.0):
21862198
return True, 'sell_profit_t_7_7'
2199+
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 38.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 40.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2200+
return True, 'sell_profit_t_7_8'
21872201
elif 0.09 > current_profit >= 0.08:
21882202
if (max_profit > (current_profit + 0.075)) and (last_candle['rsi_14'] < 41.0):
21892203
return True, 'sell_profit_t_8_1'
@@ -2199,6 +2213,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
21992213
return True, 'sell_profit_t_8_6'
22002214
elif (max_profit > (current_profit + 0.095)) and (last_candle['rsi_14'] < 32.0) and (last_candle['rsi_14_1h'] < 38.0):
22012215
return True, 'sell_profit_t_8_7'
2216+
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 36.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 38.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2217+
return True, 'sell_profit_t_8_8'
22022218
elif 0.1 > current_profit >= 0.09:
22032219
if (max_profit > (current_profit + 0.08)) and (last_candle['rsi_14'] < 42.0):
22042220
return True, 'sell_profit_t_9_1'
@@ -2214,6 +2230,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
22142230
return True, 'sell_profit_t_9_6'
22152231
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 31.0) and (last_candle['rsi_14_1h'] < 37.0):
22162232
return True, 'sell_profit_t_9_7'
2233+
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 34.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 36.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2234+
return True, 'sell_profit_t_9_8'
22172235
elif 0.12 > current_profit >= 0.1:
22182236
if (max_profit > (current_profit + 0.09)) and (last_candle['rsi_14'] < 40.0):
22192237
return True, 'sell_profit_t_10_1'
@@ -2229,6 +2247,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
22292247
return True, 'sell_profit_t_10_6'
22302248
elif (max_profit > (current_profit + 0.11)) and (last_candle['rsi_14'] < 30.0) and (last_candle['rsi_14_1h'] < 36.0):
22312249
return True, 'sell_profit_t_10_7'
2250+
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 33.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 35.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2251+
return True, 'sell_profit_t_10_8'
22322252
elif 0.2 > current_profit >= 0.12:
22332253
if (max_profit > (current_profit + 0.095)) and (last_candle['rsi_14'] < 36.0):
22342254
return True, 'sell_profit_t_11_1'
@@ -2244,6 +2264,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
22442264
return True, 'sell_profit_t_11_6'
22452265
elif (max_profit > (current_profit + 0.12)) and (last_candle['rsi_14'] < 29.0) and (last_candle['rsi_14_1h'] < 35.0):
22462266
return True, 'sell_profit_t_11_7'
2267+
elif (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 32.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 34.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2268+
return True, 'sell_profit_t_11_8'
22472269
elif current_profit >= 0.2:
22482270
if (max_profit > (current_profit + 0.1)) and (last_candle['rsi_14'] < 34.0):
22492271
return True, 'sell_profit_t_12_1'
@@ -2259,6 +2281,8 @@ def sell_trail(self, current_profit: float, max_profit: float, last_candle) -> t
22592281
return True, 'sell_profit_t_12_6'
22602282
elif (max_profit > (current_profit + 0.13)) and (last_candle['rsi_14'] < 28.0) and (last_candle['rsi_14_1h'] < 34.0):
22612283
return True, 'sell_profit_t_12_7'
2284+
elif (max_profit > (current_profit + 0.11)) and (last_candle['rsi_14'] < 32.0) and (last_candle['sma_200_dec_20']) and (last_candle['cmf'] < -0.0) and (last_candle['rsi_14_1h'] < 34.0)and (current_time - timedelta(minutes=1440) > trade.open_date_utc):
2285+
return True, 'sell_profit_t_12_8'
22622286

22632287
return False, None
22642288

@@ -3204,7 +3228,7 @@ def custom_sell(self, pair: str, trade: 'Trade', current_time: 'datetime', curre
32043228
return f"{signal_name} ( {buy_tag})"
32053229

32063230
# Trailing
3207-
sell, signal_name = self.sell_trail(current_profit, max_profit, last_candle)
3231+
sell, signal_name = self.sell_trail(current_profit, max_profit, max_loss, last_candle, previous_candle_1, trade, current_time)
32083232
if sell and (signal_name is not None):
32093233
return f"{signal_name} ( {buy_tag})"
32103234

0 commit comments

Comments
 (0)