Het antwoord is simpel - de Techno King van Tesla heeft een geschiedenis van het beïnvloeden van cryptomarkten wanneer hij erover tweets, tot het punt waarop een beweging in de markt bijna wordt verwacht wanneer hij de telefoon opneemt en zijn mening begint te uiten over de blockchain-technologie via twitter.
Door een crypto-handelsbot te maken die bitcoin koopt elke keer dat de Tesla-baas erover tweets, kun je er zeker van zijn dat je een VIP-stoel op de raket gaat pakken die vlak langs de maan slingert en rechtstreeks naar Mars gaat, waar Elon brengt het grootste deel van de zomermaanden door vanwege het koude weer en het droge klimaat.
Het snelle antwoord is "niet zeker" - aangezien niemand deze strategie eerder heeft getest. Het langere antwoord is waarschijnlijk - zolang we het over Bitcoin hebben. Statistisch gezien, ongeacht het tijdstip waarop u uw bitcoin kocht, maakt u waarschijnlijk winst (exclusief de recente all time high rond het moment van schrijven).
Dus als er niets anders is, zul je in ieder geval je BTC HODLing-strategie opfleuren met een beetje hulp van Elon. Dit artikel gaat niet in op een gedetailleerde analyse om te laten zien of deze strategie echt werkt of niet. Dit artikel gaat over het bouwen voor de lol, maar het dient wel als een krachtige herinnering aan hoeveel middelen we tot onze beschikking hebben en dat je zowat elke cryptohandelbot kunt bouwen die je maar kunt bedenken.
U kunt de code ook zien en gebruiken, zodat u deze kunt testen of verbeteren.
Waar dit artikel op is gericht, is de daadwerkelijke technische opbouw van de bitcoin-handelsbot, en hoe deze in een veilige testomgeving kan worden opgezet, dus laten we er maar op ingaan.
- Een MetaTrader5-account
- Een demo-account bij XBTFX zodat u uw strategie veilig kunt testen
- Een Twitter-ontwikkelaarsaccount
- Een Tweepy API-account
Zoals de naam al doet vermoeden, is MT5 een platform dat meerdere makelaars ondersteunt, samen met gedetailleerde technische analyse - de belangrijkste reden om uw cryptobot-bouwreis met MT5 te beginnen, is vanwege de eenvoudige integratie met Python en kant-en-klare ondersteuning voor een demo of virtueel account zodat u kunt testen in een veilige demo-omgeving.
Er zijn gedetailleerde instructies voor het installeren en configureren van MetaTrader5 en de XBTFX crypto-makelaar in het vorige bericht dat betrekking heeft op hoe je een crypto-handelsbot bouwt in python, dus we zullen deze stappen in dit artikel slechts kort bespreken. Als u meer informatie nodig heeft over hoe u dit moet doen en waarom deze twee platforms zijn gekozen, raadpleegt u het bovenstaande gelinkte artikel.
Begin met downloaden en installeren MetaTrader5 en maak een account aan op hun platform. Het volgende dat u nodig heeft, is een makelaar bij wie u uw transacties kunt plaatsen - ik raad aan XBTFX omdat ze de meeste cryptoparen bieden van alle makelaars die met de MT5-terminal werken. Registreer u bij XBTFX en maak een demo-account aan.
U kunt nu via MT5 verbinding maken met uw demo-account door naar Bestand> Open een account te gaan en naar XBTFX te zoeken. Als u zich heeft geregistreerd via de bovenstaande verwijzingslink, moet u "Verbinden met een bestaand account" selecteren, anders gaat u verder met het maken van een nieuw account.
2. 4 DO's en 3 DON'T's voor het trainen van een Chatbot NLP-model
3. Conciërge Bot: behandel meerdere chatbots vanuit één chatscherm
Voordat je de Twitter-API of de Tweepy Python-module kunt gebruiken, heb je een ontwikkelaarsaccount bij Twitter nodig. Gelukkig is het aanmeldingsproces snel en eenvoudig en wordt u waarschijnlijk geaccepteerd zolang u beschrijft waarom u toegang tot de Twitter API nodig heeft.
Nativeer naar twitter's ontwikkelplatform en klik op Toepassen in de rechterbovenhoek van het navigatiemenu.
Klik op de volgende pagina op Een ontwikkelaarsaccount aanvragen en u wordt gevraagd om u aan te melden met uw Twitter-account.
Volg het registratieproces en leg uw bedoelingen uit met de API
Nadat u alle benodigde informatie heeft ingevuld, kan het enkele uren tot een paar dagen duren voordat u toegang krijgt tot het platform. In mijn ervaring was het maar een paar uur.
Zodra uw ontwikkelaarsaccount klaar is, navigeert u naar het tabblad Projecten en apps en opent u Project 1, als dit niet beschikbaar is, kunt u er een maken. Ga onder je project naar Sleutels en tokens en genereer het volgende (zorg ervoor dat je ze opslaat, anders moet je de sleutels opnieuw genereren!):
- De bot opent een kooppositie op bitcoin elke keer dat Elon bitcoin vermeldt in zijn tweet
- Take profit is ingesteld op 10% en stop loss op 5%
- De bitcoin-bot zal geen andere transactie plaatsen als er al een actieve transactie is (kan worden aangepast)
Allereerst moet u de MetaTrader5- en Tweepy-modules importeren met PyPi.
pip installeer tweepy
pip installeer MetaTrader5
pip install - upgrade MetaTrader5
De volgende stap is om deze modules samen met een paar andere in je Python-interpreter te importeren.
#Twitter Schrapermodule
importeer tweepy
van tweepy importeer OAuthHandler #dates-module
van datetime import datetime, date
van itertools import count
import tijdimport re #handelsterminal
importeer MetaTrader5 als mt5
We moeten nu de geheime sleutels en tokens opslaan die je hebt gegenereerd met het Twitter Dev-platform om ze met Tweepy te kunnen gebruiken.
# Bewaar Twitter-inloggegevens van dev-account
consumer_key = "CONSUMER_KEY"
consumer_secret = "CONSUMER_SECRET"
access_key = "API_KEY"
access_secret = "API_SECRET"# Geef Twitter-inloggegevens door aan tweepy via zijn OAuthHandler
auth = tweepy.OAuthHandler (consumer_key, consumer_secret)
auth.set_access_token (access_key, access_secret)
api = tweepy.API (auth)
In het laatste deel van de voorbereidende installatie moet u verbinding maken met de MT5-terminal, het vermogen van uw account opslaan en het handelsinstrument definiëren waarmee we zullen werken - in dit geval is het Bitcoin. We zullen ook een korte lijst met trefwoorden maken waarmee we de laatste tweet van Elon kunnen ondervragen.
# maak verbinding met het handelsaccount zonder een wachtwoord en een server op te geven
mt5.initialize ()# rekeningnummer in de linkerbovenhoek van het MT5-terminalvenster
# het terminaldatabase-wachtwoord wordt toegepast als verbindingsgegevens zijn ingesteld om te worden onthouden
rekeningnummer = 555
geautoriseerd = mt5.login (account_number)indien geautoriseerd:
print (f'connected to account # {account_number} ')
anders:
print (f'failed to connect at account # {account_number}, error code: {mt5.last_error ()} ')# sla het vermogen van uw rekening op
account_info = mt5.account_info ()
als account_info Geen is:
raise RuntimeError ('Kan het eigenvermogensniveau van het account niet laden.')
anders:
equity = float (account_info [10])
Laten we nu de munt definiëren waarop we transacties plaatsen en de trefwoorden waarnaar we zullen zoeken.
#crypto-teken en trefwoorden
CRYPTO = 'BTCUSD'
keywords = ['Bitcoin', 'bitcoin', 'BITCOIN', 'btc', 'BTC']
Nu alle voorbereidende dingen uit de weg zijn, is het tijd om je te concentreren op de coole delen van deze bot. Laten we beginnen met het ophalen van de laatste tweet van Elon met Tweepy zoals hieronder weergegeven in het get_elons_tweet () functie.
Tijdens het testen zouden emoji's en andere ongeldige tekens het script breken, dus elke tweet wordt opnieuw opgemaakt om alleen alfanumerieke tekens te bevatten.
# Download de nieuwste tweet van Technoking
def get_elons_tweet ():
"" "Haal de laatste tweet van Elon op met gebruikers-ID - probeer het opnieuw totdat tweepy de tweet teruggeeft" ""
tweets = tweepy.Cursor (api.user_timeline, id = ”44196397", since = date.today (), tweet_mode = 'extended'). items (1)#verwijder alle ongeldige tekens
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) voor tweet in tweets]# probeer het opnieuw totdat het een waarde retourneert - tweepy API kan de tweet soms niet retourneren
hoewel niet 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) voor tweet in tweets]
retourneer elons_last_tweet [0]
Nu we de laatste tweet van Elon hebben, kunnen we beginnen met het voorbereiden van de logica en het werkende handelsverzoek handel(). Raadpleeg de MT 5-documentatie voor meer informatie over het formaat van het handelsverzoek.
wat_musk_zei? bevat de laatste tweet en de logica zal controleren of een van de trefwoorden gedefinieerd in onze trefwoorden variabele hierboven zijn aanwezig in de tweet van Elon. Als dat waar is, plaatst de bitcoin-handelsbot een kooporder op bitcoin met onmiddellijke uitvoering. Als het niet waar is, zal het gewoon de tweet naar ons terugsturen.
#kopen bitcoin
def handel ():
"" "Controleer of Musk bitcoin noemde en open een kooppositie als dat het geval is" ""
what_musk_said = get_elons_tweet ()# wordt gebruikt om te controleren of er al een positie is geplaatst
posities = mt5.positions_get (symbool = CRYPTO)
orders = mt5.orders_get (symbool = CRYPTO)
symbol_info = mt5.symbol_info (CRYPTO)
price = mt5.symbol_info_tick (CRYPTO). bod# voer een logische controle uit
indien aanwezig (trefwoord in what_musk_said voor trefwoord in trefwoorden):
print (f'the madlad zei het - koopt wat! ')# bereid het handelsverzoek voor
zo niet mt5.initialize ():
raise RuntimeError (f'MT5 initialize () mislukt met foutcode {mt5.last_error ()} ')# controleer of er geen openstaande posities of orders zijn
if len (posities) == 0 en len (orders) <1:
als symbol_info geen is:
print (f '{CRYPTO} niet gevonden, kan order_check ()' niet aanroepen)
mt5.shutdown ()# als het symbool niet beschikbaar is in MarketWatch, voeg het dan toe
zo niet symbol_info.visible:
print (f '{CRYPTO} is niet zichtbaar, probeert aan te zetten')
zo niet mt5.symbol_select (CRYPTO, True):
print ('symbol_select ({}}) mislukt, exit', CRYPTO)#dit vertegenwoordigt 5% eigen vermogen. Minimale bestelling is 0.01 BTC. Verhoog het eigen vermogen als retcode = 10014
lot = float (round (((equity / 5) / prijs), 2))# definieer stop loss en neem winst
sl = prijs - (prijs * 5) / 100
tp = prijs + (prijs * 10) / 100
verzoek = {
'actie': mt5.TRADE_ACTION_DEAL,
'symbool': CRYPTO,
'volume': veel,
'type': mt5.ORDER_TYPE_BUY,
'price': prijs,
'sl': sl,
'tp': tp,
'magie': 66,
'comment': 'python-buy',
'type_time': mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}# stuur een handelsverzoek
result = mt5.order_send (verzoek)# controleer het uitvoeringsresultaat
print (f'1. order_send (): door {CRYPTO} {lot} lots tegen {price} ')als result.retcode! = mt5.TRADE_RETCODE_DONE:
print (f'2. order_send mislukt, retcode = {result.retcode} ')#print het orderresultaat - iets anders dan retcode = 10009 is een fout in het handelsverzoek.
print (f'2. order_send done, {result} ')
print (f 'geopende positie met POSITION_TICKET = {result.order}')anders:
print (f'BUY-signaal gedetecteerd, maar {CRYPTO} heeft {len (posities)} actieve transactie ')anders:
print (f'He zei het niet, hij zei: {what_musk_said} ')
We moeten nu beslissen hoe vaak we de onderstaande code moeten herhalen. Standaard trekt en analyseert het de laatste tweet van Elon elke 5 seconden, maar dit kan worden aangepast in de tijd. slaap functie hieronder.
#execute code elke 5 seconden
if __name__ == '__main__':
print ('Druk op Ctrl-C / Ctrl-Q om te stoppen.')
voor i in count ():
handel()
print (f'Iteration {i} ')
time.sleep (5)
Het was een leuk project om aan te werken en ik hoop dat je dit artikel leuk vond. Volg me alsjeblieft als je dit artikel leuk vond. Voor meer cryptobotprojecten, bekijk mijn blog voor meer informatie cryptocurrency-handelsbots in Python
- &
- toegang
- Account
- actieve
- AI
- Alles
- analyse
- api
- Aanvraag
- apps
- rond
- dit artikel
- Beetje
- Bitcoin
- bitcoin trading
- blockchain
- Blockchain technologie
- Blog
- Bot
- bots
- makelaar
- brokers
- BTC
- bouw
- Gebouw
- kopen
- kopen bitcoin
- Buying
- Bellen
- het worstelen
- Chatbot
- chatbots
- code
- Munt
- Koppel
- Wij creëren
- Geloofsbrieven
- crypto
- Crypto Markten
- crypto trading
- cryptogeld
- cryptocurrency trading
- gegevens
- Database
- Dev
- Ontwikkelaar
- DEED
- Milieu
- billijkheid
- EU
- EV
- uitvoering
- EY
- Focus
- volgen
- formaat
- leuke
- functie
- Hoge
- geschiedenis
- Hoe
- How To
- HP
- hr
- HTTPS
- ia
- Laat uw omzet
- informatie
- integratie
- IP
- IT
- toetsen
- koning
- Kx
- laatste
- Niveau
- LINK
- Lijst
- laden
- lang
- Markt
- Markten
- maart
- Medium
- vermeldt
- maanden
- Moon
- MT
- Navigatie
- nlp
- bieden
- open
- Meningen
- bestellen
- orders
- Overige
- Overig
- Wachtwoord
- platform
- platforms
- presenteren
- prijs
- Profit
- project
- projecten
- Python
- RE
- Verwijzing
- Registratie
- verslag
- Resources
- REST
- Retourneren
- veilig
- reeks
- Delen
- Bermuda's
- Eenvoudig
- slaap
- So
- begin
- shop
- Strategie
- zomer
- ondersteuning
- steunen
- Stap over voor slechts
- system
- praat
- Technisch
- Technische Analyse
- Technologie
- Tesla
- proef
- Testen
- De projecten
- niet de tijd of
- tokens
- top
- handel
- trades
- Handel
- Handelsbots
- Trainingen
- Trends
- tweet
- X
- us
- waarde
- Virtueel
- Mijn werk
- Bedrijven
- het schrijven van