Matthias
962fed24b0
Readd refind_order logic
2020-09-14 17:34:13 +02:00
Matthias
77c28187a6
Don't run refind order on stoploss
2020-09-11 20:06:05 +02:00
Matthias
aa8832f70e
Convert select_order to use ft_is_open flag
2020-09-11 07:12:10 +02:00
Matthias
85d90645c7
Remove duplciate check for buy orders
2020-09-10 15:42:34 +02:00
Matthias
25938efee6
Add partial test for refind_order
2020-09-09 07:50:52 +02:00
Matthias
f6ebe51314
Add test for update_open_orders
2020-09-06 19:32:00 +02:00
Matthias
5fba446e9a
Merge branch 'develop' into db_keep_orders
2020-09-06 15:22:13 +02:00
Matthias
b4da36d6e9
Fix small typo and add small testcase
2020-09-06 15:05:47 +02:00
Matthias
a78d61150c
Deleting must delete orders first
2020-09-06 14:28:24 +02:00
Matthias
43035a3f76
Merge pull request #3724 from freqtrade/fix/3084
...
Forcesell should use the available methods for handling a trade correctly
2020-09-01 15:11:05 +02:00
Matthias
d6d3a02a23
Merge branch 'develop' into db_keep_orders
2020-09-01 07:51:16 +02:00
Matthias
a4e3edbcc5
Fix stoploss_last_update beein updated with date object in wrong
...
timezone
2020-09-01 07:10:48 +02:00
Matthias
b2373fccfd
Adjust tests as send_msg is only called once
2020-08-27 06:35:28 +02:00
Matthias
9c0a3fffd7
Avoid double notifications in case of partially filled buy orders
2020-08-26 22:17:43 +02:00
Matthias
add78414e4
Don't overwrite cancel_reason
2020-08-26 21:24:47 +02:00
Matthias
c272944834
Lock pair until a new candle arrives
2020-08-24 11:09:09 +02:00
Matthias
26f45c8323
Improve logmessage for trailing stoploss
2020-08-24 06:56:56 +02:00
Matthias
38809acde8
Don't rerun for known closed orders
2020-08-24 06:50:43 +02:00
Matthias
c3a367e4f0
Merge branch 'develop' into db_keep_orders
2020-08-23 19:14:57 +02:00
Matthias
ec94961437
Reduce loglevel of "using cached rate"
2020-08-23 19:14:28 +02:00
Matthias
9ba9f73706
Improve logging, don't search for buy orders in refind_lost_order
2020-08-23 16:04:32 +02:00
Matthias
3d7e800ff2
Remove test code
2020-08-22 16:08:54 +02:00
Matthias
11e69bdd65
Update open trades too
2020-08-22 15:49:32 +02:00
Matthias
fd33282eb1
Add handle_insufficient exception
2020-08-22 15:48:00 +02:00
Matthias
3b4446339e
Use fetch_order_or_stoploss order
2020-08-22 09:30:25 +02:00
Matthias
39beb5c837
Add method to update fees on closed trades
2020-08-22 08:59:54 +02:00
Matthias
2d6bcbb454
Fix small error in trades updating
2020-08-21 19:51:31 +02:00
Matthias
357d7714ec
Add docstring to update_trade_state
2020-08-21 07:31:22 +02:00
Matthias
3be14933d4
Add comment explaining update_open_orders
2020-08-21 07:24:49 +02:00
Matthias
0b6014fae3
update_trade_state should take the order id directly - not from the trade object
2020-08-21 07:17:52 +02:00
Matthias
838985f6a0
Don't reset open-order-id just yet
...
it's needed to get the fees
2020-08-21 07:13:13 +02:00
Matthias
cfa352ecf2
Disable refind_lost_order for now
2020-08-14 11:25:20 +02:00
Matthias
552aaf7945
add refind order logic
2020-08-14 10:59:55 +02:00
Matthias
8458a380b8
Improve order catchup
2020-08-14 09:52:47 +02:00
Matthias
95efc0d688
Add open_order_updater
2020-08-14 09:52:47 +02:00
Matthias
1a305ea8b0
Fix migrations to use unique key
2020-08-14 09:52:46 +02:00
Matthias
4434a54d59
Add unique key to order-Model
2020-08-14 09:52:46 +02:00
Matthias
0af9e913d4
Timestamps are in ms
2020-08-14 09:52:46 +02:00
Matthias
396e781bf4
Update orders
2020-08-14 09:52:46 +02:00
Matthias
4924d8487e
Extract "update order from ccxt" to it's onw function
2020-08-14 09:52:46 +02:00
Matthias
171a52b21a
Introduce Order database model
2020-08-14 09:52:46 +02:00
Matthias
22f6e884ed
Merge pull request #3676 from freqtrade/stoploss_remove_unused_argument
...
[minor] Cleanup and exception hierarchy documentation
2020-08-14 07:11:56 +02:00
Matthias
815d88fd4a
Fix test after merge, fix forgotten 'amount'
2020-08-12 15:32:56 +02:00
Matthias
9999d0ffb5
Merge branch 'develop' into fix/3579
2020-08-12 15:28:51 +02:00
Matthias
faa2bbb555
Document exception hierarchy
2020-08-12 14:29:14 +02:00
Matthias
1f1a819b29
Remove unused 3rd argument to create_stoploss call
2020-08-12 11:21:00 +02:00
Matthias
99bfa839eb
Improve logging for sell exception
2020-08-02 10:12:15 +02:00
Matthias
071e82043a
Better handle cancelled buy orders
2020-08-01 15:59:50 +02:00
Matthias
21dcef1134
Add trade_id to webhooks
...
allowing for easier corelation of different messages
2020-07-20 19:57:05 +02:00
Matthias
4774896169
Evaluate average before price in order returns
2020-07-20 19:39:12 +02:00
Matthias
de46744aa9
Use filled before amount for order data
...
closes #3579
2020-07-15 21:08:16 +02:00
Matthias
3721736aaf
Convert to real amount before placing order
...
to keep the correct amount in the database
2020-07-15 20:28:07 +02:00
Matthias
eafab38db3
Complete implementation of amount_requested
2020-07-15 20:20:14 +02:00
Matthias
d13cb4c055
Introduce safe_value_fallback_2
2020-07-15 19:50:09 +02:00
Matthias
6ee6e51ab4
Merge branch 'develop' into pr/hroff-1902/3478
2020-07-13 07:22:43 +02:00
hroff-1902
839b3340e6
Merge pull request #3497 from freqtrade/keep_dataframe_noapi
...
Analyze dataframe and keep it until the next analysis
2020-07-05 13:46:02 +03:00
Matthias
cf26ab1dd8
Merge pull request #3527 from Theagainmen/Warning_message2
...
Warning message bot is stopped and left open trades
2020-06-30 07:48:02 +02:00
Matthias
c2a6f70b4c
Merge branch 'develop' into keep_dataframe_noapi
2020-06-30 07:46:52 +02:00
Matthias
cbcbb4bdb5
Rename get_stoploss_order to fetch_stoploss_order (align with fetch_order)
2020-06-28 16:30:24 +02:00
Matthias
92c70fb903
Rename get_order to fetch_order (to align to ccxt naming)
2020-06-28 16:27:35 +02:00
Matthias
bf61bc9d83
Introduce ExchangeError
2020-06-28 16:01:40 +02:00
Theagainmen
118f051171
Added message in cleanup and fixes
2020-06-28 11:02:50 +02:00
Theagainmen
e5676867a8
Trying to fix flake8 errors
2020-06-27 21:53:12 +02:00
Theagainmen
b938c536fa
Trying to fix flake8 errors
2020-06-27 21:46:53 +02:00
Theagainmen
48289e8ca7
Added exchange name, removed capital letters
2020-06-27 20:24:50 +02:00
Theagainmen
0642ab76bf
Added information to the new function
2020-06-27 18:40:44 +02:00
Theagainmen
e813573f27
Warning message for open trades when stopping bot
2020-06-27 18:35:46 +02:00
Matthias
45ffb26910
Merge branch 'develop' into pr/hroff-1902/3478
2020-06-18 19:54:46 +02:00
Matthias
f1993fb2f4
Pass analyzed dataframe to get_signal
2020-06-18 08:09:52 +02:00
Matthias
84329ad2ca
Add confirm_trade* methods to abort buying or selling
2020-06-18 06:50:06 +02:00
Matthias
dea7e3db01
Use supress_errors in strategy wrapper - ensure it's called once
2020-06-18 06:50:06 +02:00
Matthias
bc821c7c20
Add documentation for bot_loop_start
2020-06-18 06:50:06 +02:00
Matthias
273aaaff12
Introduce .analyze() function for Strategy
...
Fixing a few tests along the way
2020-06-18 06:50:05 +02:00
Matthias
a3506f4d8e
Merge branch 'develop' into timeframe
2020-06-15 06:35:55 +02:00
Matthias
f80b5f9410
Merge pull request #3438 from freqtrade/ftx_stoploss
...
Ftx stoploss
2020-06-14 07:02:15 +02:00
hroff-1902
de36f3d850
Cosmetics in freqtradebot
2020-06-14 01:42:45 +03:00
hroff-1902
7d451638a8
Make _reload_markets() public
2020-06-10 01:39:23 +03:00
Matthias
5f9994c9ed
Reduce verbosity of sell-rate fetching
2020-06-05 20:24:21 +02:00
Matthias
f83c1c5abf
Use get_stoploss_order and cancel_stoploss_order
...
This allows exchanges to use stoploss which don't have the same
endpoints
2020-06-03 06:11:34 +02:00
hroff-1902
64881a94e2
Merge branch 'develop' into timeframe
2020-06-02 15:56:34 +03:00
Matthias
af0f29e6b7
Update persistence to use timeframe
2020-06-02 10:02:36 +02:00
Matthias
947903a4ac
Use timeframe from within strategy
2020-06-02 09:36:04 +02:00
hroff-1902
4c2228a2da
Merge pull request #3399 from freqtrade/fix_sell_rate_caching
...
[minor] Fix sell rate caching
2020-06-02 04:04:16 +03:00
Matthias
cadc50ce9b
Replace more occurances of ticker_interval with timeframe
2020-06-01 20:49:40 +02:00
Matthias
c35f9f8d39
Verify sell-rate got a value - otherwise downstream code does not work.
...
Using PricingException here will cease operation for this pair for this
iteration - postponing handling to the next iteration - where hopefully
a price is again present.
2020-06-01 19:45:37 +02:00
Matthias
57e951dbce
Add orderbook sell rate to sell_rate_cache
2020-05-30 11:08:56 +02:00
Matthias
f4af4cc2b2
Small formatting improvement
2020-05-27 07:11:59 +02:00
Matthias
8c87fcdae3
Rename PricingException to PricingError
2020-05-26 20:35:11 +02:00
Matthias
16cd1f06b2
Rename get_order_book to fetch_l2_order_book (aligning to ccxt)
2020-05-26 20:27:35 +02:00
Matthias
7a7b26e840
Add exception handlers for orderbook logic
2020-05-26 20:14:05 +02:00
hroff-1902
6fa8750fea
Merge branch 'develop' into refactor-informative
2020-05-18 14:00:09 +03:00
hroff-1902
ba26f3a73a
Merge branch 'refactor-informative' of ssh://github.com/hroff-1902/freqtrade into refactor-informative
2020-05-18 13:55:09 +03:00
hroff-1902
627c5059f0
Move create_pair_list to pairlistmanager
2020-05-18 13:54:21 +03:00
Matthias
2074d986a6
Update test to verify we're not spamming messages
2020-05-17 11:12:30 +02:00
Matthias
dd55d2eea3
Reduce spammyness of parcial cancel orders
2020-05-17 10:53:07 +02:00
hroff-1902
318e435a8f
Merge branch 'develop' into refactor-informative
2020-05-16 22:14:50 +03:00
Matthias
7a11219b61
Reword some documentation strings
...
Co-authored-by: hroff-1902 <47309513+hroff-1902@users.noreply.github.com>
2020-05-16 13:17:48 +02:00
Matthias
2a1fcc0f06
Merge branch 'develop' into pr/jpribyl/3210-1
2020-05-16 13:09:38 +02:00
hroff-1902
facaaabc1e
Rename _refresh_whitelist()
2020-05-16 12:27:56 +03:00
hroff-1902
f8b01f5a43
Make flake happy
2020-05-16 12:27:56 +03:00
hroff-1902
035a12ce61
Move _create_pair_whitelist to dataprovider
2020-05-16 12:27:56 +03:00
hroff-1902
8e4ffea52b
Merge pull request #3239 from freqtrade/feat/fee_handling
...
Improve fee handling
2020-05-14 18:48:48 +03:00
Matthias
255ff6cd06
Should return False if it's not been cancelled empty
2020-05-13 20:52:40 +02:00
Matthias
60f26ba501
use update_trade_state also for closed stoploss orders
2020-05-13 20:25:32 +02:00
Paul D. Mendes
9fbe135790
attached pairlist manager onto dataprovider init for unified access to dynamic whitelist
2020-05-11 20:17:03 +04:00
Matthias
73a1496318
Catch exception on cancel_order
2020-05-10 17:44:45 +02:00
hroff-1902
5b92387732
Merge pull request #3259 from freqtrade/fix/filled
...
Fix handling of partially or non-filled timedout orders
2020-05-07 09:58:26 +03:00
Matthias
1ba2df79c6
Ause isclose for comparison, assign filled to variable
...
add some comments
2020-05-07 06:51:02 +02:00
hroff-1902
0340d7bf37
Merge pull request #3249 from freqtrade/increase_rate_cache
...
[minor] Increase cache for rate limit to avoid delays
2020-05-05 19:08:31 +03:00
Matthias
981976681a
Use filled, it's the safer choice when determining the filled amount.
2020-05-05 07:09:12 +02:00
Matthias
648723fb83
Use 30min rate cache
2020-05-05 06:32:03 +02:00
Matthias
b38f9ed5e7
Increase cache for rate limit to avoid delays
...
Helps when calling /status or /status table frequently on slowish
exchanges
2020-05-03 20:44:18 +02:00
Matthias
2a4c9bf3d3
Improve logmessage when falling back to wallet amount
2020-05-03 20:32:45 +02:00
Matthias
58168336e1
Add test for apply_fee_conditional
2020-05-03 11:13:59 +02:00
Matthias
38c4949360
Align applying of fee when comming from orders or trades
2020-05-03 10:50:59 +02:00
Matthias
78b3d8487f
Add typehint
2020-05-01 20:34:58 +02:00
Matthias
021e2b58ca
Support partially cancelled orders for fee calculation
2020-05-01 20:24:26 +02:00
Matthias
737fc6d198
Fix bug when querying side
2020-05-01 20:05:13 +02:00
Matthias
6d620ba1f6
Verify if fee for this side has been updated
2020-05-01 19:54:16 +02:00
jpribyl
bd51cd332b
Cancel all open orders after receiving /stop or ctrl+c
2020-05-01 10:36:11 -06:00
Matthias
40d4949f06
Don't handle trades if they've just been closed.
2020-05-01 17:46:01 +02:00
Matthias
7558e4bffe
Split fee detection from trades from general logic
2020-05-01 16:13:07 +02:00
Matthias
371100a97c
Update fee handling
2020-05-01 16:01:33 +02:00
Matthias
db8fb39a38
don't use trade.update directly!
2020-05-01 15:50:02 +02:00
Matthias
a867d40eac
Move fee_methods to exchange
2020-04-30 19:33:27 +02:00
Matthias
d3b9f4d393
Add extract_cost_curr_rate
2020-04-30 19:28:36 +02:00
Matthias
6d7a3a0cc9
Extract more logic into order-has_fee
2020-04-30 07:12:08 +02:00
Matthias
b125dd3728
Extract order_has_fee method
2020-04-30 07:06:06 +02:00
Matthias
431b244f43
Merge branch 'develop' into interface_ordertimeoutcallback
2020-04-19 06:58:44 +02:00
Matthias
0273539f06
Remove exceptionhandler, this exception is handled in
...
cancel_with_response
2020-04-17 19:55:53 +02:00
Matthias
1069cb3616
Use cancel_order_with_result when cancelling orders after timeout
2020-04-17 17:53:56 +02:00
Matthias
fc684b0091
Ensure deleting filled is not raising an error if filled does not exist
2020-04-17 06:59:52 +02:00
hroff-1902
68be239a0e
Merge pull request #3146 from freqtrade/buy_order_timeout_logging
...
Improve handling for buy order cancels
2020-04-16 23:41:45 +03:00
Matthias
1f70fcfa2d
Update logmessage
2020-04-16 20:19:34 +02:00
Matthias
f39706cabd
Fix #3130 - when corder['remaining'] contains none-type
2020-04-09 19:35:27 +02:00
Matthias
5cff72a42e
Improve logging to ensure which branch is used for buy order cancels
2020-04-09 09:22:38 +02:00
Matthias
95011919d3
Remove questionable handling of orders
2020-03-25 11:18:33 +01:00
Matthias
3c1b155e9f
Remove filled if amount is modified to suit fee structure
2020-03-25 09:43:04 +01:00
Matthias
f3103be15c
Fix test
2020-03-25 09:43:04 +01:00
Matthias
700cedc573
Unify handling of open orders to update_trade_state
2020-03-25 09:43:04 +01:00
Matthias
7c47c6e3bd
check for timeouts before exiting positions
2020-03-25 09:43:04 +01:00
Matthias
9c351007f5
Provide reason for cancelled sell order
2020-03-25 09:43:04 +01:00
Matthias
1817e6fbdf
Combine real_amount updating into one method
2020-03-25 09:43:04 +01:00
Matthias
2c434e9b11
Add close_proit_abs column
2020-03-22 11:16:23 +01:00
hroff-1902
fb4e9b3938
Merge pull request #3025 from yazeed/minor_create_trade_optimization
...
minor create_trade() optimization
2020-03-21 10:36:39 +03:00
Yazeed Al Oyoun
942792f123
updated as suggested
2020-03-20 05:48:53 +01:00
Matthias
5e702f6891
Verify cancel_order returnvalue is a dictionary
2020-03-19 19:44:14 +01:00
Matthias
a1bbeaa668
Merge branch 'develop' into interface_ordertimeoutcallback
2020-03-15 14:56:14 +01:00
hroff-1902
3208faf7ed
Do not use ticker where it's not a ticker
2020-03-08 20:47:02 +03:00
Matthias
847df7b70c
Merge pull request #3026 from yazeed/add_default_to_ignore_roi_if_buy_signal
...
default for ignore_roi_if_buy_signal in freqtradebot.py
2020-03-06 19:35:41 +01:00
Yazeed Al Oyoun
b8d05d8751
found instance of config get without default
2020-03-05 22:14:05 +01:00
Yazeed Al Oyoun
0587256733
minor create_trade() optimization
2020-03-05 21:57:01 +01:00
Yazeed Al Oyoun
4474482307
unifying get_sell_rate with get_buy_rate
2020-03-05 20:44:29 +01:00
hroff-1902
34093d1208
Merge branch 'develop' into no-percent-1
2020-03-05 14:27:12 +03:00
Matthias
53dcb5d5ed
Fix logging expression
2020-03-03 19:36:03 +01:00
Matthias
6e2290c4f0
Allow last to be empty -
...
closes #3005
2020-03-02 20:05:54 +01:00
hroff-1902
e411717de9
No percent where ratio is to be used
2020-02-28 12:36:39 +03:00
Matthias
0fea3a7ea7
Some final polish to configurable_side
2020-02-26 19:50:17 +01:00
Matthias
8edc3eb5fb
Use generator to generate sell price scaffold testing
2020-02-26 19:39:12 +01:00
Matthias
e4b2949188
Change buy_rate calculation to use price_side
2020-02-26 19:39:12 +01:00
Matthias
5f71232038
Refactor get_buy_rate to use rate variable
2020-02-26 19:39:12 +01:00
Matthias
de48a697b0
Use price_side for get_sell_rate
2020-02-26 19:39:12 +01:00
hroff-1902
e6d003f8f2
Merge pull request #2973 from freqtrade/support_non_pairs
...
Support non pairs
2020-02-26 12:20:45 +03:00
Matthias
4e218be51d
Don't use markets[pair]['quote']
2020-02-26 07:08:09 +01:00
hroff-1902
5a900858d8
Merge branch 'develop' into rate_caching
2020-02-26 04:04:20 +03:00
Matthias
a030ce9348
Reformat if condition
2020-02-25 20:22:59 +01:00
Matthias
d44f6651c4
Fix small parenteses bug
2020-02-25 19:55:23 +01:00
Matthias
e8eaa8920e
Use get_base_currency instead of splitting by /
2020-02-25 07:01:31 +01:00
Matthias
61037ab7b8
Implement get_pair_base_curr and get_pair_quote_curr
2020-02-24 21:50:27 +01:00
Matthias
77ef3240cd
Implement log messages
2020-02-22 11:20:19 +01:00
Matthias
97e6e5e976
Implement caching in the correct place
2020-02-22 11:12:33 +01:00
Matthias
f5b4a6d3d7
Remove fetch_ticker caching
2020-02-22 11:10:05 +01:00
Matthias
bf556c8678
Merge branch 'develop' into interface_ordertimeoutcallback
2020-02-21 20:35:07 +01:00
Matthias
6c01542fed
Ad check_sell_timeout
2020-02-21 20:27:13 +01:00
hroff-1902
269a669af8
Move heartbeat to worker
2020-02-21 05:07:31 +03:00
Matthias
ab27d2c720
Merge pull request #2921 from hroff-1902/adjust-buy-notification
...
Move rpc send to be after db session add/flash
2020-02-14 20:02:56 +01:00
hroff-1902
20c21b42d5
Move rpc send to be after db session add/flash
2020-02-14 06:23:03 +03:00
hroff-1902
36ef5c6bdf
Get rid of delete_trades method in Freqtradebot
2020-02-14 04:05:17 +03:00
Yazeed Al Oyoun
f09af888b1
modified get_buy/sell_rate refresh to true on notify_sell_cancel and notify_buy_cancel
2020-02-12 21:55:38 +01:00
Yazeed Al Oyoun
f6db784a85
removed default to refresh argument in get_buy_rate and get_sell_rate
2020-02-12 21:50:33 +01:00
Yazeed Al Oyoun
cde1b2b56c
readded rpc status message for partial buys
2020-02-11 16:28:48 +01:00
Yazeed Al Oyoun
5f4c209fca
fixed one more occurence of executed buy, and test
2020-02-11 16:14:49 +01:00
Yazeed Al Oyoun
4fedf1e564
default refresh TRUE on get_buy_rate and get_sell_Rate
2020-02-11 16:05:44 +01:00
Yazeed Al Oyoun
867b736b84
Fixed to Executing Buys & Sells
2020-02-11 15:50:21 +01:00
Yazeed Al Oyoun
7f4b90c68f
fixed actual open_rate in notify_buy_cancel
2020-02-11 15:45:35 +01:00
Yazeed Al Oyoun
f99d1c3829
fixed open_rate instead of open_rate_requested
2020-02-11 15:44:47 +01:00
Yazeed Al Oyoun
879b513822
enhanced method description
2020-02-08 21:31:36 +01:00
Yazeed Al Oyoun
f3b1161640
wide notifications fixes
2020-02-08 21:02:52 +01:00
Matthias
49dcc561b7
POC for check_buy_timeout
2020-02-06 20:30:17 +01:00
Yazeed Al Oyoun
91b4c9668c
More consistency changes...
2020-02-04 01:57:24 +01:00
hroff-1902
d457d43999
Merge pull request #2833 from hroff-1902/type-hints
...
Add some type hints
2020-02-03 23:24:26 +03:00
Matthias
e3cb5d26c0
Merge pull request #2835 from yazeed/reduce_noise_if_use_order_book_true
...
reduced noise without verbose mode if use_order_book is true
2020-02-02 19:42:50 +01:00
hroff-1902
e8c1abc509
Merge pull request #2799 from freqtrade/fix_stoploss_recreated
...
Fix stoploss recreated
2020-02-02 16:59:45 +03:00
hroff-1902
6594679e52
Merge pull request #2779 from freqtrade/stoploss_market
...
Stoploss on exchange for Kraken
2020-02-02 14:48:45 +03:00
Yazeed Al Oyoun
aeabe1800b
modified two lines from logger.info to logger.debug cause they're too spammy
2020-02-02 10:49:00 +01:00
hroff-1902
f3d500085c
Add some type hints
2020-02-02 07:00:40 +03:00
hroff-1902
e1356fb80e
Merge pull request #2800 from yazeed/enhanced_check_depth_of_market_logging
...
better logging on check_depth_of_market_buy()
2020-01-29 10:56:14 +03:00
Yazeed Al Oyoun
a0b92fe0b1
removed typo
2020-01-28 19:29:47 +01:00
Yazeed Al Oyoun
328a9ffafd
fixed typo in false statement
2020-01-28 19:27:49 +01:00
hroff-1902
30e3e434ab
Add notify_status() to FreqtradeBot
2020-01-27 03:34:53 +03:00