La risposta è semplice: il Techno King di Tesla ha una storia di influenza sui mercati delle criptovalute ogni volta che twitta su di loro, al punto che ci si aspetta quasi un movimento nel mercato quando prende il telefono e inizia a esprimere le sue opinioni sul tecnologia blockchain su Twitter.
Creando un bot per il trading di criptovalute che acquista bitcoin ogni volta che il capo di Tesla lo twitta, puoi stare certo che prenderai un posto VIP sul razzo che scenderà oltre la luna e si dirigerà direttamente su Marte, dove Elon trascorre la maggior parte dei mesi estivi a causa del suo clima freddo e secco.
La risposta rapida è "non sono sicuro", poiché nessuno ha testato questa strategia prima. La risposta più lunga è probabilmente - fintanto che parliamo di Bitcoin. Statisticamente parlando, indipendentemente dal momento in cui hai acquistato il tuo bitcoin, molto probabilmente sei in profitto (escluso il recente massimo storico nel momento in cui scrivo).
Quindi, se non altro, ravviverai almeno la tua strategia BTC HODLing con un po 'di aiuto da Elon. Questo articolo non entrerà in un'analisi dettagliata per mostrare se questa strategia funziona effettivamente o meno. Questo articolo parla della sua creazione per divertimento, ma è servito come un potente promemoria di quante risorse abbiamo a nostra disposizione e che puoi costruire praticamente qualsiasi bot di criptovaluta a cui puoi pensare.
Sarai anche in grado di vedere e utilizzare il codice in modo da poterlo testare o migliorarlo.
Ciò su cui si concentra questo articolo è l'effettiva costruzione tecnica del bot di trading di bitcoin e come configurarlo in un ambiente di test sicuro, quindi arriviamo.
- Un conto MetaTrader5
- Un account demo con XBTFX in modo da poter testare in sicurezza la tua strategia
- Un account Twitter Dev
- Un account API Tweepy
Come suggerisce il nome, MT5 è una piattaforma che supporta più broker insieme a un'analisi tecnica dettagliata: il motivo principale per iniziare il tuo viaggio nella creazione di bot di criptovalute con MT5 è dovuto alla sua facile integrazione con Python e al supporto immediato per un conto demo o virtuale in modo da poter testare in un ambiente demo sicuro.
Ci sono istruzioni dettagliate su come installare e configurare MetaTrader5 e il broker crittografico XBTFX nel post precedente che copre come costruire un bot di criptovaluta in Python, quindi esamineremo brevemente questi passaggi in questo articolo. Se hai bisogno di maggiori informazioni su come farlo e sul motivo per cui sono state scelte queste due piattaforme, fai riferimento all'articolo collegato sopra.
Inizia scaricando e installando MetaTrader5 e crea un account sulla loro piattaforma. La prossima cosa di cui hai bisogno è un broker con cui puoi piazzare i tuoi scambi - lo consiglio XBTFX poiché offrono la maggior parte delle coppie crittografiche di tutti i broker che funzionano con il terminale MT5. Registrati con XBTFX e crea un account demo.
Ora puoi connetterti al tuo account demo tramite MT5 andando su File> Apri un account e cercando XBTFX. Se ti sei registrato utilizzando il link di riferimento sopra, dovrai selezionare "Connetti ad account esistente", altrimenti procedi con la creazione di un nuovo account.
1. Rapporto sulle tendenze dei chatbot 2021
2. 4 DA FARE e 3 DA NON FARE per l'addestramento di un modello di PNL Chatbot
3. Concierge Bot: gestisci più chatbot da una schermata di chat
Prima di poter utilizzare l'API di Twitter o il modulo Tweepy Python, è necessario un account sviluppatore con Twitter. Fortunatamente il processo di candidatura è semplice e veloce e probabilmente sarai accettato fintanto che descrivi il motivo per cui hai bisogno dell'accesso all'API di Twitter.
Nativate oltre a piattaforma di sviluppo di Twitter e fai clic su Applica nell'angolo in alto a destra del menu di navigazione.
Nella pagina successiva fai clic su Richiedi un account sviluppatore e ti verrà chiesto di accedere con il tuo account Twitter.
Segui il processo di registrazione e spiega le tue intenzioni con l'API
Dopo aver completato tutte le informazioni necessarie, potrebbero essere necessarie da un paio d'ore a un paio di giorni prima di poter accedere alla piattaforma. Nella mia esperienza sono state solo poche ore.
Una volta che il tuo account dev è pronto, vai alla scheda Progetti e app apri il Progetto 1, se questo non è disponibile vai avanti e creane uno. Sotto il tuo progetto vai su Chiavi e gettoni e genera quanto segue (assicurati di salvarli o dovrai rigenerare le chiavi!):
- Il bot aprirà una posizione di acquisto su bitcoin ogni volta che Elon menziona bitcoin nel suo tweet
- Take profit è impostato al 10% e stop loss al 5%
- Il bot bitcoin non effettuerà un altro scambio se c'è già uno scambio attivo (può essere regolato)
Prima di tutto devi importare i moduli MetaTrader5 e Tweepy usando PyPi.
pip installa tweepy
pip installa MetaTrader5
installazione pip - aggiorna MetaTrader5
Il prossimo passo è importare questi moduli insieme ad alcuni altri nel tuo interprete Python.
#Twitter Scraper modulo
importazione tweepy
da tweepy importa OAuthHandler Modulo #date
da datetime import datetime, date
da itertools importa il conteggio
importare il tempoimportare re # terminale di trading
importa MetaTrader5 come mt5
Ora abbiamo bisogno di memorizzare le chiavi segrete e i token che hai generato utilizzando la piattaforma Twitter Dev per poterli utilizzare con Tweepy.
# Memorizza le credenziali di Twitter dall'account dev
consumer_key = "CONSUMER_KEY"
consumer_secret = "CONSUMER_SECRET"
access_key = "API_KEY"
access_secret = "API_SECRET"# Passa le credenziali di Twitter a tweepy tramite il suo OAuthHandler
auth = tweepy.OAuthHandler (consumer_key, consumer_secret)
auth.set_access_token (access_key, access_secret)
api = tweepy.API (auth)
Nell'ultima parte della configurazione preliminare è necessario connettersi al terminale MT5, memorizzare l'equity del proprio account e definire lo strumento di trading con cui lavoreremo, in questo caso è Bitcoin. Creeremo anche un breve elenco di parole chiave per interrogare l'ultimo tweet di Elon.
# connettersi al conto commerciale senza specificare una password e un server
mt5.initialize ()# numero di conto nell'angolo in alto a sinistra della finestra del terminale MT5
# la password del database del terminale viene applicata se i dati di connessione sono impostati per essere ricordati
numero_conto = 555
autorizzato = mt5.login (account_number)se autorizzato:
print (f'connected to account # {account_number} ')
altro:
print (impossibile connettersi all'account n. {account_number}, codice di errore: {mt5.last_error ()} ')# memorizza l'equità del tuo account
account_info = mt5.account_info ()
se account_info è Nessuno:
raise RuntimeError ('Could not load the account equity level.')
altro:
equity = float (account_info [10])
Ora definiamo la moneta su cui faremo scambi e le parole chiave che cercheremo.
#crypto segno e parole chiave
CRYPTO = "BTCUSD"
parole chiave = ["Bitcoin", "bitcoin", "BITCOIN", "btc", "BTC"]
Con tutte le cose preliminari fuori mano, è tempo di concentrarsi sulle parti interessanti di questo bot. Cominciamo ottenendo l'ultimo tweet di Elon con Tweepy come mostrato di seguito nel file get_elons_tweet () funzione.
Durante il test, emoji e altri caratteri non validi interrompono lo script, quindi ogni tweet viene riformattato per contenere solo caratteri alfanumerici.
#Ricevi l'ultimo tweet di Technoking
def get_elons_tweet ():
"" "Ottieni l'ultimo tweet di Elon tramite ID utente - riprova finché tweepy non restituisce tweet" ""
tweets = tweepy.Cursor (api.user_timeline, id = ”44196397", since = date.today (), tweet_mode = 'extended'). items (1)#remove tutti i caratteri non validi
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) per tweet in tweets]# riprova finché non restituisce un valore - l'API tweepy non riesce a restituire il tweet a volte
mentre non elons_last_tweet:
tweets = tweepy.Cursor (api.user_timeline, id = ”44196397", since = date.today (), tweet_mode = 'extended'). items (1)
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) per tweet in tweets]
return elons_last_tweet [0]
Ora che abbiamo l'ultimo tweet di Elon possiamo iniziare a preparare la logica e la richiesta di trading in funzione commercio(). Per ulteriori informazioni sul formato della richiesta di scambio, dai un'occhiata alla documentazione MT 5.
what_musk_ha detto contiene l'ultimo tweet e la logica verificherà se una qualsiasi delle parole chiave definite nel nostro parole chiave le variabili sopra sono presenti nel tweet di Elon. Se ciò è vero, il bot di trading di bitcoin effettuerà un ordine di acquisto su bitcoin con esecuzione istantanea. Nel caso in cui sia falso ci restituirà semplicemente il tweet.
#acquista bitcoin
def trade ():
"" "Controlla se Musk ha menzionato bitcoin e in tal caso apri una posizione di acquisto" ""
what_musk_said = get_elons_tweet ()# utilizzato per verificare se una posizione è già stata inserita
posizioni = mt5.positions_get (symbol = CRYPTO)
ordini = mt5.orders_get (symbol = CRYPTO)
symbol_info = mt5.symbol_info (CRYPTO)
price = mt5.symbol_info_tick (CRYPTO) .bid# esegue il controllo logico
se presente (parola chiave in what_musk_said per parola chiave in parole chiave):
stampa (se l'ha detto la madlad - comprandone un po '!')# prepara la richiesta di scambio
se non mt5.initialize ():
raise RuntimeError (f'MT5 initialize () non riuscita con codice di errore {mt5.last_error ()} ')# verifica che non ci siano posizioni o ordini aperti
se len (posizioni) == 0 e len (ordini) <1:
se symbol_info è Nessuno:
print (f '{CRYPTO} non trovato, impossibile chiamare order_check ()')
mt5.shutdown ()# se il simbolo non è disponibile in MarketWatch, aggiungilo
se non symbol_info.visible:
print (f "{CRYPTO} non è visibile, sto provando ad accenderlo")
se non mt5.symbol_select (CRYPTO, True):
print ('symbol_select ({}}) non riuscito, esci', CRYPTO)# questo rappresenta il 5% di Equity. L'ordine minimo è 0.01 BTC. Aumenta la quota di partecipazione se retcode = 10014
lotto = float (round (((equity / 5) / price), 2))# definisci stop loss e take profit
sl = prezzo - (prezzo * 5) / 100
tp = prezzo + (prezzo * 10) / 100
richiesta = {
'azione': mt5.TRADE_ACTION_DEAL,
'simbolo': CRYPTO,
'volume': lotto,
'tipo': mt5.ORDER_TYPE_BUY,
'prezzo': prezzo,
'sl': sl,
'tp': tp,
"magia": 66,
'comment': 'python-buy',
"type_time": mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}# invia una richiesta di trading
risultato = mt5.order_send (richiesta)# controlla il risultato dell'esecuzione
print (f'1. order_send (): di {CRYPTO} {lot} lotti a {prezzo} ')se result.retcode! = mt5.TRADE_RETCODE_DONE:
print (f'2. order_send non riuscito, retcode = {result.retcode} ')#stampa il risultato dell'ordine - qualsiasi altra cosa oltre a retcode = 10009 è un errore nella richiesta di trading.
print (f'2. order_send done, {result} ')
print (f 'posizione aperta con POSITION_TICKET = {result.order}')altro:
print (rilevato segnale f'BUY, ma {CRYPTO} ha {len (posizioni)} scambio attivo ')altro:
print (f'He non l'ha detto, ha detto: {what_musk_said} ')
Ora dobbiamo decidere quanto spesso dovremmo iterare attraverso il codice seguente. Per impostazione predefinita, estrae e analizza l'ultimo tweet di Elon una volta ogni 5 secondi, ma questo può essere regolato nel file tempo.dormire funzione di seguito.
#esegui il codice ogni 5 secondi
if __name__ == '__main__':
print ("Premi Ctrl-C / Ctrl-Q per interrompere.")
for i in count ():
commercio()
print (f'Iteration {i} ')
time.sleep (5)
È stato un progetto divertente e spero che questo articolo ti sia piaciuto. Per favore seguimi se questo articolo ti è piaciuto. Per altri progetti di bot crittografici, controlla il mio blog per ulteriori informazioni bot di trading di criptovaluta in Python
- &
- accesso
- Il mio account
- attivo
- AI
- Tutti
- .
- api
- Applicazioni
- applicazioni
- in giro
- articolo
- Po
- Bitcoin
- trading bitcoin
- blockchain
- La tecnologia blockchain
- Blog
- Bot
- bots
- broker
- brokers
- BTC
- costruire
- Costruzione
- Acquistare
- Comprare bitcoin
- Acquisto
- chiamata
- lotta
- chatbot
- chatbots
- codice
- Moneta
- Coppia
- Creazione
- Credenziali
- crypto
- Crypto Markets
- crypto trading
- criptovaluta
- trading criptocurrency
- dati
- Banca Dati
- Dev
- Costruttori
- DID
- Ambiente
- equità
- EU
- EV
- esecuzione
- EY
- Focus
- seguire
- formato
- ti divertirai
- function
- Alta
- storia
- Come
- Tutorial
- HP
- hr
- HTTPS
- ia
- Aumento
- informazioni
- integrazione
- IP
- IT
- Tasti
- King
- Kx
- con i più recenti
- Livello
- LINK
- Lista
- caricare
- Lunghi
- Rappresentanza
- Mercati
- marzo
- medie
- menziona
- mese
- Moon:
- MT
- Navigazione
- nlp
- offrire
- aprire
- Opinioni
- minimo
- ordini
- Altro
- Altri
- Password
- piattaforma
- Piattaforme
- presenti
- prezzo
- Profitto
- progetto
- progetti
- Python
- RE
- Referral
- Iscrizione
- rapporto
- Risorse
- REST
- problemi
- sicura
- set
- Condividi
- Corti
- Un'espansione
- sonno
- So
- inizia a
- Tornare al suo account
- Strategia
- estate
- supporto
- supporti
- Interruttore
- sistema
- parlando
- Consulenza
- Analisi Tecnica
- Tecnologia
- Tesla
- test
- Testing
- I progetti
- tempo
- Tokens
- top
- commercio
- mestieri
- Trading
- Bot di trading
- Training
- tendenze
- Tweet
- us
- APPREZZIAMO
- virtuale
- Lavora
- lavori
- scrittura