La respuesta es simple: el Techno King de Tesla tiene un historial de influir en los mercados de cifrado cada vez que tuitea sobre ellos, hasta el punto en que casi se espera un movimiento en el mercado cuando levanta su teléfono y comienza a expresar sus opiniones sobre el tecnología blockchain sobre twitter.
Al crear un robot de comercio de criptomonedas que compra bitcoins cada vez que el jefe de Tesla tuitea al respecto, puedes estar seguro de que conseguirás un asiento VIP en el cohete que pasará la luna y se dirigirá directamente a Marte, donde Elon pasa la mayor parte de los meses de verano debido a su clima frío y seco.
La respuesta rápida es "no estoy seguro", ya que nadie había probado esta estrategia antes. La respuesta más larga es probablemente, siempre y cuando estemos hablando de Bitcoin. Hablando estadísticamente, independientemente del momento en que compró su bitcoin, lo más probable es que obtenga ganancias (excluyendo el máximo histórico reciente en el momento de la escritura).
Entonces, si nada más, al menos mejorará su estrategia de BTC HODLing con un poco de ayuda de Elon. Este artículo no entrará en un análisis detallado para mostrar si esta estrategia realmente funciona o no. Este artículo trata sobre cómo crearlo por diversión, pero ha servido como un poderoso recordatorio de cuántos recursos tenemos a nuestra disposición y de que puede crear casi cualquier bot de comercio de cifrado que se le ocurra.
También podrá ver y utilizar el código para poder probarlo o mejorarlo.
En lo que se centra este artículo es en la construcción técnica real del bot de comercio de bitcoins y en cómo configurarlo en un entorno de prueba seguro, así que vayamos a eso.
- Una cuenta MetaTrader5
- Una cuenta de demostración con XBTFX para que pueda probar su estrategia de forma segura
- Una cuenta de desarrollador de Twitter
- Una cuenta de la API de Tweepy
Como su nombre indica, MT5 es una plataforma que admite múltiples corredores junto con un análisis técnico detallado; la razón principal para comenzar su viaje de creación de bots criptográficos con MT5 se debe a su fácil integración con Python y al soporte listo para usar para un demo o cuenta virtual para que pueda probar en un entorno de demostración seguro.
Hay instrucciones detalladas sobre cómo instalar y configurar MetaTrader5, así como el broker de cifrado XBTFX en la publicación anterior que cubre cómo construir un bot de comercio de cifrado en Python, por lo que solo repasaremos brevemente estos pasos en este artículo. Si necesita más información sobre cómo hacerlo, así como por qué se eligieron esas dos plataformas, consulte el artículo vinculado anteriormente.
Comience descargando e instalando MetaTrader5 y cree una cuenta en su plataforma. Lo siguiente que necesita es un corredor con el que pueda realizar sus operaciones; lo recomiendo XBTFX ya que ofrecen la mayor cantidad de pares criptográficos de todos los corredores que trabajan con el terminal MT5. Regístrese con XBTFX y cree una cuenta de demostración.
Ahora puede conectarse a su cuenta de demostración a través de MT5 navegando hasta Archivo> Abrir una cuenta y buscando XBTFX. Si se ha registrado utilizando el enlace de referencia anterior, deberá seleccionar "Conectarse a una cuenta existente"; de lo contrario, proceda a crear una nueva cuenta.
1. Informe de tendencias de chatbot 2021
2. 4 HACER y 3 NO HACER para entrenar un modelo de PNL Chatbot
3. Bot Concierge: Maneja múltiples chatbots desde una pantalla de chat
Antes de poder utilizar la API de Twitter o el módulo Tweepy Python, necesita una cuenta de desarrollador con Twitter. Afortunadamente, el proceso de solicitud es rápido y fácil, y probablemente será aceptado siempre que describa por qué necesita el acceso a la API de Twitter.
Nativate a plataforma de desarrollo de twitter y haga clic en Aplicar en la esquina superior derecha del menú de navegación.
En la página siguiente, haga clic en Solicitar una cuenta de desarrollador y se le pedirá que inicie sesión con su cuenta de Twitter.
Siga el proceso de registro y explique sus intenciones con la API
Una vez que haya completado toda la información necesaria, puede tomar entre un par de horas y un par de días antes de que pueda acceder a la plataforma. En mi experiencia, fueron solo unas pocas horas.
Una vez que su cuenta de desarrollo esté lista, navegue hasta la pestaña Proyectos y aplicaciones, abra el Proyecto 1, si no está disponible, cree una. Debajo de su proyecto, vaya a Claves y tokens y genere lo siguiente (¡asegúrese de guardarlos o tendrá que volver a generar las claves!):
- El bot abrirá una posición de compra en bitcoin cada vez que Elon mencione bitcoin en su tweet
- El Take Profit se establece en el 10% y el stop loss en el 5%
- El bot de bitcoin no realizará otra operación si ya hay una operación activa (se puede ajustar)
En primer lugar, debe importar los módulos MetaTrader5 y Tweepy usando PyPi.
pip instalar tweepy
pip instalar MetaTrader5
instalar pip - actualizar MetaTrader5
El siguiente paso es importar estos módulos junto con algunos otros a su intérprete de Python.
Módulo #Twitter Scraper
importar tweepy
de tweepy import OAuthHandler módulo #dates
desde fecha y hora importar fecha y hora, fecha
desde itertools import count
tiempo de importaciónimportación re #terminal de comercio
importar MetaTrader5 como mt5
Ahora necesitamos almacenar las claves secretas y los tokens que generaste usando la plataforma Twitter Dev para poder usarlos con Tweepy.
# Almacenar las credenciales de Twitter de la cuenta de desarrollo
Consumer_key = "CONSUMER_KEY"
Consumer_secret = "CONSUMER_SECRET"
access_key = "API_KEY"
access_secret = "API_SECRET"# Pase las credenciales de Twitter a tweepy a través de su OAuthHandler
auth = tweepy.OAuthHandler (clave_consumidor, secreto_consumidor)
auth.set_access_token (clave_acceso, secreto_acceso)
api = tweepy.API (auth)
En la última parte de la configuración preliminar, debe conectarse al terminal MT5, almacenar el capital de su cuenta y definir el instrumento comercial con el que trabajaremos, en este caso es Bitcoin. También crearemos una breve lista de palabras clave para consultar el último tweet de Elon.
# conectarse a la cuenta comercial sin especificar una contraseña y un servidor
mt5.initialize ()# número de cuenta en la esquina superior izquierda de la ventana del terminal MT5
# la contraseña de la base de datos del terminal se aplica si los datos de conexión están configurados para ser recordados
número_cuenta = 555
autorizado = mt5.login (número de cuenta)si está autorizado:
print (f'conectado a la cuenta # {account_number} ')
más:
print (f 'no se pudo conectar en la cuenta # {account_number}, código de error: {mt5.last_error ()}')# almacene el capital de su cuenta
account_info = mt5.account_info ()
si account_info es None:
raise RuntimeError ('No se pudo cargar el nivel de equidad de la cuenta.')
más:
equity = float (account_info [10])
Ahora definamos la moneda en la que realizaremos operaciones y las palabras clave que buscaremos.
# signo de cifrado y palabras clave
CRYPTO = 'BTCUSD'
palabras clave = ['Bitcoin', 'bitcoin', 'BITCOIN', 'btc', 'BTC']
Con todas las cosas preliminares fuera del camino, es hora de concentrarse en las partes interesantes de este bot. Comencemos por obtener el último tweet de Elon con Tweepy como se muestra a continuación en el get_elons_tweet () función.
Durante las pruebas, los emojis y otros caracteres no válidos romperían el guión, por lo que cada tweet se vuelve a formatear para que solo contenga caracteres alfanuméricos.
#Obtén el último tweet de Technoking
def get_elons_tweet ():
“” ”Obtenga el último tweet de Elon por ID de usuario - vuelva a intentarlo hasta que tweepy devuelva tweet” ””
tweets = tweepy.Cursor (api.user_timeline, id = ”44196397", since = date.today (), tweet_mode = 'extendido'). elementos (1)# eliminar todos los caracteres no válidos
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) para tweet en tweets]# Vuelva a intentarlo hasta que devuelva un valor: la API tweepy no devuelve el tweet a veces
mientras no elons_last_tweet:
tweets = tweepy.Cursor (api.user_timeline, id = ”44196397", since = date.today (), tweet_mode = 'extendido'). elementos (1)
elons_last_tweet = [re.sub ('[^ A-Za-z0–9] +', '', tweet.full_text) para tweet en tweets]
devuelve elons_last_tweet [0]
Ahora que tenemos el último tweet de Elon, podemos comenzar a preparar la lógica y la solicitud de negociación en función. comercio(). Para obtener más información sobre el formato de la solicitud comercial, consulte la documentación de MT 5.
lo_musk_dijo contiene el último tweet y la lógica comprobará si alguna de las palabras clave definidas en nuestro las palabras claves variable anterior están presentes en el tweet de Elon. Si eso es cierto, el robot de comercio de bitcoins colocará una orden de compra en bitcoins con ejecución instantánea. En caso de que sea falso, simplemente nos devolverá el tweet.
#comprar bitcoins
def trade ():
"" "Compruebe si Musk mencionó bitcoin y abra una posición de compra si es así" ""
what_musk_said = get_elons_tweet ()# utilizado para comprobar si ya se ha colocado una posición
posiciones = mt5.positions_get (símbolo = CRYPTO)
pedidos = mt5.orders_get (símbolo = CRYPTO)
symbol_info = mt5.symbol_info (CRYPTO)
precio = mt5.symbol_info_tick (CRYPTO) .bid# realizar verificación lógica
si hay alguna (palabra clave en what_musk_said para palabra clave en palabras clave):
imprimir (si la madlad lo dijo, ¡comprando un poco!)# preparar la solicitud comercial
si no es mt5.initialize ():
raise RuntimeError (f'MT5 initialize () falló con el código de error {mt5.last_error ()} ')# comprobar que no hay posiciones u órdenes abiertas
si len (posiciones) == 0 y len (órdenes) <1:
si symbol_info es None:
print (f '{CRYPTO} no encontrado, no se puede llamar order_check ()')
mt5.shutdown ()# si el símbolo no está disponible en MarketWatch, agréguelo
si no es symbol_info.visible:
print (f '{CRYPTO} no está visible, intentando encender')
si no es mt5.symbol_select (CRYPTO, True):
print ('symbol_select ({}}) falló, salir', CRYPTO)#esto representa un 5% de equidad. El pedido mínimo es de 0.01 BTC. Aumentar la participación en el capital social si retcode = 10014
lot = float (round (((equidad / 5) / precio), 2))# definir stop loss y take profit
sl = precio - (precio * 5) / 100
tp = precio + (precio * 10) / 100
solicitud = {
'acción': mt5.TRADE_ACTION_DEAL,
'símbolo': CRYPTO,
'volumen': lote,
'tipo': mt5.ORDER_TYPE_BUY,
'precio': precio,
'sl': sl,
'tp': tp,
'magia': 66,
'comentario': 'python-comprar',
'type_time': mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}# enviar una solicitud comercial
resultado = mt5.order_send (solicitud)# comprobar el resultado de la ejecución
print (f'1. order_send (): por {CRYPTO} {lote} lotes a {precio} ')si result.retcode! = mt5.TRADE_RETCODE_DONE:
print (falló f'2. order_send, retcode = {result.retcode} ')#imprima el resultado de la orden; cualquier otra cosa que no sea retcode = 10009 es un error en la solicitud de negociación.
print (f'2. order_send done, {result} ')
print (f 'posición abierta con POSITION_TICKET = {result.order}')más:
print (f'Se detectó señal de COMPRAR, pero {CRYPTO} tiene {len (posiciones)} comercio activo ')más:
print (f'Él no lo dijo, dijo: {what_musk_said} ')
Ahora debemos decidir con qué frecuencia deberíamos iterar a través del código a continuación. De forma predeterminada, extrae y analiza el último tweet de Elon una vez cada 5 segundos, pero esto se puede ajustar en el tiempo de dormir función a continuación.
# ejecutar código cada 5 segundos
if __name__ == '__main__':
imprimir ('Presione Ctrl-C / Ctrl-Q para detener.')
para i en cuenta ():
comercio()
imprimir (f'Iteración {i} ')
tiempo de sueño (5)
Fue un proyecto divertido en el que trabajar y espero que hayan disfrutado este artículo. Sígueme si te ha gustado este artículo. Para más proyectos de bots criptográficos, consulte mi blog para obtener más bots de comercio de criptomonedas en Python
- &
- de la máquina
- Mi Cuenta
- lector activo
- AI
- Todos
- análisis
- abejas
- Aplicación
- aplicaciones
- en torno a
- artículo
- Poco
- Bitcoin
- comercio bitcoin
- blockchain
- la tecnología blockchain
- Blog
- Bot
- los robots
- corredor
- corredores
- BTC
- build
- Construir la
- comprar
- Comprar bitcoin
- Comprar
- llamar al
- lucha
- chatterbot
- Chatbots
- código
- Monedas
- Parejas
- Creamos
- Referencias
- cripto
- Crypto Markets
- comercio criptográfico
- criptomoneda
- comercio de la criptografía
- datos
- Base de datos
- Dev
- Developer
- HIZO
- Entorno
- equidad
- EU
- EV
- ejecución
- EY
- Focus
- seguir
- formato
- diversión
- función
- Alta
- historia
- Cómo
- Como Hacer
- HP
- hr
- HTTPS
- ia
- aumente
- información
- integración
- IP
- IT
- claves
- King
- Kx
- más reciente
- Nivel
- LINK
- Lista
- carga
- Largo
- Mercado
- Industrias
- Marte
- mediano
- menciona
- meses
- luna
- MT
- Navegación
- nlp
- LANZAMIENTO
- habiertos
- Opiniones
- solicite
- en pedidos de venta.
- Otro
- Otros
- Contraseña
- plataforma
- Plataformas
- presente
- precio
- Profit
- proyecto
- proyecta
- Python
- RE
- Programa de referencia
- Registro
- reporte
- Recursos
- RESTO
- devoluciones
- ambiente seguro
- set
- Compartir
- En Corto
- sencillos
- sueño
- So
- comienzo
- tienda
- Estrategia
- verano
- SOPORTE
- soportes
- Switch
- te
- hablar
- Técnico
- Análisis técnico
- Tecnología
- Tesla
- test
- Pruebas
- Los proyectos
- equipo
- Tokens
- parte superior
- comercio
- oficios
- Plataforma de
- Trading Bots
- Formación
- Tendencias
- Tweet
- us
- propuesta de
- Virtual
- Actividades:
- funciona
- la escritura