cryptorobotfr / live-tools-v2 Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
Bonjour à tous,
Merci beaucoup à vous pour le partage et pour tout le travail accompli.
Je rencontre une anomalie dans un cas assez précis que je vais tenter d'expliquer.
Cela se produit lorsque les cours chutes brusquement sur 1 heure (par ex +de 10% et donc place des positions longues) et que dans l'heure d'après, il remonte bien au dessus de la sma_base de l'heure précédente.
Normalement, le bot est sensé placer des ordres TP sur la sma_base de l'heure précédente, mais dans le cas ou le cours est au dessus (pour un long), la tentative de placement du TP échoue, l'api renvoie une erreur et sort de la boucle en cours sur exception.
Ce qui est embêtant car les autres TP ne sont pas placés.
Je n'ai malheureusement pas la stack car elle n'est pas envoyée dans le cronlog, je ne l'ai vu qu'en lançant manuellement le bot.
Il faudrait ajouter une condition dans le placement des TP/SL :
Si la position est un long
si le cours est au dessus de la sma_base H-1 alors fermer l'ordre au prix du marché
Sinon (short)
si le cours est en dessous en la sma_base H-1 alors fermer l'ordre au prix du marché
Bonjour,
Est-il possible de me partager la solution à cette étape ?
Voici le résultat obtenu :
bash Live-Tools-V2/1hcron.sh
Traceback (most recent call last):
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 8, in
from secret import ACCOUNTS
File "/home/ubuntu/./Live-Tools-V2/secret.py", line 1
ACCOUNTS = {
Merci pour votre aide ;) @CryptoRobotFr
Sur la commande lorsque je lance la commande nano cronlog.log il est mentionné dans mes USD 0 - alors que j'ai fait un dépôt.
y a t il un dépôt minimum sur Bitget ? merci
Hello,
Je reçois l'erreur suivante lors de l'execution. Avez vous une idée pour le résoudre?
Merci d'avance!
-- Execution started at 2024-01-25 07:43:49 ---
Pair REN/USDT not found, removing from params...
Setting crossed x2 on 21 pairs...
Getting data and indicators on 21 pairs...
Traceback (most recent call last):
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 443, in
asyncio.run(main())
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 439, in main
raise e
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 218, in main
usdt_balance = await exchange.get_balance()
File "/home/ubuntu/./Live-Tools-V2/utilities/bitget_perp.py", line 151, in get_balance
resp = await self._session.fetch_balance()
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/bitget.py", line 2003, in fetch_balance
method = self.get_supported_mapping(marketType, {
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/base/exchange.py", line 1537, in get_supported_mapping
raise NotSupported(self.id + ' ' + key + ' does not have a value in mapping')
ccxt.base.errors.NotSupported: bitget future does not have a value in mapping
Salut Tristan, super tuto, c'est clair net et précis, cependant une erreur survient lorsqu'on lance le script alors qu'une position est deja ouverte (dans mon cas un short).
Apparement on essaye de modifier le levier ou le margin mode.
Il faudrait add une condition pour que si l'ordre est deja ouvert on ne touche à rien.
Voici l'erreur:
--- Execution started at 2024-01-31 18:37:49 ---
Pair REN/USDT not found, removing from params...
Setting isolated x3 on 21 pairs...
Getting data and indicators on 21 pairs...
Balance: 58.73 USDT
Getting open trigger orders...
Canceling trigger orders...
Getting open orders...
Canceling limit orders...
Getting live positions...
Current position on BTC/USDT short - 0.001 ~ 43.5 $
Placing 2 close SL / limit order...
Traceback (most recent call last):
File "Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 443, in
asyncio.run(main())
File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
return future.result()
File "Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 439, in main
raise e
File "Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 381, in main
await asyncio.gather(*tasks_close) # Limit orders when in positions
File "/home/cryptorobot/./Live-Tools-V2/utilities/bitget_perp.py", line 283, in place_order
raise e
File "/home/cryptorobot/./Live-Tools-V2/utilities/bitget_perp.py", line 265, in place_order
resp = await self._session.create_order(
File "/home/cryptorobot/Live-Tools-V2/.venv/lib/python3.8/site-packages/ccxt/async_support/bitget.py", line 3908, in create_order
response = await self.privateMixPostV2MixOrderPlaceOrder(request)
File "/home/cryptorobot/Live-Tools-V2/.venv/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 753, in request
return await self.fetch2(path, api, method, params, headers, body, config)
File "/home/cryptorobot/Live-Tools-V2/.venv/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 750, in fetch2
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
File "/home/cryptorobot/Live-Tools-V2/.venv/lib/python3.8/site-packages/ccxt/async_support/base/exchange.py", line 243, in fetch
self.handle_errors(http_status_code, http_status_text, url, method, headers, http_response, json_response, request_headers, request_body)
File "/home/cryptorobot/Live-Tools-V2/.venv/lib/python3.8/site-packages/ccxt/async_support/bitget.py", line 7684, in handle_errors
raise ExchangeError(feedback) # unknown message
ccxt.base.errors.ExchangeError: bitget {"code":"45117","msg":"Currently holding positions or orders, the margin mode cannot be adjusted","requestTime":1706722718388,"data":null}
Bonjour,
J'ai placé l'équivalent de 0.007 BTC sur bidget en spot et j'ai configuré l'api-key dans secret.py:
Cependant, je lance le programme et le get_balance() me retourn 0.0 USDT, du coup la suite du programme plante car inférieur à 0.001:
--- Execution started at 2024-06-09 17:29:02 ---
Pair REN/USDT not found, removing from params...
Pair REEF/USDT not found, removing from params...
Setting isolated x3 on 20 pairs...
Getting data and indicators on 20 pairs...
Balance: 0.0 USDT
Getting open trigger orders...
Canceling trigger orders...
Getting open orders...
Canceling limit orders...
Getting live positions...
Placing 0 close SL / limit order...
Placing 156 open limit order...
Error limit buy 0 BTC/USDT:USDT - Trigger 64948.3 - Price 64625.1 - Error => bitget amount of BTC/USDT:USDT must be greater than minimum amount precision of 0.001
Merci
Bonjour Tristan,
Tout d'abord, merci pour votre travail à tous les 2
Je viens de faire des tests sur plusieurs portefeuilles, et je remarqué que quand une paire n'est plus dans le paramétrage, ses ordres triggers ne sont pas annulés à l'etape "Getting open trigger orders." et "Canceling trigger orders".
Il faudrait vraiment annulé tous les ordres triggers même ceux qui ne sont plus dans le paramétrage pour ne pas avoir d'ordre parasite paramétrés
Merci d'avance!
Bonjour,
Je suis à l'étape d'installation du Robot sur AWS via CMD comme l'indique la Vidéo.
Une fois la connexion au serveur AWS établie,
j'ai envoyé la commande "clone git https://github.com/CryptoRobotFr/Live_tools.git" --> bien exécutée
puis j'ai envoyé la commande "bash./live_tools/install.sh" -->erreur d'exécution : adresse non trouvée
j'ai alors envoyé la commande "ls" qui me retourne :
Live-Tools-V2 cronlog.log
ubuntu@ip-172-31-29-206:$$
et enfin j'ai envoyé la commande "bash Live-Tools-V2/install.sh" -->une liste assez courte de chargement s'effectue automatiquement sans message d'erreur à la fin :
......
Requirement already satisfied: idna<4,>=2.5 in ./.venv/lib/python3.10/site-packages (from requests>=2.18.4->ccxt==4.2.20->-r requirements.txt (line 1)) (3.6)
Requirement already satisfied: pycparser in ./.venv/lib/python3.10/site-packages (from cffi>=1.12->cryptography>=2.6.1->ccxt==4.2.20->-r requirements.txt (line 1)) (2.21)
ubuntu@ip-172-31-29-206:
alors pour renseigner les clés Bitget je tape :
nano Live-Tools-V2/secret.json --> l'écran qui s'affiche est conforme à ce que je vois sur la vidéo mais il est vide de lignes
C'est là que j'ai besoin d'aide....
Hello,
J'ai une erreur lors de l'exécution :
Il y a eu une position prise sur MAGICUSDT mais sans stoploss.
--- Execution started at 2024-01-27 20:08:39 ---
Pair REN/USDT not found, removing from params...
Setting isolated x3 on 21 pairs...
Getting data and indicators on 21 pairs...
Balance: XXXXXXX USDT
Getting open trigger orders...
Canceling trigger orders...
Getting open orders...
Canceling limit orders...
Getting live positions...
Current position on MAGIC/USDT short - 162.8 ~ 184.71 $
Placing 2 close SL / limit order...
Traceback (most recent call last):
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 443, in
asyncio.run(main())
File "/usr/lib/python3.10/asyncio/runners.py", line 44, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.10/asyncio/base_events.py", line 649, in run_until_complete
return future.result()
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 439, in main
raise e
File "/home/ubuntu/Live-Tools-V2/strategies/envelopes/multi_bitget.py", line 381, in main
await asyncio.gather(*tasks_close) # Limit orders when in positions
File "/home/ubuntu/./Live-Tools-V2/utilities/bitget_perp.py", line 283, in place_order
raise e
File "/home/ubuntu/./Live-Tools-V2/utilities/bitget_perp.py", line 265, in place_order
resp = await self._session.create_order(
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/bitget.py", line 3918, in create_order
response = await self.privateMixPostV2MixOrderPlaceOrder(request)
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/base/exchange.py", line 759, in request
return await self.fetch2(path, api, method, params, headers, body, config)
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/base/exchange.py", line 756, in fetch2
return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/base/exchange.py", line 243, in fetch
self.handle_errors(http_status_code, http_status_text, url, method, headers, http_response, json_response, request_headers, request_body)
File "/home/ubuntu/.local/lib/python3.10/site-packages/ccxt/async_support/bitget.py", line 7694, in handle_errors
raise ExchangeError(feedback) # unknown message
ccxt.base.errors.ExchangeError: bitget {"code":"45117","msg":"Currently holding positions or orders, the margin mode cannot be adjusted","requestTime":1706386168418,"data":null}
Auriez-vous une idée ??
Merci les gars ;-)
Bonjour la team,
J'ai constaté qu'il y avait des positions qui ont été liquidé alors qu'elles ne devraient pas arriver. J'ai un stop loss à 0.1 pour un levier x4. Il se trouve que j'ai eu deux positions liquidés au bout de 6h. Je n'ai eu aucune erreur dans mon bot pourtant. Savez-vous d'où provient ce problème ?
Merci beaucoup
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.