Compare commits

..

16 Commits

Author SHA1 Message Date
Jérôme Delacotte
a925a28389 TEST Learning 2026-04-08 21:46:21 +02:00
Jérôme Delacotte
3302266b4a TEST SHORT 2026-04-02 20:17:55 +02:00
Jérôme Delacotte
7954c518bd ┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃   Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃   Avg Duration ┃  Win  Draw  Loss  Win% ┃            Drawdown ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ EmptyShort │     54 │         0.75 │         422.136 │        42.21 │ 1 day, 5:07:00 │   25     0    29  46.3 │ 142.938 USDT  9.86% │
└────────────┴────────┴──────────────┴─────────────────┴──────────────┴────────────────┴────────────────────────┴─────────────────────┘
2026-03-29 23:32:09 +02:00
Jérôme Delacotte
a599160501 ┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
┃   Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃    Avg Duration ┃  Win  Draw  Loss  Win% ┃           Drawdown ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
│ EmptyShort │     34 │         1.08 │         379.432 │        37.94 │ 1 day, 10:30:00 │   18     0    16  52.9 │ 81.299 USDT  6.08% │
└────────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴────────────────────┘
2026-03-29 18:16:38 +02:00
Jérôme Delacotte
8b030f46f0 TEST SHORT 2026-03-28 21:51:37 +01:00
Jérôme Delacotte
2a7dd0beb4 Merge remote-tracking branch 'origin/Multiple_paires' into Multiple_paires 2026-03-28 20:48:10 +01:00
Jérôme Delacotte
5b1e8bede4 TEST SHORT 2026-03-28 20:47:50 +01:00
Jérôme Delacotte
1bc5a38796 TEST calculateMarketState 2026-03-27 20:55:00 +01:00
Jérôme Delacotte
812aa01135 TEST SHORT 2026-03-27 20:22:01 +01:00
Jérôme Delacotte
4b51cce9c7 EMPTy UP AND DOWN 2026-03-08 19:54:25 +01:00
Jérôme Delacotte
12be7e0441 Empty5m.py Hyperopt
┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┓
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDC ┃ Tot Profit % ┃ Avg Duration ┃  Win  Draw  Loss  Win% ┃           Drawdown ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━┩
│  Empty5m │     13 │         0.36 │          44.066 │         4.41 │      5:58:00 │   12     0     1  92.3 │ 36.632 USDC  3.39% │
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┴────────────────────┘
2026-03-07 21:21:52 +01:00
Jérôme Delacotte
f1bad7949d TEST HYPEROPTS 2026-03-07 16:27:45 +01:00
Jérôme Delacotte
2885cf05b1 TEST HYPEROPTS 2026-03-07 15:36:28 +01:00
Jérôme Delacotte
5ce48130f4 ┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃    Avg Duration ┃  Win  Draw  Loss  Win% ┃             Drawdown ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
│    Empty │    108 │         2.03 │        5660.765 │       566.08 │ 4 days, 9:45:00 │   62     0    46  57.4 │ 757.488 USDT  17.40% │
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴─────────────────┴────────────────────────┴──────────────────────┘
2026-03-01 20:56:59 +01:00
Jérôme Delacotte
1656ab695a ┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃     Avg Duration ┃  Win  Draw  Loss  Win% ┃             Drawdown ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
│    Empty │     92 │         2.23 │        4810.221 │       481.02 │ 4 days, 18:13:00 │   51     0    41  55.4 │ 778.975 USDT  20.25% │
└──────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┴──────────────────────┘
2026-03-01 11:06:09 +01:00
Jérôme Delacotte
a04b07f7ea ┏━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┓
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃     Avg Duration ┃  Win  Draw  Loss  Win% ┃             Drawdown ┃
┡━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━┩
│    Empty │     71 │         3.39 │        6790.561 │       679.06 │ 6 days, 19:44:00 │   42     0    29  59.2 │ 722.969 USDT  16.42% │
2026-02-28 20:44:11 +01:00
11 changed files with 7193 additions and 500 deletions

View File

@@ -14,12 +14,7 @@
"trailing_only_offset_is_reached": false
},
"max_open_trades": {
"max_open_trades": 20
},
"protection": {
"b30_indicateur": "sma36",
"baisse": 0.33,
"drop_from_last_entry": -0.03
"max_open_trades": 1
},
"buy": {
"buy_deriv1_sma12d": -0.04,
@@ -30,17 +25,25 @@
"buy_deriv2_sma60": -0.001,
"buy_longue": 160,
"buy_longue_derive": "sma80_deriv1_1d",
"start_bear_deriv1": -0.004,
"start_bear_deriv2": 0.002,
"start_bear_indicator": "sma80",
"start_bull_deriv1": 0.001,
"start_bull_deriv2": -0.002,
"start_bull_indicator": "sma120"
"start_bear_deriv1": 0.003,
"start_bear_deriv2": 0.003,
"start_bear_indicator": "sma24",
"start_bull_deriv1": -0.005,
"start_bull_deriv2": 0.0,
"start_bull_indicator": "sma3"
},
"protection": {
"drop_from_last_entry": -0.03,
"mises": 1
},
"sell": {
"sell_score_indicator": "sma24_score"
"b30_indicateur": "sma36",
"baisse": 0.25,
"sell_force_sell": -0.169,
"sell_indicator": "sma3",
"sell_score_indicator": "sma3_score"
}
},
"ft_stratparam_v": 1,
"export_time": "2026-02-28 17:28:20.867470+00:00"
"export_time": "2026-03-07 11:58:51.712499+00:00"
}

102
Empty.py
View File

@@ -216,8 +216,12 @@ class Empty(IStrategy):
# baisses = list()
# for i in range(0, 0.5, 0.05):
# baisses.append(i)
baisse = DecimalParameter(0, 0.5, decimals=2, default=0.3, space='protection', optimize=True, load=True)
b30_indicateur = CategoricalParameter(sma_indicators_h, default="sma36", space='protection', optimize=True, load=True)
mises = IntParameter(1, 10, default=1, space='protection')
sell_force_sell = DecimalParameter(-0.2, 0, decimals=3, default=-0.02, space='sell')
sell_indicator = CategoricalParameter(sma_indicators, default="sma36", space='sell', optimize=True, load=True)
baisse = DecimalParameter(0.1, 0.5, decimals=2, default=0.3, space='sell', optimize=True, load=True)
b30_indicateur = CategoricalParameter(sma_indicators_h, default="sma36", space='sell', optimize=True, load=True)
# lost_indicator = CategoricalParameter(sma_deriv1_indicators, default="sma5_deriv1", space='protection')
@@ -250,10 +254,10 @@ class Empty(IStrategy):
# sl_max = self.wallets.get_available_stake_amount() / 2
#
# amount = sl_min + (1 - range_pos) * (sl_max - sl_min)
if last_candle['enter_tag'] == 'fall':
if last_candle['enter_tag'] in ['fall', 'bear', 'Force', 'Range-']:
amount = self.wallets.get_available_stake_amount() / 5
else:
amount = self.wallets.get_available_stake_amount() # / (2 * self.pairs[pair]['count_of_lost'] + 1)
amount = self.wallets.get_available_stake_amount() / self.mises.value # / (2 * self.pairs[pair]['count_of_lost'] + 1)
# factor = 1
#
@@ -364,13 +368,16 @@ class Empty(IStrategy):
last_candle_2 = dataframe.iloc[-2].squeeze()
last_candle_3 = dataframe.iloc[-3].squeeze()
# if (last_candle['has_cross_min_6'] and last_candle['sma60_deriv1'] > 0) or (last_candle['sma12_inv_1d']):
# self.pairs[pair]['count_of_lost'] = 0
if entry_tag == 'Range-':
self.pairs[pair]['count_of_lost'] = 0
if entry_tag == 'Force':
if self.pairs[pair]['count_of_lost'] >= 1:
self.pairs[pair]['count_of_lost'] = 0
condition = False
else:
condition = False if self.pairs[pair]['count_of_lost'] >= 1 \
and (last_candle['sma12_deriv1_1d'] < 0.001 \
or last_candle['sma12_deriv2_1d'] < 0.001) else True
and (last_candle['sma12_deriv1_1d'] < 0.001 or last_candle['sma12_deriv2_1d'] < 0.001) \
and entry_tag != 'dist' else True
reason = ''
if not condition:
reason = 'lost'
@@ -545,15 +552,15 @@ class Empty(IStrategy):
# buys=count_of_buys,
# stake=0
# )
# if self.pairs[pair]['current_trade'].enter_tag == 'fall':
# if current_profit < - 0.02 and last_candle[f"close"] <= last_candle['sma60'] and self.wallets.get_available_stake_amount() < 50:
# self.pairs[pair]['force_sell'] = True
# return 'sma60'
# else:
if current_profit < - 0.02 and last_candle[f"close"] <= last_candle['sma60']:
if self.pairs[pair]['current_trade'].enter_tag in ['bear', 'Force', 'Range-']:
if current_profit < - 0.02 and last_candle[f"close"] <= last_candle['sma60'] and self.wallets.get_available_stake_amount() < 50:
self.pairs[pair]['force_sell'] = True
return 'sma60'
return 'smaBF'
else:
if current_profit < self.sell_force_sell.value \
and last_candle[f"close"] <= last_candle[self.sell_indicator.value]:
self.pairs[pair]['force_sell'] = True
return 'sma'
if profit > max(5, expected_profit) and \
(baisse > self.baisse.value and last_candle[f"close"] <= last_candle[self.b30_indicateur.value]) \
@@ -561,6 +568,10 @@ class Empty(IStrategy):
self.pairs[pair]['force_sell'] = True
return 'B30'
# if profit > max(5, expected_profit) and last_candle['sma5_deriv1_1d'] < 0 and baisse > 0.15:
# self.pairs[pair]['force_sell'] = True
# return 'Drv5d'
# if last_candle['range_pos'] > 0.05 and current_profit < - last_candle['range_pos'] /4 : #last_candle['cross_sma60']:
# self.pairs[pair]['force_sell'] = True
# return 'Range'
@@ -738,8 +749,8 @@ class Empty(IStrategy):
# #####################################################################################
# CA MONTE !!
# #####################################################################################
# conditions.append(dataframe[f"{self.start_bull_indicator.value}_deriv1_1d" ] > self.start_bull_deriv1.value)
# conditions.append(dataframe[f"{self.start_bull_indicator.value}_deriv2_1d"] > self.start_bull_deriv2.value)
conditions.append(dataframe[f"{self.start_bull_indicator.value}_deriv1_1d" ] > self.start_bull_deriv1.value)
conditions.append(dataframe[f"{self.start_bull_indicator.value}_deriv2_1d"] > self.start_bull_deriv2.value)
conditions.append(dataframe['sma12_deriv1'] > self.buy_deriv1_sma60.value)
conditions.append(dataframe['sma5_deriv1_1d'] > self.buy_deriv1_sma5d.value)
conditions.append(dataframe['sma12_deriv1_1d'] > self.buy_deriv1_sma12d.value)
@@ -769,6 +780,29 @@ class Empty(IStrategy):
['enter_long', 'enter_tag']
] = (1, 'bull')
# #####################################################################################
# conditions = list()
# conditions.append(dataframe['dist_sma200_1d'] < -0.05)
# conditions.append(dataframe['sma12_inv'] == 1)
# # conditions.append(dataframe['sma100_deriv1_1d'] > 0)
# if conditions:
# dataframe.loc[
# reduce(lambda x, y: x & y, conditions),
# ['enter_long', 'enter_tag']
# ] = (1, 'dist')
# #####################################################################################
conditions = list()
conditions.append(dataframe['close'] < dataframe['sma100_1d'])
conditions.append(dataframe['mid_smooth12'] > dataframe['mid_smooth12'].shift(1))
conditions.append(dataframe['sma100_deriv1_1d'] > 0)
conditions.append(dataframe[f"range_pos"] < 0.01)
# if conditions:
# dataframe.loc[
# reduce(lambda x, y: x & y, conditions),
# ['enter_long', 'enter_tag']
# ] = (1, 'dist')
# #####################################################################################
# CA BAISSE !!
# "buy": {
@@ -831,7 +865,15 @@ class Empty(IStrategy):
# ['enter_long', 'enter_tag']
# ] = (1, 'cross_min')
# conditions = list()
conditions = list()
conditions.append(dataframe['sma12_deriv1'] > 0.00)
conditions.append(dataframe['sma60_deriv1'] > 0.0)
conditions.append(dataframe['sma5_deriv1_1d'] > 0.0)
conditions.append(dataframe['sma12_deriv1_1d'] > 0.0)
conditions.append(dataframe['sma24_deriv1_1d'] > 0.0)
conditions.append(dataframe['sma100_deriv1_1d'] > 0.0)
conditions.append(dataframe[f"range_pos"] < 0.025)
# conditions.append(dataframe['sma12_deriv1_1d'] > 0.0)
# # conditions.append(dataframe['close_1d'] < dataframe[f'sma{self.buy_longue.value}_1d'])
# # conditions.append(dataframe['has_cross_min'].rolling(6).max() == 1)
# # conditions.append(dataframe['mid_smooth5'] > dataframe['mid_smooth5'].shift(1))
@@ -840,7 +882,23 @@ class Empty(IStrategy):
# dataframe.loc[
# reduce(lambda x, y: x & y, conditions),
# ['enter_long', 'enter_tag']
# ] = (1, 'fall')
# ] = (1, 'Rise')
# conditions = list()
# conditions.append(dataframe['has_cross_min_6'] == True)
# conditions.append(dataframe['min36'] == dataframe['min36'].shift(3))
# dataframe.loc[
# reduce(lambda x, y: x & y, conditions),
# ['enter_long', 'enter_tag']
# ] = (1, 'Force')
# conditions = list()
# conditions.append(dataframe['range_pos'] < -0.03)
# conditions.append(dataframe['min36'] == dataframe['min36'].shift(3))
# dataframe.loc[
# reduce(lambda x, y: x & y, conditions),
# ['enter_long', 'enter_tag']
# ] = (1, 'Range-')
return dataframe

1244
Empty.txt

File diff suppressed because it is too large Load Diff

32
Empty5m.json Normal file
View File

@@ -0,0 +1,32 @@
{
"strategy_name": "Empty5m",
"params": {
"roi": {
"0": 5
},
"stoploss": {
"stoploss": -1.0
},
"trailing": {
"trailing_stop": false,
"trailing_stop_positive": null,
"trailing_stop_positive_offset": 0.0,
"trailing_only_offset_is_reached": false
},
"max_open_trades": {
"max_open_trades": 20
},
"sell": {
"b30_indicateur": "sma36",
"baisse": 0.3,
"sell_force_sell": -0.03,
"sell_indicator": "sma36"
},
"protection": {
"drop_from_last_entry": -0.01,
"mises_bull": 4
}
},
"ft_stratparam_v": 1,
"export_time": "2026-03-07 20:20:17.895644+00:00"
}

1452
Empty5m.py Normal file

File diff suppressed because it is too large Load Diff

1218
EmptyAI.py Normal file

File diff suppressed because it is too large Load Diff

32
EmptyShort.json Normal file
View File

@@ -0,0 +1,32 @@
{
"strategy_name": "EmptyShort",
"params": {
"roi": {
"0": 5
},
"trailing": {
"trailing_stop": false,
"trailing_stop_positive": null,
"trailing_stop_positive_offset": 0.0,
"trailing_only_offset_is_reached": false
},
"max_open_trades": {
"max_open_trades": 20
},
"sell": {
"b30_indicateur": "sma24",
"baisse": 0.2,
"sell_force_sell": -0.02,
"sell_indicator": "sma36"
},
"protection": {
"drop_from_last_entry": 0.0,
"mises_bull": 4
},
"stoploss": {
"stoploss": -0.02
}
},
"ft_stratparam_v": 1,
"export_time": "2026-03-29 18:29:54.986316+00:00"
}

1419
EmptyShort.py Normal file

File diff suppressed because it is too large Load Diff

188
EmptyShort.txt Normal file
View File

@@ -0,0 +1,188 @@
BACKTESTING REPORT
┏━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
┡━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ BTC/USDT:USDT │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │
│ TOTAL │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │
└───────────────┴────────┴──────────────┴─────────────────┴──────────────┴────────────────┴────────────────────────┘
LEFT OPEN TRADES REPORT
┏━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Pair ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
┡━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ TOTAL │ 0 │ 0.0 │ 0.000 │ 0.0 │ 0:00 │ 0 0 0 0 │
└───────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────┴────────────────────────┘
ENTER TAG STATS
┏━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Enter Tag ┃ Entries ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ short │ 28 │ 0.72 │ 211.154 │ 21.12 │ 19:27:00 │ 13 0 15 46.4 │
│ short_spike │ 25 │ 0.65 │ 174.806 │ 17.48 │ 1 day, 10:54:00 │ 11 0 14 44.0 │
│ long │ 1 │ 3.75 │ 36.176 │ 3.62 │ 6 days, 10:57:00 │ 1 0 0 100 │
│ TOTAL │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │
└─────────────┴─────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘
EXIT REASON STATS
┏━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Exit Reason ┃ Exits ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
┡━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ B30Sht │ 24 │ 4.06 │ 1155.077 │ 115.51 │ 1 day, 10:30:00 │ 24 0 0 100 │
│ B30 │ 1 │ 3.75 │ 36.176 │ 3.62 │ 6 days, 10:57:00 │ 1 0 0 100 │
│ stop_loss │ 29 │ -2.1 │ -769.117 │ -76.91 │ 20:19:00 │ 0 0 29 0 │
│ TOTAL │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │
└─────────────┴───────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘
MIXED TAG STATS
┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Enter Tag ┃ Exit Reason ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃
┡━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ short │ B30Sht │ 13 │ 3.98 │ 601.641 │ 60.16 │ 1 day, 9:46:00 │ 13 0 0 100 │
│ short_spike │ B30Sht │ 11 │ 4.16 │ 553.436 │ 55.34 │ 1 day, 11:22:00 │ 11 0 0 100 │
│ long │ B30 │ 1 │ 3.75 │ 36.176 │ 3.62 │ 6 days, 10:57:00 │ 1 0 0 100 │
│ short_spike │ stop_loss │ 14 │ -2.1 │ -378.630 │ -37.86 │ 1 day, 10:32:00 │ 0 0 14 0 │
│ short │ stop_loss │ 15 │ -2.1 │ -390.487 │ -39.05 │ 7:03:00 │ 0 0 15 0 │
│ TOTAL │ │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │
└─────────────┴─────────────┴────────┴──────────────┴─────────────────┴──────────────┴──────────────────┴────────────────────────┘
DAY BREAKDOWN
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Day ┃ Trades ┃ Tot Profit USDT ┃ Profit Factor ┃ Win Draw Loss Win% ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 07/01/2026 │ 1 │ 36.176 │ 0.0 │ 1 0 0 100 │
│ 08/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 09/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 10/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 11/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 12/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 13/01/2026 │ 1 │ -20.15 │ 0.0 │ 0 0 1 0 │
│ 14/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 15/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 16/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 17/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 18/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 19/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 20/01/2026 │ 1 │ 49.664 │ 0.0 │ 1 0 0 100 │
│ 21/01/2026 │ 1 │ 20.963 │ 0.0 │ 1 0 0 100 │
│ 22/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 23/01/2026 │ 1 │ -22.227 │ 0.0 │ 0 0 1 0 │
│ 24/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 25/01/2026 │ 1 │ 32.61 │ 0.0 │ 1 0 0 100 │
│ 26/01/2026 │ 1 │ -21.707 │ 0.0 │ 0 0 1 0 │
│ 27/01/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 28/01/2026 │ 1 │ -21.939 │ 0.0 │ 0 0 1 0 │
│ 29/01/2026 │ 1 │ 50.715 │ 0.0 │ 1 0 0 100 │
│ 30/01/2026 │ 1 │ -22.455 │ 0.0 │ 0 0 1 0 │
│ 31/01/2026 │ 1 │ 59.691 │ 0.0 │ 1 0 0 100 │
│ 01/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 02/02/2026 │ 3 │ -7.976 │ 0.83 │ 1 0 2 33.3 │
│ 03/02/2026 │ 1 │ 22.032 │ 0.0 │ 1 0 0 100 │
│ 04/02/2026 │ 1 │ 33.959 │ 0.0 │ 1 0 0 100 │
│ 05/02/2026 │ 1 │ 39.293 │ 0.0 │ 1 0 0 100 │
│ 06/02/2026 │ 4 │ 74.327 │ 1.89 │ 1 0 3 25.0 │
│ 07/02/2026 │ 2 │ 12.485 │ 1.46 │ 1 0 1 50.0 │
│ 08/02/2026 │ 2 │ -54.289 │ 0.0 │ 0 0 2 0 │
│ 09/02/2026 │ 2 │ -1.939 │ 0.93 │ 1 0 1 50.0 │
│ 10/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 11/02/2026 │ 4 │ 20.391 │ 1.38 │ 2 0 2 50.0 │
│ 12/02/2026 │ 1 │ 35.171 │ 0.0 │ 1 0 0 100 │
│ 13/02/2026 │ 1 │ -26.178 │ 0.0 │ 0 0 1 0 │
│ 14/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 15/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 16/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 17/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 18/02/2026 │ 1 │ 36.046 │ 0.0 │ 1 0 0 100 │
│ 19/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 20/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 21/02/2026 │ 1 │ -26.642 │ 0.0 │ 0 0 1 0 │
│ 22/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 23/02/2026 │ 1 │ 57.25 │ 0.0 │ 1 0 0 100 │
│ 24/02/2026 │ 2 │ 7.103 │ 1.25 │ 1 0 1 50.0 │
│ 25/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 26/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 27/02/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 28/02/2026 │ 1 │ 87.891 │ 0.0 │ 1 0 0 100 │
│ 01/03/2026 │ 1 │ -29.21 │ 0.0 │ 0 0 1 0 │
│ 02/03/2026 │ 1 │ -29.332 │ 0.0 │ 0 0 1 0 │
│ 03/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 04/03/2026 │ 2 │ -57.218 │ 0.0 │ 0 0 2 0 │
│ 05/03/2026 │ 1 │ -27.178 │ 0.0 │ 0 0 1 0 │
│ 06/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 07/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 08/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 09/03/2026 │ 1 │ 104.735 │ 0.0 │ 1 0 0 100 │
│ 10/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 11/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 12/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 13/03/2026 │ 1 │ -30.23 │ 0.0 │ 0 0 1 0 │
│ 14/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 15/03/2026 │ 1 │ -28.727 │ 0.0 │ 0 0 1 0 │
│ 16/03/2026 │ 1 │ -27.688 │ 0.0 │ 0 0 1 0 │
│ 17/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 18/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 19/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 20/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 21/03/2026 │ 1 │ 59.772 │ 0.0 │ 1 0 0 100 │
│ 22/03/2026 │ 0 │ 0 │ 0.0 │ 0 0 0 0 │
│ 23/03/2026 │ 1 │ -29.287 │ 0.0 │ 0 0 1 0 │
│ 24/03/2026 │ 1 │ 29.577 │ 0.0 │ 1 0 0 100 │
│ 25/03/2026 │ 1 │ -27.872 │ 0.0 │ 0 0 1 0 │
│ 26/03/2026 │ 1 │ 36.754 │ 0.0 │ 1 0 0 100 │
│ 27/03/2026 │ 1 │ 27.777 │ 0.0 │ 1 0 0 100 │
└────────────┴────────┴─────────────────┴───────────────┴────────────────────────┘
SUMMARY METRICS
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Metric ┃ Value ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ Backtesting from │ 2026-01-01 00:00:00 │
│ Backtesting to │ 2026-03-27 15:43:00 │
│ Trading Mode │ Isolated Futures │
│ Max open trades │ 1 │
│ │ │
│ Total/Daily Avg Trades │ 54 / 0.64 │
│ Starting balance │ 1000 USDT │
│ Final balance │ 1422.136 USDT │
│ Absolute profit │ 422.136 USDT │
│ Total profit % │ 42.21% │
│ CAGR % │ 353.68% │
│ Sortino │ 36.18 │
│ Sharpe │ 2.25 │
│ Calmar │ 96.27 │
│ SQN │ 1.35 │
│ Profit factor │ 1.55 │
│ Expectancy (Ratio) │ 7.82 (0.29) │
│ Avg. daily profit │ 4.966 USDT │
│ Avg. stake amount │ 1224.501 USDT │
│ Total trade volume │ 131900.967 USDT │
│ │ │
│ Long / Short trades │ 1 / 53 │
│ Long / Short profit % │ 3.62% / 38.60% │
│ Long / Short profit USDT │ 36.176 / 385.960 │
│ │ │
│ Best Pair │ BTC/USDT:USDT 42.21% │
│ Worst Pair │ BTC/USDT:USDT 42.21% │
│ Best trade │ BTC/USDT:USDT 13.07% │
│ Worst trade │ BTC/USDT:USDT -2.14% │
│ Best day │ 104.735 USDT │
│ Worst day │ -57.218 USDT │
│ Days win/draw/lose │ 22 / 39 / 19 │
│ Min/Max/Avg. Duration Winners │ 0d 00:58 / 6d 10:57 / 1d 15:19 │
│ Min/Max/Avg. Duration Losers │ 0d 00:18 / 5d 19:41 / 0d 20:19 │
│ Max Consecutive Wins / Loss │ 4 / 5 │
│ Rejected Entry signals │ 0 │
│ Entry/Exit Timeouts │ 0 / 0 │
│ │ │
│ Min balance │ 1016.026 USDT │
│ Max balance │ 1450.263 USDT │
│ Max % of account underwater │ 9.86% │
│ Absolute drawdown │ 142.938 USDT (9.86%) │
│ Drawdown duration │ 4 days 23:26:00 │
│ Profit at drawdown start │ 450.263 USDT │
│ Profit at drawdown end │ 307.325 USDT │
│ Drawdown start │ 2026-02-28 11:00:00 │
│ Drawdown end │ 2026-03-05 10:26:00 │
│ Market change │ -24.27% │
└───────────────────────────────┴────────────────────────────────┘
Backtested 2026-01-01 00:00:00 -> 2026-03-27 15:43:00 | Max open trades : 1
STRATEGY SUMMARY
┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┓
┃ Strategy ┃ Trades ┃ Avg Profit % ┃ Tot Profit USDT ┃ Tot Profit % ┃ Avg Duration ┃ Win Draw Loss Win% ┃ Drawdown ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━┩
│ EmptyShort │ 54 │ 0.75 │ 422.136 │ 42.21 │ 1 day, 5:07:00 │ 25 0 29 46.3 │ 142.938 USDT 9.86% │
└────────────┴────────┴──────────────┴─────────────────┴──────────────┴────────────────┴────────────────────────┴─────────────────────┘

View File

@@ -5,7 +5,7 @@
"0": 10
},
"stoploss": {
"stoploss": -1.0
"stoploss": -0.02
},
"trailing": {
"trailing_stop": false,

File diff suppressed because it is too large Load Diff