A resposta é simples - o Techno King de Tesla tem um histórico de influenciar os mercados de criptomoedas sempre que twitta sobre eles, a ponto de quase esperar um movimento no mercado quando ele pega o telefone e começa a expressar suas opiniões sobre o mercado. tecnologia blockchain pelo twitter.
Ao criar um bot de negociação de criptomoedas que compra bitcoin toda vez que o chefe da Tesla twittar sobre isso, você pode ter certeza de que vai conseguir um assento VIP no foguete que passará pela lua e seguirá diretamente para Marte, onde Elon passa a maior parte dos meses de verão devido ao seu clima frio e seco.
A resposta rápida é “não tenho certeza” – já que ninguém testou essa estratégia antes. A resposta mais longa é provavelmente – contanto que estejamos falando sobre Bitcoin. Estatisticamente falando, independentemente do momento em que você comprou seu bitcoin, é mais provável que você tenha lucro (excluindo a alta recente de todos os tempos no momento da redação).
Então, se nada mais, você pelo menos apimentará sua estratégia de BTC HODLing com um pouco de ajuda de Elon. Este artigo não entrará em uma análise detalhada para mostrar se essa estratégia realmente funciona ou não. Este artigo é sobre como construí-lo por diversão, mas serve como um lembrete poderoso de quantos recursos temos à nossa disposição e que você pode criar praticamente qualquer bot de negociação de criptomoedas que possa imaginar.
Você também poderá ver e usar o código para testá-lo ou melhorá-lo.
O foco deste artigo é a construção técnica real do bot de negociação de bitcoin e como configurá-lo em um ambiente de teste seguro, então vamos ao que interessa.
- Uma conta MetaTrader5
- Uma conta demo com XBTFX para que você possa testar sua estratégia com segurança
- Uma conta de desenvolvedor do Twitter
- Uma conta de API do Tweepy
Como o nome sugere, o MT5 é uma plataforma que suporta vários corretores juntamente com análise técnica detalhada - o principal motivo para iniciar sua jornada de criação de bots criptográficos com o MT5 é devido à sua fácil integração com Python e suporte pronto para uso. demo ou conta virtual para que você possa testar em um ambiente de demonstração seguro.
Existem instruções detalhadas sobre como instalar e configurar o MetaTrader5, bem como o corretor de criptografia XBTFX no post anterior que cobre como construir um bot de negociação de criptografia em python, por isso, abordaremos brevemente essas etapas neste artigo. Se você precisar de mais informações sobre como fazer isso, bem como por que essas duas plataformas foram escolhidas, consulte o artigo vinculado acima.
Comece baixando e instalando MetaTrader5 e crie uma conta em sua plataforma. A próxima coisa que você precisa é de um corretor com o qual você possa negociar - eu recomendo XBTFX pois oferecem o maior número de pares de criptomoedas de todos os corretores que trabalham com o terminal MT5. Registre-se no XBTFX e crie uma conta demo.
Agora você pode se conectar à sua conta demo via MT5 navegando até Arquivo> Abrir uma conta e procurando por XBTFX. Se você se registrou usando o link de referência acima, você precisará selecionar “Conectar à conta existente”, caso contrário, prossiga para criar uma nova conta.
1. Relatório de tendências do Chatbot 2021
2. 4 O que fazer e 3 o que não fazer para treinar um modelo de PNL do Chatbot
3. Concierge Bot: lida com vários chatbots a partir de uma tela de bate-papo
Antes de poder usar a API do Twitter ou o módulo Tweepy Python, você precisa de uma conta de desenvolvedor no Twitter. Felizmente, o processo de inscrição é rápido e fácil, e você provavelmente será aceito desde que descreva por que precisa de acesso à API do Twitter.
Native para plataforma de desenvolvimento do twitter e clique em Aplicar no canto superior direito do menu de navegação.
Na próxima página, clique em Aplicar para uma conta de desenvolvedor e você será solicitado a entrar com sua conta do Twitter.
Siga o processo de registro e explique suas intenções com a API
Depois de preencher todas as informações necessárias, pode levar de algumas horas a alguns dias para que você possa acessar a plataforma. Na minha experiência, foram apenas algumas horas.
Quando sua conta de desenvolvedor estiver pronta, navegue até a guia Projetos e aplicativos, abra o Projeto 1, se não estiver disponível, vá em frente e crie um. Em seu projeto, vá para Keys and Tokens e gere o seguinte (certifique-se de salvá-los ou você precisará regenerar as chaves!):
- O bot abrirá uma posição de compra em bitcoin toda vez que Elon mencionar bitcoin em seu tweet
- Take profit está definido para 10% e stop loss para 5%
- O bot bitcoin não fará outra negociação se já houver uma negociação ativa (pode ser ajustada)
Primeiro você precisa importar os módulos MetaTrader5 e Tweepy usando o PyPi.
pip instalar tweepy
pip instalar MetaTrader5
instalação do pip — atualize o MetaTrader5
O próximo passo é importar esses módulos junto com alguns outros para o seu interpretador Python.
#Módulo Raspador do Twitter
importar tweepy
de importação tweepy OAuthHandler #módulo de datas
de datetime importação datetime, data
da contagem de importação do itertools
importar horaimportar re #terminal de negociação
importar MetaTrader5 como mt5
Agora precisamos armazenar as chaves secretas e os tokens que você gerou usando a plataforma Twitter Dev para usá-los com o Tweepy.
# Armazene as credenciais do Twitter da conta do desenvolvedor
consumidor_key = “CONSUMER_KEY”
consumidor_secret = “CONSUMER_SECRET”
chave_acesso = “API_KEY”
access_secret = “API_SECRET”# Passe as credenciais do Twitter para o tweepy por meio de seu OAuthHandler
autenticação = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(chave_de_acesso, segredo_de_acesso)
api = tweepy.API(autenticação)
Na última parte da configuração preliminar, você precisa se conectar ao terminal MT5, armazenar o patrimônio da sua conta e definir o instrumento de negociação com o qual trabalharemos - neste caso, é o Bitcoin. Também criaremos uma pequena lista de palavras-chave para consultar o último tweet de Elon.
# conectar-se à conta de negociação sem especificar uma senha e um servidor
mt5.initialize()# número da conta no canto superior esquerdo da janela do terminal MT5
# a senha do banco de dados do terminal é aplicada se os dados de conexão estiverem configurados para serem lembrados
número_conta = 555
autorizado = mt5.login(número_conta)se autorizado:
print(f'conectado à conta #{account_number}')
outro:
print(f'falha ao conectar na conta #{account_number}, código de erro: {mt5.last_error()}')# armazena o patrimônio da sua conta
conta_info = mt5.account_info()
se account_info for Nenhum:
raise RuntimeError('Não foi possível carregar o nível de patrimônio da conta.')
outro:
patrimônio = float(account_info[10])
Agora vamos definir a moeda em que colocaremos negociações e as palavras-chave que procuraremos.
#sinal de criptografia e palavras-chave
CRIPTO = 'BTCUSD'
palavras-chave = ['Bitcoin', 'bitcoin', 'BITCOIN', 'btc', 'BTC']
Com todas as coisas preliminares fora do caminho, é hora de focar nas partes legais desse bot. Vamos começar obtendo o último tweet de Elon com Tweepy como mostrado abaixo no get_elons_tweet() função.
Durante o teste, emojis e outros caracteres inválidos quebrariam o script, então cada tweet é reformatado para conter apenas caracteres alfanuméricos.
#Obtenha o último tweet de Technoking
def get_elons_tweet():
“””Obter o último tweet de Elon por ID de usuário – tente novamente até que tweepy retorne o tweet”””
tweets = tweepy.Cursor(api.user_timeline,id=”44196397", since=date.today(), tweet_mode='extended').items(1)#remove todos os caracteres inválidos
elons_last_tweet = [re.sub('[^A-Za-z0–9]+', ' ', tweet.full_text) para tweet em tweets]#re-tente até retornar um valor — a API tweepy às vezes falha ao retornar o tweet
enquanto não 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) para tweet em tweets]
retornar elons_last_tweet[0]
Agora que temos o último tweet de Elon, podemos começar a preparar a lógica e a solicitação de negociação em função troca(). Para obter mais informações sobre o formato da solicitação de negociação, consulte a documentação do MT 5.
o que_musk_disse contém o último tweet e a lógica verificará se alguma das palavras-chave definidas em nosso palavras-chave variáveis acima estão presentes no tweet de Elon. Se isso for verdade, o bot de negociação de bitcoin colocará uma ordem de compra no bitcoin com execução instantânea. Caso seja falso, simplesmente nos retornará o tweet.
#compre bitcoin
def comércio():
“””Verifique se Musk mencionou bitcoin e abra uma posição de compra em caso afirmativo”””
o que_musk_said=get_elons_tweet()# usado para verificar se uma posição já foi colocada
posições = mt5.positions_get(símbolo=CRYPTO)
pedidos = mt5.orders_get(símbolo=CRYPTO)
símbolo_info = mt5.symbol_info(CRYPTO)
preço = mt5.symbol_info_tick(CRYPTO).bid# realiza verificação lógica
se houver (palavra-chave em what_musk_said para palavra-chave em palavras-chave):
print(f'o louco disse isso - comprando alguns!')# preparar o pedido de troca
se não mt5.initialize():
raise RuntimeError(f'MT5 initialize() falhou com código de erro {mt5.last_error()}')# verifique se não há posições ou ordens abertas
se len(posições) == 0 e len(ordens) < 1:
se symbol_info for Nenhum:
print(f'{CRYPTO} não encontrado, não pode chamar order_check()')
mt5.desligamento()# se o símbolo não estiver disponível no MarketWatch, adicione-o
se não symbol_info.visible:
print(f'{CRYPTO} não está visível, tentando ligar')
se não mt5.symbol_select(CRYPTO, True):
print('symbol_select({}}) falhou, exit', CRYPTO)#isso representa 5% do Patrimônio Líquido. O pedido mínimo é de 0.01 BTC. Aumente a participação no capital se retcode = 10014
lote = float(round(((capital / 5) / preço), 2))# definir stop loss e obter lucro
sl = preço — (preço * 5) / 100
tp = preço + (preço * 10) / 100
pedido = {
'ação': mt5.TRADE_ACTION_DEAL,
'símbolo': CRIPTO,
'volume': muito,
'tipo': mt5.ORDER_TYPE_BUY,
'preço': preço,
'sl': sl,
'tp': tp,
'mágica': 66,
'comentário': 'python-comprar',
'type_time': mt5.ORDER_TIME_GTC,
'type_filling': mt5.ORDER_FILLING_IOC,
}#envia um pedido de negociação
resultado = mt5.order_send(solicitação)# verifica o resultado da execução
print(f'1. order_send(): por {CRYPTO} {lot} lotes a {price}')se resultado.retcode! = mt5.TRADE_RETCODE_DONE:
print(f'2. order_send falhou, retcode={result.retcode}')#imprima o resultado do pedido — qualquer coisa diferente de retcode=10009 é um erro na solicitação de negociação.
print(f'2. pedido_envio feito, {resultado}')
print(f' posição aberta com POSITION_TICKET={result.order}')outro:
print(f'BUY sinal detectado, mas {CRYPTO} tem {len(positions)} negociação ativa')outro:
print(f'Ele não disse isso, ele disse: {what_musk_said}')
Agora precisamos decidir com que frequência devemos iterar o código abaixo. Por padrão, ele puxa e analisa o último tweet de Elon uma vez a cada 5 segundos, mas isso pode ser ajustado no hora de dormir função abaixo.
#execute o código a cada 5 segundos
if __name__ == '__main__':
print('Pressione Ctrl-C / Ctrl-Q para parar.')
para i em count():
troca()
print(f'Iteração {i}')
time.sleep (5)
Foi um trabalho de projeto divertido e espero que você tenha gostado deste artigo. Por favor, siga-me se você gostou deste artigo. Para mais projetos de bots de criptografia, confira meu blog para mais bots de negociação de criptomoedas em Python
- &
- Acesso
- Conta
- ativo
- AI
- Todos os Produtos
- análise
- api
- Aplicação
- Aplicativos
- por aí
- artigo
- Pouco
- Bitcoin
- negociação bitcoin
- blockchain
- tecnologia blockchain
- Blog
- Bot
- bots
- corretor
- corretores
- BTC
- construir
- Prédio
- comprar
- comprar bitcoin
- Comprar
- chamada
- luta
- chatbot
- chatbots
- código
- Moeda
- Casal
- Criar
- Credenciais
- cripto
- Mercados Crypto
- cripto comercial
- criptomoedas
- comércio de criptografia
- dados,
- banco de dados
- Dev
- Developer
- DID
- Meio Ambiente
- equidade
- EU
- EV
- execução
- EY
- Foco
- seguir
- formato
- Diversão
- função
- Alta
- história
- Como funciona o dobrador de carta de canal
- Como Negociar
- HP
- hr
- HTTPS
- ia
- Crescimento
- INFORMAÇÕES
- integração
- IP
- IT
- chaves
- Rei
- Kx
- mais recente
- Nível
- LINK
- Lista
- carregar
- longo
- mercado
- Mercados
- março
- média
- menções
- mês
- Moon
- MT
- Navegação
- PNL
- oferecer
- aberto
- Opiniões
- ordem
- ordens
- Outros
- Outros
- Senha
- plataforma
- Plataformas
- presente
- preço
- Lucro
- projeto
- projetos
- Python
- RE
- Referência
- Registo
- Denunciar
- Recursos
- DESCANSO
- Retorna
- seguro
- conjunto
- Partilhar
- Baixo
- simples
- dormir
- So
- começo
- loja
- Estratégia
- verão
- ajuda
- suportes
- Interruptor
- .
- falando
- Dados Técnicos:
- Análise Técnica
- Tecnologia
- Tesla
- teste
- ensaio
- Os projetos
- tempo
- Tokens
- topo
- comércio
- trades
- Trading
- Botas de Negociação
- Training
- Tendências
- Tweet
- us
- valor
- Virtual
- Atividades:
- trabalho
- escrita