La réponse est simple: le Techno King of Tesla a une histoire d'influence sur les marchés de la cryptographie chaque fois qu'il tweete à leur sujet, au point où un mouvement sur le marché est presque attendu lorsqu'il décroche son téléphone et commence à exprimer ses opinions sur le technologie blockchain sur Twitter.
En créant un robot de trading crypto qui achète des bitcoins chaque fois que le patron de Tesla tweete à ce sujet, vous pouvez être assuré que vous allez attraper un siège VIP sur la fusée qui passera juste devant la lune et se dirigera directement vers Mars, où Elon passe la plupart des mois d'été en raison de son temps froid et de son climat sec.
La réponse rapide est «pas sûr» - car personne n'a testé cette stratégie auparavant. La réponse la plus longue est probablement - tant que nous parlons de Bitcoin. Statistiquement parlant, quel que soit le moment où vous avez acheté votre bitcoin, vous êtes le plus susceptible de réaliser des bénéfices (à l'exclusion du récent record historique au moment de la rédaction de cet article).
Donc, si rien d'autre, vous allez au moins pimenter votre stratégie BTC HODLing avec un peu d'aide d'Elon. Cet article n'entrera pas dans une analyse détaillée pour montrer si cette stratégie fonctionne réellement ou non. Cet article vise à le créer pour le plaisir, mais il a servi de rappel puissant du nombre de ressources dont nous disposons et du fait que vous pouvez créer à peu près n'importe quel robot de trading crypto auquel vous pouvez penser.
Vous pourrez également voir et utiliser le code afin de pouvoir le tester ou l'améliorer.
Cet article se concentre sur la construction technique réelle du bot de trading Bitcoin et comment le configurer dans un environnement de test sûr, alors allons-y.
- Un compte MetaTrader5
- Un compte démo avec XBTFX pour que vous puissiez tester votre stratégie en toute sécurité
- Un compte de développement Twitter
- Un compte API Tweepy
Comme son nom l'indique, MT5 est une plate-forme qui prend en charge plusieurs courtiers ainsi qu'une analyse technique détaillée - la principale raison de commencer votre parcours de création de crypto-bot avec MT5 est due à son intégration facile avec Python et au support prêt à l'emploi pour un démo ou compte virtuel afin que vous puissiez tester dans un environnement de démonstration sécurisé.
Il y a des instructions détaillées sur la façon d'installer et de configurer MetaTrader5 ainsi que le courtier crypto XBTFX dans l'article précédent qui couvre comment créer un robot de trading crypto en python, nous allons donc passer brièvement en revue ces étapes dans cet article. Si vous avez besoin de plus d'informations sur la façon de le faire, ainsi que sur les raisons pour lesquelles ces deux plates-formes ont été choisies, veuillez vous reporter à l'article lié ci-dessus.
Commencez par télécharger et installer MetaTrader5 et créez un compte sur leur plateforme. La prochaine chose dont vous avez besoin est un courtier avec lequel vous pouvez placer vos transactions - je recommande XBTFX car ils offrent le plus de paires cryptographiques de tous les courtiers qui fonctionnent avec le terminal MT5. Inscrivez-vous avec XBTFX et créez un compte démo.
Vous pouvez maintenant vous connecter à votre compte de démonstration via MT5 en accédant à Fichier> Ouvrir un compte et en recherchant XBTFX. Si vous vous êtes inscrit en utilisant le lien de parrainage ci-dessus, vous devrez sélectionner «Se connecter à un compte existant», sinon procéder à la création d'un nouveau compte.
1. Rapport sur les tendances du chatbot 2021
2. 4 choses à faire et 3 à ne pas faire pour former un modèle PNL Chatbot
3. Concierge Bot: gérez plusieurs chatbots à partir d'un seul écran de discussion
4. Un système expert: l'IA conversationnelle contre les chatbots
Avant de pouvoir utiliser l'API de Twitter ou le module Tweepy Python, vous avez besoin d'un compte développeur avec Twitter. Heureusement, le processus de candidature est rapide et facile, et vous serez probablement accepté tant que vous expliquerez pourquoi vous avez besoin d'accéder à l'API Twitter.
Nativate à plateforme de développement de twitter et cliquez sur Appliquer dans le coin supérieur droit du menu de navigation.
Sur la page suivante, cliquez sur Demander un compte de développeur et vous serez invité à vous connecter avec votre compte Twitter.
Suivez le processus d'inscription et expliquez vos intentions avec l'API
Une fois que vous avez rempli toutes les informations nécessaires, cela peut prendre entre quelques heures et quelques jours avant que vous puissiez accéder à la plate-forme. D'après mon expérience, ce n'était que quelques heures.
Une fois que votre compte de développement est prêt, accédez à l'onglet Projets et applications, ouvrez le projet 1, s'il n'est pas disponible, créez-en un. Dans le cadre de votre projet, accédez à Clés et jetons et générez les éléments suivants (assurez-vous de les enregistrer ou vous devrez régénérer les clés!):
- Le bot ouvrira une position d'achat sur Bitcoin chaque fois qu'Elon mentionne Bitcoin dans son tweet
- Take profit est fixé à 10% et stop loss à 5%
- Le bot Bitcoin ne placera pas une autre transaction s'il y a déjà une transaction active (peut être ajustée)
Tout d'abord, vous devez importer les modules MetaTrader5 et Tweepy à l'aide de PyPi.
pip installer tweepy
pip installer MetaTrader5
pip install - mettre à niveau MetaTrader5
L'étape suivante consiste à importer ces modules avec quelques autres dans votre interpréteur Python.
#Module grattoir Twitter
importer tweepy
depuis tweepy import OAuthHandler module #dates
à partir de date / heure importation date / heure
à partir de itertools import count
temps d'importationimport re #terminal commercial
importer MetaTrader5 en tant que mt5
Nous devons maintenant stocker les clés secrètes et les jetons que vous avez générés à l'aide de la plate-forme Twitter Dev afin de les utiliser avec Tweepy.
# Stocker les identifiants Twitter du compte de développement
consumer_key = "CONSUMER_KEY"
consumer_secret = "CONSUMER_SECRET"
access_key = "API_KEY"
access_secret = "API_SECRET"# Transmettez les identifiants Twitter à tweepy via son OAuthHandler
auth = tweepy.OAuthHandler (consumer_key, consumer_secret)
auth.set_access_token (access_key, access_secret)
api = tweepy.API (auth)
Dans la dernière partie de la configuration préliminaire, vous devez vous connecter au terminal MT5, stocker les capitaux propres de votre compte et définir l'instrument de trading avec lequel nous travaillerons - dans ce cas, c'est Bitcoin. Nous allons également créer une courte liste de mots-clés pour interroger le dernier tweet d'Elon.
# connectez-vous au compte commercial sans spécifier de mot de passe et de serveur
mt5.initialize ()# numéro de compte dans le coin supérieur gauche de la fenêtre du terminal MT5
# le mot de passe de la base de données du terminal est appliqué si les données de connexion sont définies pour être mémorisées
numéro_de_compte = 555
autorisé = mt5.login (numéro_compte)si autorisé:
print (f'connecté au compte n ° {account_number} ')
autre:
print (f 'échec de la connexion au compte n ° {account_number}, code d'erreur: {mt5.last_error ()}')# stocker la valeur nette de votre compte
account_info = mt5.account_info ()
si account_info vaut None:
lever RuntimeError ('Impossible de charger le niveau de fonds propres du compte.')
autre:
équité = flottant (info_compte [10])
Définissons maintenant la pièce sur laquelle nous allons placer des transactions et les mots-clés que nous rechercherons.
#crypto signe et mots-clés
CRYPTO = 'BTCUSD'
mots-clés = ['Bitcoin', 'bitcoin', 'BITCOIN', 'btc', 'BTC']
Avec tous les éléments préliminaires à l'écart, il est temps de se concentrer sur les parties intéressantes de ce bot. Commençons par obtenir le dernier tweet d'Elon avec Tweepy comme indiqué ci-dessous dans le get_elons_tweet () la fonction.
Pendant les tests, les émojis et autres caractères non valides casseraient le script, donc chaque tweet est reformaté pour ne contenir que des caractères alphanumériques.
#Get le dernier tweet de Technoking
def get_elons_tweet ():
"" "Obtenez le dernier tweet d'Elon par ID utilisateur - réessayez jusqu'à ce que tweepy renvoie le tweet" ""
tweets = tweepy.Cursor (api.user_timeline, id = "44196397", depuis = date.today (), tweet_mode = 'extended'). items (1)#remove tous les caractères non valides
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) pour tweet dans les tweets]# réessayer jusqu'à ce qu'il renvoie une valeur - l'API tweepy ne parvient pas à renvoyer le tweet parfois
alors que ce n'est pas elons_last_tweet:
tweets = tweepy.Cursor (api.user_timeline, id = "44196397", depuis = date.today (), tweet_mode = 'extended'). items (1)
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) pour tweet dans les tweets]
retourne elons_last_tweet [0]
Maintenant que nous avons le dernier tweet d'Elon, nous pouvons commencer à préparer la logique et la demande de trading en fonction Commerce(). Pour plus d'informations sur le format de la demande d'échange, consultez la documentation MT 5.
quoi_musc_dit contient le dernier tweet et la logique vérifiera si l'un des mots-clés définis dans notre mots clés variable ci-dessus sont présentes dans le tweet d'Elon. Si cela est vrai, le bot de trading Bitcoin passera un ordre d'achat sur Bitcoin avec une exécution instantanée. Dans le cas où c'est faux, il nous renverra simplement le tweet.
# acheter des bitcoins
def trade ():
"" "Vérifiez si Musk a mentionné le bitcoin et ouvrez une position d'achat si oui" ""
what_musk_said = get_elons_tweet ()# utilisé pour vérifier si une position a déjà été placée
positions = mt5.positions_get (symbole = CRYPTO)
commandes = mt5.orders_get (symbole = CRYPTO)
symbol_info = mt5.symbol_info (CRYPTO)
prix = mt5.symbol_info_tick (CRYPTO) .bid# effectuer une vérification logique
le cas échéant (mot-clé dans what_musk_said pour le mot-clé dans les mots-clés):
print (f'the madlad l'a dit - en acheter! ')# préparer la demande d'échange
sinon mt5.initialize ():
lever RuntimeError (f'MT5 initialize () a échoué avec le code d'erreur {mt5.last_error ()} ')# vérifier qu'il n'y a pas de positions ou d'ordres ouverts
si len (positions) == 0 et len (ordres) <1:
si symbol_info vaut None:
print (f '{CRYPTO} introuvable, impossible d'appeler order_check ()')
mt5.shutdown ()# si le symbole n'est pas disponible dans MarketWatch, ajoutez-le
sinon symbol_info.visible:
print (f '{CRYPTO} n'est pas visible, tentative d'activation')
sinon mt5.symbol_select (CRYPTO, True):
print ('symbol_select ({}}) a échoué, quitter', CRYPTO)# cela représente 5% des capitaux propres. La commande minimum est de 0.01 BTC. Augmenter la part de capital si recodage = 10014
lot = float (round (((equity / 5) / price), 2))# définir le stop loss et prendre des bénéfices
sl = prix - (prix * 5) / 100
tp = prix + (prix * 10) / 100
demande = {
'action': mt5.TRADE_ACTION_DEAL,
'symbole': CRYPTO,
'volume': beaucoup,
'type': mt5.ORDER_TYPE_BUY,
'prix': prix,
'sl': sl,
'tp': tp,
'magie': 66,
'comment': 'python-acheter',
'type_time': mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}# envoyer une demande de trading
result = mt5.order_send (demande)# vérifier le résultat de l'exécution
print (f'1. order_send (): par {CRYPTO} {lot} lots à {price} ')si result.retcode! = mt5.TRADE_RETCODE_DONE:
print (f'2. order_send failed, retcode = {result.retcode} ')#print the order result - autre chose que retcode = 10009 est une erreur dans la demande de trading.
print (f'2. order_send done, {result} ')
print (f 'position ouverte avec POSITION_TICKET = {result.order}')autre:
print (signal f'BUY détecté, mais {CRYPTO} a {len (positions)} trade actif ')autre:
print (f'Il ne l'a pas dit, il a dit: {what_musk_said} ')
Nous devons maintenant décider à quelle fréquence nous devons itérer dans le code ci-dessous. Par défaut, il extrait et analyse le dernier tweet d'Elon une fois toutes les 5 secondes, mais cela peut être ajusté dans le le sommeil de temps fonction ci-dessous.
#execute du code toutes les 5 secondes
si __name__ == '__main__':
print ('Appuyez sur Ctrl-C / Ctrl-Q pour arrêter.')
pour i dans count ():
Commerce()
print (f'Iteration {i} ')
time.sleep (5)
C'était un travail de projet amusant et j'espère que cet article vous a plu. Suivez-moi si vous avez apprécié cet article. Pour plus de projets de robots crypto, consultez mon blog pour en savoir plus bots de trading de crypto-monnaie en Python
- &
- accès
- Compte
- infection
- AI
- Tous
- selon une analyse de l’Université de Princeton
- api
- Application
- applications
- autour
- article
- Bit
- Bitcoin
- négociation bitcoin
- blockchain
- Technologie blockchain
- Blog
- Bot
- les robots
- courtier
- courtiers
- BTC
- construire
- Développement
- acheter
- Acheter bitcoin
- Achat
- Appelez-nous
- Attraper
- Chatbot
- Chatbots
- code
- Coin
- Couples
- La création
- Lettres de créance
- Crypto
- Marchés de Crypto
- crypto-trading
- crypto-monnaie
- cryptocurrency trading
- données
- Base de données
- dev
- Développeur
- DID
- Environment
- équité
- EU
- EV
- exécution
- EY
- Focus
- suivre
- le format
- amusement
- fonction
- Haute
- Histoire
- Comment
- How To
- HP
- hr
- HTTPS
- ia
- Améliore
- d'information
- l'intégration
- IP
- IT
- clés
- King
- Kx
- Nouveautés
- Niveau
- LINK
- Liste
- charge
- Location
- Marché
- Marchés
- Mars
- moyenne
- mentions
- mois
- Lune
- MT
- Navigation
- nlp
- code
- ouvert
- Avis
- de commander
- passer commande
- Autre
- Autres
- Mot de Passe
- plateforme
- Plateformes
- représentent
- prix
- Profit
- Projet
- projets
- Python
- RE
- Parrainage
- Inscription
- rapport
- Resources
- REST
- Retours
- des
- set
- Partager
- Shorts
- étapes
- sleep
- So
- Commencer
- Boutique
- de Marketing
- été
- Support
- Les soutiens
- Interrupteur
- combustion propre
- parlant
- Technique
- Analyse technique
- Technologie
- Tesla
- tester
- Essais
- Les projets
- fiable
- Tokens
- top
- commerce
- métiers
- Commerce
- Trading Bots
- Formation
- Trends
- Tweet
- us
- Plus-value
- Salle de conférence virtuelle
- activités principales
- vos contrats
- écriture