Skip to content

Commit a132d24

Browse files
committedApr 15, 2023
test: cover new strategies with tests
1 parent 6d0c9b6 commit a132d24

20 files changed

+808
-846
lines changed
 

‎config.15m.json

+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
{
2+
"max_open_trades": 50,
3+
"stake_currency": "USDT",
4+
"fiat_display_currency": "USD",
5+
"dry_run": true,
6+
"stake_amount": 100,
7+
"dry_run_wallet": 5000,
8+
"tradable_balance_ratio": 0.99,
9+
10+
"cancel_open_orders_on_exit": false,
11+
"trading_mode": "futures",
12+
"margin_mode": "isolated",
13+
14+
"minimal_roi": {
15+
"0": 0.30,
16+
"150": 0.2,
17+
"300": 0.1
18+
},
19+
"stoploss": -0.1,
20+
21+
"trailing_stop": true,
22+
"trailing_stop_positive": 0.05,
23+
"trailing_stop_positive_offset": 0.1,
24+
"trailing_only_offset_is_reached": true,
25+
26+
"timeframe": "15m",
27+
"unfilledtimeout": {
28+
"entry": 5,
29+
"exit": 10,
30+
"exit_timeout_count": 0,
31+
"unit": "minutes"
32+
},
33+
"entry_pricing": {
34+
"price_side": "same",
35+
"use_order_book": true,
36+
"order_book_top": 1,
37+
"price_last_balance": 0.0,
38+
"check_depth_of_market": {
39+
"enabled": false,
40+
"bids_to_ask_delta": 1
41+
}
42+
},
43+
"exit_pricing":{
44+
"price_side": "same",
45+
"use_order_book": true,
46+
"order_book_top": 1
47+
},
48+
"exchange": {
49+
"name": "binance",
50+
"key": "",
51+
"secret": "",
52+
"ccxt_config": {},
53+
"ccxt_async_config": {},
54+
"pair_whitelist": [
55+
"BTC/USDT:USDT",
56+
"ETH/USDT:USDT",
57+
"BCH/USDT:USDT",
58+
"XRP/USDT:USDT",
59+
"EOS/USDT:USDT",
60+
"LTC/USDT:USDT",
61+
"TRX/USDT:USDT",
62+
"ETC/USDT:USDT",
63+
"LINK/USDT:USDT",
64+
"XLM/USDT:USDT",
65+
"ADA/USDT:USDT",
66+
"XMR/USDT:USDT",
67+
"DASH/USDT:USDT",
68+
"ZEC/USDT:USDT",
69+
"XTZ/USDT:USDT",
70+
"BNB/USDT:USDT",
71+
"ATOM/USDT:USDT",
72+
"ONT/USDT:USDT",
73+
"IOTA/USDT:USDT",
74+
"BAT/USDT:USDT",
75+
"VET/USDT:USDT",
76+
"NEO/USDT:USDT",
77+
"QTUM/USDT:USDT",
78+
"IOST/USDT:USDT",
79+
"THETA/USDT:USDT",
80+
"ALGO/USDT:USDT",
81+
"ZIL/USDT:USDT",
82+
"KNC/USDT:USDT",
83+
"ZRX/USDT:USDT",
84+
"COMP/USDT:USDT",
85+
"OMG/USDT:USDT",
86+
"DOGE/USDT:USDT",
87+
"SXP/USDT:USDT",
88+
"KAVA/USDT:USDT",
89+
"BAND/USDT:USDT",
90+
"RLC/USDT:USDT",
91+
"WAVES/USDT:USDT",
92+
"MKR/USDT:USDT",
93+
"SNX/USDT:USDT",
94+
"DOT/USDT:USDT",
95+
"YFI/USDT:USDT",
96+
"BAL/USDT:USDT",
97+
"CRV/USDT:USDT",
98+
"TRB/USDT:USDT",
99+
"RUNE/USDT:USDT",
100+
"SUSHI/USDT:USDT",
101+
"SRM/USDT:USDT",
102+
"EGLD/USDT:USDT",
103+
"SOL/USDT:USDT",
104+
"ICX/USDT:USDT",
105+
"STORJ/USDT:USDT",
106+
"BLZ/USDT:USDT",
107+
"UNI/USDT:USDT",
108+
"AVAX/USDT:USDT",
109+
"FTM/USDT:USDT",
110+
"HNT/USDT:USDT",
111+
"ENJ/USDT:USDT",
112+
"FLM/USDT:USDT",
113+
"TOMO/USDT:USDT",
114+
"REN/USDT:USDT",
115+
"KSM/USDT:USDT",
116+
"NEAR/USDT:USDT",
117+
"AAVE/USDT:USDT",
118+
"FIL/USDT:USDT",
119+
"RSR/USDT:USDT",
120+
"LRC/USDT:USDT",
121+
"MATIC/USDT:USDT",
122+
"OCEAN/USDT:USDT",
123+
"CVC/USDT:USDT",
124+
"BEL/USDT:USDT",
125+
"CTK/USDT:USDT",
126+
"AXS/USDT:USDT",
127+
"ALPHA/USDT:USDT",
128+
"ZEN/USDT:USDT",
129+
"SKL/USDT:USDT",
130+
"GRT/USDT:USDT",
131+
"1INCH/USDT:USDT",
132+
"CHZ/USDT:USDT",
133+
"SAND/USDT:USDT",
134+
"ANKR/USDT:USDT",
135+
"BTS/USDT:USDT",
136+
"LIT/USDT:USDT",
137+
"UNFI/USDT:USDT",
138+
"REEF/USDT:USDT",
139+
"RVN/USDT:USDT",
140+
"SFP/USDT:USDT",
141+
"XEM/USDT:USDT",
142+
"COTI/USDT:USDT",
143+
"CHR/USDT:USDT",
144+
"MANA/USDT:USDT",
145+
"ALICE/USDT:USDT",
146+
"HBAR/USDT:USDT",
147+
"ONE/USDT:USDT",
148+
"LINA/USDT:USDT",
149+
"STMX/USDT:USDT",
150+
"DENT/USDT:USDT",
151+
"CELR/USDT:USDT",
152+
"HOT/USDT:USDT",
153+
"MTL/USDT:USDT",
154+
"OGN/USDT:USDT",
155+
"NKN/USDT:USDT",
156+
"SC/USDT:USDT",
157+
"DGB/USDT:USDT",
158+
"BAKE/USDT:USDT",
159+
"GTC/USDT:USDT",
160+
"TLM/USDT:USDT",
161+
"IOTX/USDT:USDT",
162+
"AUDIO/USDT:USDT",
163+
"RAY/USDT:USDT",
164+
"C98/USDT:USDT",
165+
"MASK/USDT:USDT",
166+
"ATA/USDT:USDT",
167+
"DYDX/USDT:USDT",
168+
"GALA/USDT:USDT",
169+
"CELO/USDT:USDT",
170+
"AR/USDT:USDT",
171+
"KLAY/USDT:USDT",
172+
"ARPA/USDT:USDT",
173+
"CTSI/USDT:USDT",
174+
"LPT/USDT:USDT",
175+
"ENS/USDT:USDT",
176+
"PEOPLE/USDT:USDT",
177+
"ANT/USDT:USDT",
178+
"ROSE/USDT:USDT",
179+
"DUSK/USDT:USDT",
180+
"FLOW/USDT:USDT",
181+
"IMX/USDT:USDT",
182+
"API3/USDT:USDT",
183+
"GMT/USDT:USDT",
184+
"APE/USDT:USDT",
185+
"BNX/USDT:USDT",
186+
"WOO/USDT:USDT",
187+
"FTT/USDT:USDT",
188+
"JASMY/USDT:USDT",
189+
"DAR/USDT:USDT",
190+
"GAL/USDT:USDT",
191+
"OP/USDT:USDT",
192+
"INJ/USDT:USDT",
193+
"STG/USDT:USDT",
194+
"SPELL/USDT:USDT",
195+
"LDO/USDT:USDT",
196+
"CVX/USDT:USDT",
197+
"ICP/USDT:USDT",
198+
"APT/USDT:USDT",
199+
"QNT/USDT:USDT"
200+
],
201+
"pair_blacklist": [
202+
]
203+
},
204+
"pairlists": [
205+
{
206+
"method": "StaticPairList"
207+
}
208+
],
209+
"edge": {
210+
"enabled": false,
211+
"process_throttle_secs": 3600,
212+
"calculate_since_number_of_days": 7,
213+
"allowed_risk": 0.01,
214+
"stoploss_range_min": -0.01,
215+
"stoploss_range_max": -0.1,
216+
"stoploss_range_step": -0.01,
217+
"minimum_winrate": 0.60,
218+
"minimum_expectancy": 0.20,
219+
"min_trade_number": 10,
220+
"max_trade_duration_minute": 1440,
221+
"remove_pumps": false
222+
},
223+
"telegram": {
224+
"enabled": false,
225+
"token": "",
226+
"chat_id": ""
227+
},
228+
"api_server": {
229+
"enabled": true,
230+
"listen_ip_address": "0.0.0.0",
231+
"listen_port": 8015,
232+
"verbosity": "error",
233+
"enable_openapi": false,
234+
"jwt_secret_key": "73a5d418ef03ca2e646fa0ae15a391e7fe0e53f29ffb4cfaace9d7aa4d34d6a5",
235+
"CORS_origins": [],
236+
"username": "admin",
237+
"password": "12qw12"
238+
},
239+
"bot_name": "24h",
240+
"initial_state": "running",
241+
"force_entry_enable": false,
242+
"internals": {
243+
"process_throttle_secs": 5
244+
}
245+
}

‎config.30m.json

+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
{
2+
"max_open_trades": 50,
3+
"stake_currency": "USDT",
4+
"fiat_display_currency": "USD",
5+
"dry_run": true,
6+
"stake_amount": 100,
7+
"dry_run_wallet": 5000,
8+
"tradable_balance_ratio": 0.99,
9+
10+
"cancel_open_orders_on_exit": false,
11+
"trading_mode": "futures",
12+
"margin_mode": "isolated",
13+
14+
"minimal_roi": {
15+
"0": 0.30,
16+
"150": 0.2,
17+
"300": 0.1
18+
},
19+
"stoploss": -0.1,
20+
21+
"trailing_stop": true,
22+
"trailing_stop_positive": 0.05,
23+
"trailing_stop_positive_offset": 0.1,
24+
"trailing_only_offset_is_reached": true,
25+
26+
"timeframe": "30m",
27+
"unfilledtimeout": {
28+
"entry": 5,
29+
"exit": 10,
30+
"exit_timeout_count": 0,
31+
"unit": "minutes"
32+
},
33+
"entry_pricing": {
34+
"price_side": "same",
35+
"use_order_book": true,
36+
"order_book_top": 1,
37+
"price_last_balance": 0.0,
38+
"check_depth_of_market": {
39+
"enabled": false,
40+
"bids_to_ask_delta": 1
41+
}
42+
},
43+
"exit_pricing":{
44+
"price_side": "same",
45+
"use_order_book": true,
46+
"order_book_top": 1
47+
},
48+
"exchange": {
49+
"name": "binance",
50+
"key": "",
51+
"secret": "",
52+
"ccxt_config": {},
53+
"ccxt_async_config": {},
54+
"pair_whitelist": [
55+
"BTC/USDT:USDT",
56+
"ETH/USDT:USDT",
57+
"BCH/USDT:USDT",
58+
"XRP/USDT:USDT",
59+
"EOS/USDT:USDT",
60+
"LTC/USDT:USDT",
61+
"TRX/USDT:USDT",
62+
"ETC/USDT:USDT",
63+
"LINK/USDT:USDT",
64+
"XLM/USDT:USDT",
65+
"ADA/USDT:USDT",
66+
"XMR/USDT:USDT",
67+
"DASH/USDT:USDT",
68+
"ZEC/USDT:USDT",
69+
"XTZ/USDT:USDT",
70+
"BNB/USDT:USDT",
71+
"ATOM/USDT:USDT",
72+
"ONT/USDT:USDT",
73+
"IOTA/USDT:USDT",
74+
"BAT/USDT:USDT",
75+
"VET/USDT:USDT",
76+
"NEO/USDT:USDT",
77+
"QTUM/USDT:USDT",
78+
"IOST/USDT:USDT",
79+
"THETA/USDT:USDT",
80+
"ALGO/USDT:USDT",
81+
"ZIL/USDT:USDT",
82+
"KNC/USDT:USDT",
83+
"ZRX/USDT:USDT",
84+
"COMP/USDT:USDT",
85+
"OMG/USDT:USDT",
86+
"DOGE/USDT:USDT",
87+
"SXP/USDT:USDT",
88+
"KAVA/USDT:USDT",
89+
"BAND/USDT:USDT",
90+
"RLC/USDT:USDT",
91+
"WAVES/USDT:USDT",
92+
"MKR/USDT:USDT",
93+
"SNX/USDT:USDT",
94+
"DOT/USDT:USDT",
95+
"YFI/USDT:USDT",
96+
"BAL/USDT:USDT",
97+
"CRV/USDT:USDT",
98+
"TRB/USDT:USDT",
99+
"RUNE/USDT:USDT",
100+
"SUSHI/USDT:USDT",
101+
"SRM/USDT:USDT",
102+
"EGLD/USDT:USDT",
103+
"SOL/USDT:USDT",
104+
"ICX/USDT:USDT",
105+
"STORJ/USDT:USDT",
106+
"BLZ/USDT:USDT",
107+
"UNI/USDT:USDT",
108+
"AVAX/USDT:USDT",
109+
"FTM/USDT:USDT",
110+
"HNT/USDT:USDT",
111+
"ENJ/USDT:USDT",
112+
"FLM/USDT:USDT",
113+
"TOMO/USDT:USDT",
114+
"REN/USDT:USDT",
115+
"KSM/USDT:USDT",
116+
"NEAR/USDT:USDT",
117+
"AAVE/USDT:USDT",
118+
"FIL/USDT:USDT",
119+
"RSR/USDT:USDT",
120+
"LRC/USDT:USDT",
121+
"MATIC/USDT:USDT",
122+
"OCEAN/USDT:USDT",
123+
"CVC/USDT:USDT",
124+
"BEL/USDT:USDT",
125+
"CTK/USDT:USDT",
126+
"AXS/USDT:USDT",
127+
"ALPHA/USDT:USDT",
128+
"ZEN/USDT:USDT",
129+
"SKL/USDT:USDT",
130+
"GRT/USDT:USDT",
131+
"1INCH/USDT:USDT",
132+
"CHZ/USDT:USDT",
133+
"SAND/USDT:USDT",
134+
"ANKR/USDT:USDT",
135+
"BTS/USDT:USDT",
136+
"LIT/USDT:USDT",
137+
"UNFI/USDT:USDT",
138+
"REEF/USDT:USDT",
139+
"RVN/USDT:USDT",
140+
"SFP/USDT:USDT",
141+
"XEM/USDT:USDT",
142+
"COTI/USDT:USDT",
143+
"CHR/USDT:USDT",
144+
"MANA/USDT:USDT",
145+
"ALICE/USDT:USDT",
146+
"HBAR/USDT:USDT",
147+
"ONE/USDT:USDT",
148+
"LINA/USDT:USDT",
149+
"STMX/USDT:USDT",
150+
"DENT/USDT:USDT",
151+
"CELR/USDT:USDT",
152+
"HOT/USDT:USDT",
153+
"MTL/USDT:USDT",
154+
"OGN/USDT:USDT",
155+
"NKN/USDT:USDT",
156+
"SC/USDT:USDT",
157+
"DGB/USDT:USDT",
158+
"BAKE/USDT:USDT",
159+
"GTC/USDT:USDT",
160+
"TLM/USDT:USDT",
161+
"IOTX/USDT:USDT",
162+
"AUDIO/USDT:USDT",
163+
"RAY/USDT:USDT",
164+
"C98/USDT:USDT",
165+
"MASK/USDT:USDT",
166+
"ATA/USDT:USDT",
167+
"DYDX/USDT:USDT",
168+
"GALA/USDT:USDT",
169+
"CELO/USDT:USDT",
170+
"AR/USDT:USDT",
171+
"KLAY/USDT:USDT",
172+
"ARPA/USDT:USDT",
173+
"CTSI/USDT:USDT",
174+
"LPT/USDT:USDT",
175+
"ENS/USDT:USDT",
176+
"PEOPLE/USDT:USDT",
177+
"ANT/USDT:USDT",
178+
"ROSE/USDT:USDT",
179+
"DUSK/USDT:USDT",
180+
"FLOW/USDT:USDT",
181+
"IMX/USDT:USDT",
182+
"API3/USDT:USDT",
183+
"GMT/USDT:USDT",
184+
"APE/USDT:USDT",
185+
"BNX/USDT:USDT",
186+
"WOO/USDT:USDT",
187+
"FTT/USDT:USDT",
188+
"JASMY/USDT:USDT",
189+
"DAR/USDT:USDT",
190+
"GAL/USDT:USDT",
191+
"OP/USDT:USDT",
192+
"INJ/USDT:USDT",
193+
"STG/USDT:USDT",
194+
"SPELL/USDT:USDT",
195+
"LDO/USDT:USDT",
196+
"CVX/USDT:USDT",
197+
"ICP/USDT:USDT",
198+
"APT/USDT:USDT",
199+
"QNT/USDT:USDT"
200+
],
201+
"pair_blacklist": [
202+
]
203+
},
204+
"pairlists": [
205+
{
206+
"method": "StaticPairList"
207+
}
208+
],
209+
"edge": {
210+
"enabled": false,
211+
"process_throttle_secs": 3600,
212+
"calculate_since_number_of_days": 7,
213+
"allowed_risk": 0.01,
214+
"stoploss_range_min": -0.01,
215+
"stoploss_range_max": -0.1,
216+
"stoploss_range_step": -0.01,
217+
"minimum_winrate": 0.60,
218+
"minimum_expectancy": 0.20,
219+
"min_trade_number": 10,
220+
"max_trade_duration_minute": 1440,
221+
"remove_pumps": false
222+
},
223+
"telegram": {
224+
"enabled": false,
225+
"token": "",
226+
"chat_id": ""
227+
},
228+
"api_server": {
229+
"enabled": true,
230+
"listen_ip_address": "0.0.0.0",
231+
"listen_port": 8030,
232+
"verbosity": "error",
233+
"enable_openapi": false,
234+
"jwt_secret_key": "73a5d418ef03ca2e646fa0ae15a391e7fe0e53f29ffb4cfaace9d7aa4d34d6a5",
235+
"CORS_origins": [],
236+
"username": "admin",
237+
"password": "12qw12"
238+
},
239+
"bot_name": "30m",
240+
"initial_state": "running",
241+
"force_entry_enable": false,
242+
"internals": {
243+
"process_throttle_secs": 5
244+
}
245+
}

‎config.5m.json

+245
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
{
2+
"max_open_trades": 50,
3+
"stake_currency": "USDT",
4+
"fiat_display_currency": "USD",
5+
"dry_run": true,
6+
"stake_amount": 100,
7+
"dry_run_wallet": 5000,
8+
"tradable_balance_ratio": 0.99,
9+
10+
"cancel_open_orders_on_exit": false,
11+
"trading_mode": "futures",
12+
"margin_mode": "isolated",
13+
14+
"minimal_roi": {
15+
"0": 0.15,
16+
"100": 0.1,
17+
"200": 0.05
18+
},
19+
"stoploss": -0.05,
20+
21+
"trailing_stop": true,
22+
"trailing_stop_positive": 0.05,
23+
"trailing_stop_positive_offset": 0.1,
24+
"trailing_only_offset_is_reached": true,
25+
26+
"timeframe": "5m",
27+
"unfilledtimeout": {
28+
"entry": 5,
29+
"exit": 10,
30+
"exit_timeout_count": 0,
31+
"unit": "minutes"
32+
},
33+
"entry_pricing": {
34+
"price_side": "same",
35+
"use_order_book": true,
36+
"order_book_top": 1,
37+
"price_last_balance": 0.0,
38+
"check_depth_of_market": {
39+
"enabled": false,
40+
"bids_to_ask_delta": 1
41+
}
42+
},
43+
"exit_pricing":{
44+
"price_side": "same",
45+
"use_order_book": true,
46+
"order_book_top": 1
47+
},
48+
"exchange": {
49+
"name": "binance",
50+
"key": "",
51+
"secret": "",
52+
"ccxt_config": {},
53+
"ccxt_async_config": {},
54+
"pair_whitelist": [
55+
"BTC/USDT:USDT",
56+
"ETH/USDT:USDT",
57+
"BCH/USDT:USDT",
58+
"XRP/USDT:USDT",
59+
"EOS/USDT:USDT",
60+
"LTC/USDT:USDT",
61+
"TRX/USDT:USDT",
62+
"ETC/USDT:USDT",
63+
"LINK/USDT:USDT",
64+
"XLM/USDT:USDT",
65+
"ADA/USDT:USDT",
66+
"XMR/USDT:USDT",
67+
"DASH/USDT:USDT",
68+
"ZEC/USDT:USDT",
69+
"XTZ/USDT:USDT",
70+
"BNB/USDT:USDT",
71+
"ATOM/USDT:USDT",
72+
"ONT/USDT:USDT",
73+
"IOTA/USDT:USDT",
74+
"BAT/USDT:USDT",
75+
"VET/USDT:USDT",
76+
"NEO/USDT:USDT",
77+
"QTUM/USDT:USDT",
78+
"IOST/USDT:USDT",
79+
"THETA/USDT:USDT",
80+
"ALGO/USDT:USDT",
81+
"ZIL/USDT:USDT",
82+
"KNC/USDT:USDT",
83+
"ZRX/USDT:USDT",
84+
"COMP/USDT:USDT",
85+
"OMG/USDT:USDT",
86+
"DOGE/USDT:USDT",
87+
"SXP/USDT:USDT",
88+
"KAVA/USDT:USDT",
89+
"BAND/USDT:USDT",
90+
"RLC/USDT:USDT",
91+
"WAVES/USDT:USDT",
92+
"MKR/USDT:USDT",
93+
"SNX/USDT:USDT",
94+
"DOT/USDT:USDT",
95+
"YFI/USDT:USDT",
96+
"BAL/USDT:USDT",
97+
"CRV/USDT:USDT",
98+
"TRB/USDT:USDT",
99+
"RUNE/USDT:USDT",
100+
"SUSHI/USDT:USDT",
101+
"SRM/USDT:USDT",
102+
"EGLD/USDT:USDT",
103+
"SOL/USDT:USDT",
104+
"ICX/USDT:USDT",
105+
"STORJ/USDT:USDT",
106+
"BLZ/USDT:USDT",
107+
"UNI/USDT:USDT",
108+
"AVAX/USDT:USDT",
109+
"FTM/USDT:USDT",
110+
"HNT/USDT:USDT",
111+
"ENJ/USDT:USDT",
112+
"FLM/USDT:USDT",
113+
"TOMO/USDT:USDT",
114+
"REN/USDT:USDT",
115+
"KSM/USDT:USDT",
116+
"NEAR/USDT:USDT",
117+
"AAVE/USDT:USDT",
118+
"FIL/USDT:USDT",
119+
"RSR/USDT:USDT",
120+
"LRC/USDT:USDT",
121+
"MATIC/USDT:USDT",
122+
"OCEAN/USDT:USDT",
123+
"CVC/USDT:USDT",
124+
"BEL/USDT:USDT",
125+
"CTK/USDT:USDT",
126+
"AXS/USDT:USDT",
127+
"ALPHA/USDT:USDT",
128+
"ZEN/USDT:USDT",
129+
"SKL/USDT:USDT",
130+
"GRT/USDT:USDT",
131+
"1INCH/USDT:USDT",
132+
"CHZ/USDT:USDT",
133+
"SAND/USDT:USDT",
134+
"ANKR/USDT:USDT",
135+
"BTS/USDT:USDT",
136+
"LIT/USDT:USDT",
137+
"UNFI/USDT:USDT",
138+
"REEF/USDT:USDT",
139+
"RVN/USDT:USDT",
140+
"SFP/USDT:USDT",
141+
"XEM/USDT:USDT",
142+
"COTI/USDT:USDT",
143+
"CHR/USDT:USDT",
144+
"MANA/USDT:USDT",
145+
"ALICE/USDT:USDT",
146+
"HBAR/USDT:USDT",
147+
"ONE/USDT:USDT",
148+
"LINA/USDT:USDT",
149+
"STMX/USDT:USDT",
150+
"DENT/USDT:USDT",
151+
"CELR/USDT:USDT",
152+
"HOT/USDT:USDT",
153+
"MTL/USDT:USDT",
154+
"OGN/USDT:USDT",
155+
"NKN/USDT:USDT",
156+
"SC/USDT:USDT",
157+
"DGB/USDT:USDT",
158+
"BAKE/USDT:USDT",
159+
"GTC/USDT:USDT",
160+
"TLM/USDT:USDT",
161+
"IOTX/USDT:USDT",
162+
"AUDIO/USDT:USDT",
163+
"RAY/USDT:USDT",
164+
"C98/USDT:USDT",
165+
"MASK/USDT:USDT",
166+
"ATA/USDT:USDT",
167+
"DYDX/USDT:USDT",
168+
"GALA/USDT:USDT",
169+
"CELO/USDT:USDT",
170+
"AR/USDT:USDT",
171+
"KLAY/USDT:USDT",
172+
"ARPA/USDT:USDT",
173+
"CTSI/USDT:USDT",
174+
"LPT/USDT:USDT",
175+
"ENS/USDT:USDT",
176+
"PEOPLE/USDT:USDT",
177+
"ANT/USDT:USDT",
178+
"ROSE/USDT:USDT",
179+
"DUSK/USDT:USDT",
180+
"FLOW/USDT:USDT",
181+
"IMX/USDT:USDT",
182+
"API3/USDT:USDT",
183+
"GMT/USDT:USDT",
184+
"APE/USDT:USDT",
185+
"BNX/USDT:USDT",
186+
"WOO/USDT:USDT",
187+
"FTT/USDT:USDT",
188+
"JASMY/USDT:USDT",
189+
"DAR/USDT:USDT",
190+
"GAL/USDT:USDT",
191+
"OP/USDT:USDT",
192+
"INJ/USDT:USDT",
193+
"STG/USDT:USDT",
194+
"SPELL/USDT:USDT",
195+
"LDO/USDT:USDT",
196+
"CVX/USDT:USDT",
197+
"ICP/USDT:USDT",
198+
"APT/USDT:USDT",
199+
"QNT/USDT:USDT"
200+
],
201+
"pair_blacklist": [
202+
]
203+
},
204+
"pairlists": [
205+
{
206+
"method": "StaticPairList"
207+
}
208+
],
209+
"edge": {
210+
"enabled": false,
211+
"process_throttle_secs": 3600,
212+
"calculate_since_number_of_days": 7,
213+
"allowed_risk": 0.01,
214+
"stoploss_range_min": -0.01,
215+
"stoploss_range_max": -0.1,
216+
"stoploss_range_step": -0.01,
217+
"minimum_winrate": 0.60,
218+
"minimum_expectancy": 0.20,
219+
"min_trade_number": 10,
220+
"max_trade_duration_minute": 1440,
221+
"remove_pumps": false
222+
},
223+
"telegram": {
224+
"enabled": false,
225+
"token": "",
226+
"chat_id": ""
227+
},
228+
"api_server": {
229+
"enabled": true,
230+
"listen_ip_address": "0.0.0.0",
231+
"listen_port": 8005,
232+
"verbosity": "error",
233+
"enable_openapi": false,
234+
"jwt_secret_key": "73a5d418ef03ca2e646fa0ae15a391e7fe0e53f29ffb4cfaace9d7aa4d34d6a5",
235+
"CORS_origins": [],
236+
"username": "admin",
237+
"password": "12qw12"
238+
},
239+
"bot_name": "24h",
240+
"initial_state": "running",
241+
"force_entry_enable": false,
242+
"internals": {
243+
"process_throttle_secs": 5
244+
}
245+
}

‎config.usdt.30m.json

-145
This file was deleted.

‎config.usdt.5m.json

-144
This file was deleted.

‎config.usdt.5m.leverage.json

-138
This file was deleted.

‎fixture/GTC_USDT_5m_1669852800.0_1670112000.0.json

-1
This file was deleted.

‎fixture/LDO_USDT_30m_1666310400.0_1667210709.0.json

-1
This file was deleted.

‎fixture/LDO_USDT_5m_1666310400.0_1667210709.0.json

-1
This file was deleted.

‎fixture/TWT_USDT_5m_1671926400.0_1672099200.0.json

-1
This file was deleted.

‎fixture/XRP_USDT_5m_1669852800.0_1670112000.0.json

-1
This file was deleted.

‎readme.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@ The command to download time series data for an interval
2929
```
3030
python download.py LDO 5m 1666310400 1667210709
3131
python download.py LDO 30m 1666310400 1667210709
32-
33-
python download.py TWT 5m 1671926400 1672099200
3432
```
3533

3634
Run tests
3735
```
3836
python -m pytest test
39-
python -m pytest -s test/user_data/strategies/test_search_5m.py
40-
python -m pytest -s test/user_data/strategies/test_search_30m.py
37+
or
38+
python -m pytest -s test/user_data/strategies/test_TaSearchLevelG15m.py
39+
python -m pytest -s test/user_data/strategies/test_TaSearchLevelH15m.py
40+
python -m pytest -s test/user_data/strategies/test_TaSearchLevelJ15m.py
4141
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from src.service.dataset_builder import DatasetBuilder
2+
from user_data.strategies.TaSearchLevelG15m import TaSearchLevelG15m
3+
4+
dataset_builder = DatasetBuilder()
5+
strategy = TaSearchLevelG15m({})
6+
7+
def test_ALGO_USDT_5m():
8+
path = 'fixture/ALGO_USDT_5m_1669852800.0_1670112000.0.json'
9+
10+
df = dataset_builder.from_file(path)
11+
df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
12+
df = strategy.populate_indicators(df, {})
13+
df = strategy.populate_entry_trend(df, {})
14+
df = strategy.populate_exit_trend(df, {})
15+
16+
assert df.loc[690]['o'] == 0.24155000000000001
17+
assert df.loc[690]['c'] == 0.24125000000000002
18+
assert df.loc[690]['open'] == 0.24150000000000002
19+
assert df.loc[690]['close'] == 0.241
20+
assert df.loc[690]['buy_short'] == 0
21+
assert df.loc[690]['buy_short2'] == 0
22+
assert df.loc[690]['buy_long'] == 0
23+
assert df.loc[690]['buy_long2'] == 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
from src.service.dataset_builder import DatasetBuilder
2+
from user_data.strategies.TaSearchLevelH15m import TaSearchLevelH15m
3+
4+
dataset_builder = DatasetBuilder()
5+
strategy = TaSearchLevelH15m({})
6+
7+
def test_ALGO_USDT_5m():
8+
path = 'fixture/ALGO_USDT_5m_1669852800.0_1670112000.0.json'
9+
10+
df = dataset_builder.from_file(path)
11+
df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
12+
df = strategy.populate_indicators(df, {})
13+
df = strategy.populate_entry_trend(df, {})
14+
df = strategy.populate_exit_trend(df, {})
15+
16+
assert df.loc[690]['o'] == 0.24155000000000001
17+
assert df.loc[690]['c'] == 0.24125000000000002
18+
assert df.loc[690]['open'] == 0.24150000000000002
19+
assert df.loc[690]['close'] == 0.241
20+
assert df.loc[690]['buy_short'] == 0
21+
assert df.loc[690]['buy_short2'] == 0
22+
assert df.loc[690]['buy_long'] == 0
23+
assert df.loc[690]['buy_long2'] == 1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import math
2+
3+
from src.service.dataset_builder import DatasetBuilder
4+
from user_data.strategies.TaSearchLevelJ15m import TaSearchLevelJ15m
5+
6+
dataset_builder = DatasetBuilder()
7+
strategy = TaSearchLevelJ15m({})
8+
9+
def test_ALGO_USDT_5m():
10+
path = 'fixture/ALGO_USDT_5m_1669852800.0_1670112000.0.json'
11+
12+
df = dataset_builder.from_file(path)
13+
df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
14+
df = strategy.populate_indicators(df, {})
15+
df = strategy.populate_entry_trend(df, {})
16+
df = strategy.populate_exit_trend(df, {})
17+
18+
assert df.loc[302]['o'] == 0.23645
19+
assert df.loc[302]['c'] == 0.236075
20+
assert df.loc[302]['open'] == 0.23600000000000002
21+
assert df.loc[302]['close'] == 0.2361
22+
assert df.loc[302]['min_local'] == 0.236075
23+
assert math.isnan(df.loc[302]['max_local'])

‎test/user_data/strategies/test_search_dynamic_30m.py

-18
This file was deleted.

‎test/user_data/strategies/test_search_dynamic_5m.py

-45
This file was deleted.

‎user_data/strategies/TaSearchDynamic.py

-132
This file was deleted.

‎user_data/strategies/TaSearchDynamic30m.py

-99
This file was deleted.

‎user_data/strategies/TaSearchDynamic5m.py

-116
This file was deleted.

0 commit comments

Comments
 (0)
Please sign in to comment.