Calcul 2020-2025 4796 168$ mise moyenne profit

This commit is contained in:
Jérôme Delacotte
2025-05-16 21:56:14 +02:00
parent 0c849ebdd6
commit c0b02ef157
3 changed files with 5792 additions and 5086 deletions

View File

@@ -418,7 +418,7 @@ class Zeus_8_3_2_B_4_2(IStrategy):
baisse = self.pairs[pair]['max_profit'] - current_profit baisse = self.pairs[pair]['max_profit'] - current_profit
mx = self.pairs[pair]['max_profit'] / 5 mx = self.pairs[pair]['max_profit'] / 5
if (baisse > mx) & (current_profit > expected_profit): #last_candle['min_max200'] / 3): if (baisse > mx) & (current_profit > expected_profit):
self.trades = list() self.trades = list()
return 'mx_' + str(count_of_buys) return 'mx_' + str(count_of_buys)
if (last_candle['percent12'] <= -0.01) & (current_profit >= expected_profit): if (last_candle['percent12'] <= -0.01) & (current_profit >= expected_profit):
@@ -570,12 +570,7 @@ class Zeus_8_3_2_B_4_2(IStrategy):
dataframe['max200'] = talib.MAX(dataframe['close'], timeperiod=200) dataframe['max200'] = talib.MAX(dataframe['close'], timeperiod=200)
dataframe['max50'] = talib.MAX(dataframe['close'], timeperiod=50) dataframe['max50'] = talib.MAX(dataframe['close'], timeperiod=50)
dataframe['max144'] = talib.MAX(dataframe['close'], timeperiod=144)
dataframe['min_max50'] = (dataframe['max50'] - dataframe['min50']) / dataframe['min50']
dataframe['min_max200'] = (dataframe['max200'] - dataframe['min200']) / dataframe['min200']
dataframe['max200_diff'] = (dataframe['max200'] - dataframe['close']) / dataframe['close'] dataframe['max200_diff'] = (dataframe['max200'] - dataframe['close']) / dataframe['close']
dataframe['max50_diff'] = (dataframe['max50'] - dataframe['close']) / dataframe['close']
dataframe['sma5'] = talib.SMA(dataframe, timeperiod=5) dataframe['sma5'] = talib.SMA(dataframe, timeperiod=5)
dataframe['sma10'] = talib.SMA(dataframe, timeperiod=10) dataframe['sma10'] = talib.SMA(dataframe, timeperiod=10)
@@ -589,12 +584,9 @@ class Zeus_8_3_2_B_4_2(IStrategy):
dataframe["percent3"] = (dataframe["close"] - dataframe["open"].shift(3)) / dataframe["open"].shift(3) dataframe["percent3"] = (dataframe["close"] - dataframe["open"].shift(3)) / dataframe["open"].shift(3)
dataframe["percent5"] = (dataframe["close"] - dataframe["open"].shift(5)) / dataframe["open"].shift(5) dataframe["percent5"] = (dataframe["close"] - dataframe["open"].shift(5)) / dataframe["open"].shift(5)
dataframe["percent12"] = (dataframe["close"] - dataframe["open"].shift(12)) / dataframe["open"].shift(12) dataframe["percent12"] = (dataframe["close"] - dataframe["open"].shift(12)) / dataframe["open"].shift(12)
dataframe["percent24"] = (dataframe["close"] - dataframe["open"].shift(24)) / dataframe["open"].shift(24)
dataframe["percent48"] = (dataframe["close"] - dataframe["open"].shift(48)) / dataframe["open"].shift(48)
dataframe["percent_max_144"] = (dataframe["close"] - dataframe["max144"]) / dataframe["close"]
dataframe = self.calculateTendency(dataframe, window=12) dataframe = self.calculateTendency(dataframe, window=12)
dataframe = self.calculateTendency(dataframe, window=144, suffixe="_144", factor_1=1000, factor_2=10) dataframe = self.calculateTendency(dataframe, window=48, suffixe="_144", factor_1=1000, factor_2=10)
# print(metadata['pair']) # print(metadata['pair'])
dataframe['rsi'] = talib.RSI(dataframe['close'], timeperiod=14) dataframe['rsi'] = talib.RSI(dataframe['close'], timeperiod=14)
@@ -1098,20 +1090,20 @@ class Zeus_8_3_2_B_4_2(IStrategy):
df = dataframe.copy() df = dataframe.copy()
regression_fit = [] regression_fit = []
deriv1 = [] # deriv1 = []
deriv2 = [] # deriv2 = []
regression_future_fit = [] regression_future_fit = []
regression_future_deriv1 = [] # regression_future_deriv1 = []
regression_future_deriv2 = [] # regression_future_deriv2 = []
for i in range(len(df)): for i in range(len(df)):
if i < window or i + future_offset >= len(df): if i < window or i + future_offset >= len(df):
regression_fit.append(np.nan) regression_fit.append(np.nan)
deriv1.append(np.nan) # deriv1.append(np.nan)
deriv2.append(np.nan) # deriv2.append(np.nan)
regression_future_fit.append(np.nan) regression_future_fit.append(np.nan)
regression_future_deriv1.append(np.nan) # regression_future_deriv1.append(np.nan)
regression_future_deriv2.append(np.nan) # regression_future_deriv2.append(np.nan)
continue continue
y = df[column].iloc[i - window:i].values y = df[column].iloc[i - window:i].values
@@ -1124,20 +1116,20 @@ class Zeus_8_3_2_B_4_2(IStrategy):
x_future = x_now + future_offset x_future = x_now + future_offset
regression_fit.append(poly(x_now)) regression_fit.append(poly(x_now))
deriv1.append(np.polyder(poly, 1)(x_now)) # deriv1.append(np.polyder(poly, 1)(x_now))
deriv2.append(np.polyder(poly, 2)(x_now)) # deriv2.append(np.polyder(poly, 2)(x_now))
regression_future_fit.append(poly(x_future)) regression_future_fit.append(poly(x_future))
regression_future_deriv1.append(np.polyder(poly, 1)(x_future)) # regression_future_deriv1.append(np.polyder(poly, 1)(x_future))
regression_future_deriv2.append(np.polyder(poly, 2)(x_future)) # regression_future_deriv2.append(np.polyder(poly, 2)(x_future))
df['regression_fit'] = regression_fit # df['regression_fit'] = regression_fit
df['regression_deriv1'] = deriv1 # df['regression_deriv1'] = deriv1
df['regression_deriv2'] = deriv2 # df['regression_deriv2'] = deriv2
df['regression_future_fit'] = regression_future_fit df['regression_future_fit'] = regression_future_fit
df['regression_future_deriv1'] = regression_future_deriv1 # df['regression_future_deriv1'] = regression_future_deriv1
df['regression_future_deriv2'] = regression_future_deriv2 # df['regression_future_deriv2'] = regression_future_deriv2
return df return df

File diff suppressed because it is too large Load Diff

View File

@@ -8,17 +8,17 @@ y_labels = ['B5', 'B4', 'B3', 'B2', 'B1', 'N0', 'H1', 'H2', 'H3', 'H4', 'H5']
# Data matrix # Data matrix
data = np.array([ data = np.array([
[29.0, 33.8, 23.5, 26.2, 22.2, 8.1, 25.5, 39.3, 52.6, 62.6, 64.1], [34.6, 16.8, 18.4, 14.9, 26.4, 11.9, 25.2, 33.9, 46.0, 56.9, 62.1],
[28.8, 22.5, 28.6, 34.9, 25.6, 19.1, 37.4, 45.2, 57.0, 69.4, 62.1], [35.3, 29.0, 20.8, 20.3, 21.1, 19.2, 30.9, 42.5, 52.9, 62.6, 61.6],
[30.2, 24.2, 24.2, 25.7, 31.4, 28.1, 49.8, 56.9, 60.8, 68.8, 63.2], [36.3, 31.6, 26.5, 24.5, 24.0, 25.4, 40.6, 48.0, 56.2, 64.0, 65.3],
[31.0, 24.5, 25.5, 25.2, 32.3, 40.0, 55.0, 61.9, 64.5, 69.0, 66.6], [37.0, 34.7, 31.2, 27.6, 29.0, 31.8, 45.0, 53.5, 59.6, 64.2, 64.2],
[33.1, 30.2, 26.6, 29.3, 34.6, 47.8, 59.4, 69.4, 70.2, 71.6, 66.0], [34.2, 35.3, 33.8, 33.3, 31.7, 43.1, 53.2, 59.9, 64.3, 64.0, 64.5],
[29.6, 29.5, 30.2, 32.1, 39.8, 56.2, 66.4, 71.5, 72.9, 73.0, 63.4], [36.1, 37.0, 35.9, 37.5, 41.6, 56.3, 61.9, 66.1, 64.9, 66.4, 60.2],
[34.2, 30.4, 31.1, 36.8, 44.9, 62.5, 68.9, 72.1, 74.9, 74.7, 65.5], [36.9, 37.5, 38.9, 44.3, 53.2, 66.1, 67.8, 67.0, 68.0, 67.6, 62.6],
[36.5, 31.3, 35.6, 42.3, 52.8, 68.1, 68.4, 77.0, 76.1, 74.4, 67.7], [40.6, 37.1, 44.3, 51.3, 61.0, 73.7, 73.9, 70.6, 70.3, 68.3, 63.8],
[36.1, 34.2, 43.8, 49.1, 59.8, 77.7, 69.2, 73.5, 78.8, 72.5, 66.7], [41.1, 40.6, 48.9, 55.5, 65.8, 80.0, 75.7, 76.6, 73.3, 68.4, 67.1],
[35.7, 42.2, 52.8, 62.5, 72.2, 87.8, 69.7, 68.1, 74.3, 75.2, 70.1], [38.9, 43.0, 54.7, 66.3, 72.3, 81.5, 78.6, 77.6, 79.6, 71.8, 66.5],
[35.3, 48.3, 58.2, 72.1, 78.5, 96.5, 83.6, 69.1, 78.1, 69.9, 72.3] [41.0, 46.8, 60.7, 75.2, 82.3, 89.3, 76.8, 80.9, 78.8, 83.7, 68.9]
]) ])
# Meshgrid for 3D plotting # Meshgrid for 3D plotting