Python para negociação algorítmica

 

O MQL5 é una linguagem projetada e otimizada para criar aplicativos de negociação de alto desempenho nos mercados financeiros.

Ele oferece velocidade e desempenho superiores do que outras linguagens de programação especializadas usadas na negociação algorítmica, e sua sintaxe é semelhante ao C++.

O MQL5 suporta OpenCL e também oferece estatísticas prontas para uso, lógica difusa e bibliotecas ALGLIB. O ambiente de desenvolvimento do MetaEditor possui suporte nativo integrado para bibliotecas .NET com importações de funções "inteligentes", desse modo as bibliotecas .NET podem ser usadas sem escrever wrappers especiais. Ao desenvolver programas de negociação em MQL4/MQL5, é possível usar DLLs C++ de terceiros facilmente. Os arquivos com o código fonte C++ (CPP e H) podem ser editados da mesma forma que os arquivos MQ4, MQ5 e MQH.


Python é uma linguagem de aprendizado de máquina popular graças às suas extensas bibliotecas e ferramentas para análise de dados e cálculos computacionais, como NumPy, Pandas e Scikit-learn.

Ele também oferece suporte às estruturas de aprendizado de máquina TensorFlow e PyTorch para criar e treinar redes neurais complexas. A popularidade do Python na comunidade de aprendizado de máquina revela que há muitos recursos e comunidades online disponíveis para os desenvolvedores aprenderem e compartilharem conhecimento.


O pacote do Python para integração permite receber informações do mercado por meio de comunicação entre processos diretamente do terminal MetaTrader 5, bem como realizar operações de negociação e usar os dados recebidos para cálculos estatísticos e aprendizado de máquina.

 

Introduction & Setup



Introduction & Setup | Trading with Python

Trading with Python series is introduced in this video, which covers the basics of setting up Python and opening a trading account with a broker. The tutorial walks through the process of downloading Python and MT5 IDE, installing the MetaTrader5 library, and creating a Python script to open a trade. The speaker explains using IOC and GTC methods for filling orders and demonstrates how the script sends the order to the MT5 server. The video ends with a successful order execution and an invitation to subscribe to the channel.

  • 00:00:00 In this section, the video provides an introduction to the Trading with Python series, covering how to get started with python, how to open a trading account with a broker, and how to write Python programs in Meta Editor, which is the MT5 IDE. The video walks through downloading Python, making sure it is added to the path, installing the MetaTrader5 library, and opening the Meta Editor to create your first Python script. To demonstrate the process, the video provides an example script to open a trade, defining the symbol, lot size, price, stop loss, take profit, deviation, magic number, and comments. The script is run in the MetaTrader5 platform, resulting in the opening of a trade.

  • 00:05:00 In this section, the speaker discusses using GTC (go to cancel) and IOC (immediate or cancel) methods for filling orders, with IOC being an order type that partially fills an order and cancels the rest if it cannot be completely filled. They then explain how the script sends the order to the MT5 server and includes a print statement to confirm whether the order was successful or failed. The demonstration of the script on MT5 shows a successful order was executed. Finally, the video concludes, and the speaker thanks the viewers for watching and invites them to subscribe to the channel.
Introduction & Setup | Trading with Python #0
Introduction & Setup | Trading with Python #0
  • 2021.10.27
  • www.youtube.com
In this video I will show you:- how to set up Python- how to open a trading account- write code in MetaEditor- create a Python script that can run in MetaTra...
 

Jupyter Notebook e dados de mercado



Caderno Jupyter e dados de mercado | Negociando com Python #1

O vídeo "Jupyter Notebook & Market Data | Trading with Python #1" apresenta aos espectadores o Jupyter Notebook e os dados de mercado. O Jupyter Notebook é um ambiente de codificação popular baseado na Web usado para visualização e análise de dados, desenvolvimento de estratégias e backtesting. Os visualizadores podem acessar dados de mercado, como dados técnicos e dados OHLC, extraindo símbolos de trilha do Metatrader 5 e solicitando dados de mercado. O narrador demonstra como obter preços bid e ask com Python usando a biblioteca datetime e como solicitar dados periodicamente por meio de um loop while usando o módulo time, resultando em atualizações em tempo real.

  • 00:00:00 Nesta seção, os visualizadores são apresentados ao Jupyter Notebook e aos dados de mercado. O Jupyter Notebook é um ambiente de codificação baseado na Web popular entre cientistas de dados e especialistas em máquinas e funciona como Django para visualização de dados. As vantagens dos notebooks Jupyter incluem análise de dados, visualização, desenvolvimento de estratégia e backtesting. Enquanto isso, os visualizadores podem usar certos dados de mercado, como dados técnicos e dados OHLC, extraindo símbolos de trilha do Metatrader 5 e solicitando dados de mercado. Os visualizadores também podem implantar estratégias de negociação no ambiente MT5 para gerenciar seus riscos e monitorar suas negociações. O vídeo explica como instalar o Jupiter Notebook usando pip e como criar um diretório chamado Trading With Python antes de passar para o servidor Jupiter. Por fim, para solicitar dados de preço de um símbolo específico, os visualizadores podem usar o código “carrapato de informação do símbolo de cinco pontos vazio”.

  • 00:05:00 Nesta seção do vídeo, o narrador demonstra como obter preços de compra e venda com Python usando a biblioteca datetime. Eles primeiro mostram como converter um timestamp Unix em um objeto datetime e como solicitar dados periodicamente por meio de um loop while usando o módulo time. A saída resultante exibe os preços de compra e venda atualizados em tempo real.
Jupyter Notebook & Market Data | Trading with Python #1
Jupyter Notebook & Market Data | Trading with Python #1
  • 2021.10.28
  • www.youtube.com
In this video I will show you:-How to setup Jupyter Notebook Environment-Extract Tradable symbols from MetaTrader5-Request Market DataPlaylist with all Tradi...
 

Conecte o Python ao MetaTrader 5



Conecte o Python ao MetaTrader5

O tutorial em vídeo demonstra como integrar o Python com a plataforma MetaTrader 5, incluindo a importação de bibliotecas necessárias, como pandas e plotly, inicialização e login em uma conta de negociação, recuperação de informações da conta e obtenção de dados para símbolos, incluindo preço atual, dados OHLC e ticks e transações históricas. O tutorial também aborda como interagir com a plataforma por meio do Python para visualizar pedidos, enviar negociações para abrir e fechar posições e fechar posições usando IDs de ticket. O apresentador incentiva os espectadores a fazerem perguntas sobre o processo de integração.

  • 00:00:00 Nesta seção, o tutorial em vídeo apresenta a integração do Python na plataforma MetaTrader 5. A plataforma possui sua própria documentação onde os indivíduos podem solicitar dados de mercado, analisar dados e executar negociações usando estratégia algorítmica. Para trabalhar com Python, o vídeo explica os comandos mais básicos importando as bibliotecas MetaTrader5, pandas, plotly e datetime. O vídeo mostra como inicializar e fazer login em uma conta comercial, bem como recuperar informações da conta, como número de login, alavancagem, saldo e patrimônio. A seção termina com uma explicação de como usar mt.symbolstotal para obter o número total de símbolos oferecidos pela corretora e como usar empty.symbols get para recuperar dados como requisitos de margem e tamanhos de contrato para cada símbolo.

  • 00:05:00 Nesta seção, o palestrante discute como obter dados de um símbolo usando Python e MetaTrader 5. O palestrante explica que, usando o comando de obtenção de símbolos de ponto vazio, pode-se obter dados para todos os símbolos, enquanto usando ponto vazio as informações do símbolo com o nome do símbolo específico retornarão dados apenas para esse símbolo. O palestrante também mostra como obter o preço atual do símbolo usando o tick de informações do símbolo e como obter os dados de abertura, alta, baixa e fechamento (OHLC) ou dados de velas usando o intervalo de taxas de cópia de ponto vazio. Ao realizar a análise de dados e calibrar indicadores com base nesses dados, pode-se desenvolver suas próprias estratégias de negociação. Por fim, o palestrante demonstra como verificar os ticks e transações reais do símbolo usando o intervalo de ticks de cópia de ponto mt para ver o histórico de todos os preços de compra e venda na plataforma.

  • 00:10:00 Nesta seção do vídeo, o foco é como interagir com a plataforma MetaTrader5 usando Python. Os usuários podem obter o número total de pedidos atuais, verificar mais detalhes sobre pedidos e posições e visualizar pedidos e negócios históricos. Além disso, os visualizadores podem aprender como enviar uma negociação do Python para o MetaTrader 5 para abrir e fechar posições.

  • 00:15:00 Nesta seção, o vídeo explica como abrir e fechar negócios através do Python usando o MetaTrader5. A solicitação no MetaTrader5 precisa ter parâmetros como ação, símbolo, volume, tipo, stop loss, take profit, desvio, magic, comentário, hora da ordem e preenchimento do tipo. O vídeo então mostra como habilitar o algo trading e executar a ordem através do Python, que confirma a abertura de uma posição através da plataforma. Por fim, o vídeo explica como fechar uma posição especificando o número e o volume da posição e demonstra por meio do Python que é possível fechar uma posição com um ID de ticket específico por meio do MetaTrader5.

  • 00:20:00 Nesta seção do vídeo, o apresentador demonstra como fechar uma posição usando Python com MetaTrader5. Ele mostra que, copiando o ID do ticket da posição, pode-se substituí-lo pela posição que precisa ser fechada. Com a substituição bem-sucedida, a posição é fechada e a plataforma mostra zero posições abertas. O apresentador convida os espectadores a fazerem perguntas sobre a documentação do MetaTrader5 ou a integração do script Python no MetaTrader5 na seção de comentários.
Connect Python to MetaTrader5
Connect Python to MetaTrader5
  • 2021.10.04
  • www.youtube.com
Hey everyone, in this video, we will look at the MetaTrader5 Python integration.Download my code here: https://traderpy.com/2021/10/09/connect-python-to-meta...
 

Codifique um Robô de Negociação Simples



Codifique um Robô de Negociação Simples | Negociando com Python

O tutorial em vídeo demonstra como codificar um robô de negociação simples em Python usando a plataforma MetaTrader 5. O robô usa uma estratégia simples de cruzamento de média móvel, com a compra ocorrendo quando uma vela fecha acima da média móvel e a venda quando a vela fecha abaixo dela. O apresentador explica o código escrito em Python para essa estratégia, incluindo funções para ordens de mercado, ordens de fechamento e obtenção de exposição para símbolos específicos. A função de sinal gera sinais de negociação com base na estratégia e as configurações do robô definem os parâmetros para o símbolo, volume, prazo e desvio. O vídeo também aborda a lógica da estratégia de negociação e o código necessário para implementá-la, com sinais de compra e venda que levam a ordens de compra ou venda, respectivamente. Os espectadores são incentivados a sugerir ideias ou estratégias de negociação para possíveis tópicos de vídeo.

  • 00:00:00 Nesta seção do tutorial em vídeo, o criador explica como codificar um robô de negociação simples usando Python e a plataforma MetaTrader 5 (MT5). O robô de negociação usa a estratégia de cruzamento de média móvel simples, onde a compra ocorre quando a vela fecha acima da média móvel e a venda ocorre quando a vela fecha abaixo dela. O criador demonstra o código escrito em Python para esta estratégia, que inclui funções desenvolvidas para facilitar a codificação de uma estratégia de negociação automatizada. Essas funções incluem ordem de mercado para colocar ordens, fechar ordem para fechar ordens e obter exposição para obter a exposição de um determinado símbolo. O criador também explica a função de sinal usada para gerar sinais de negociação com base na estratégia simples de cruzamento de média móvel. Por fim, o criador elabora os parâmetros de símbolo, volume, período de tempo e desvio necessários para definir as configurações da estratégia de negociação para o robô.

  • 00:05:00 Nesta seção, o apresentador percorre a lógica da estratégia de negociação e o código necessário para implementá-la. A estratégia usa as funções definidas nas seções anteriores para comprar ou vender com base em um sinal gerado pelo código. Se for dado um sinal de compra, o código verifica se há posições curtas abertas e as fecha antes de criar uma ordem de compra, caso não exista. O oposto acontece com um sinal de venda. O código também inclui instruções print para fornecer informações sobre a estratégia e usa a função sleep para atualizar a estratégia a cada segundo. O apresentador mostra como adicionar a estratégia à plataforma MT5 e executá-la. Eles também incentivam os espectadores a deixar ideias ou estratégias de negociação na seção de comentários para possíveis tópicos de vídeo.
Code a simple Trading Robot | Trading with Python
Code a simple Trading Robot | Trading with Python
  • 2021.10.29
  • www.youtube.com
In this video I will show you:- How to code a simple trading robot- How to deploy the robot to trade through MetaTrader5Playlist with all Trading with Python...
 

Como enviar Ordens ao Mercado



Como enviar Ordens ao Mercado | Negociando com Python #3

Neste tutorial em vídeo, o apresentador demonstra como enviar ordens de mercado usando Python e MetaTrader 5. O tutorial abrange a criação de um dicionário de solicitações com parâmetros para uma ordem de mercado, incluindo ação de negociação, símbolo, volume e tipo de ordem, bem como parâmetros adicionais como stop loss, take profit, desvio e comentário. O vídeo também aborda o fechamento de posições abertas usando o método de obtenção de posições e passando o número do ticket do pedido. O tutorial então passa para abrir uma ordem de limite ou parada com especificações de preço, volume e outros parâmetros, e modificar e excluir ordens usando os comandos mt5.trade action stop loss take profit e mt5.trade action remove, respectivamente.

  • 00:00:00 Nesta seção, o tutorial em vídeo demonstra como enviar ordens de mercado para uma plataforma de negociação usando Python e MetaTrader 5. O tutorial explica que uma ordem de mercado é um tipo de ordem que abrirá instantaneamente uma posição de compra ou venda em o preço atual. O apresentador ilustra como criar um dicionário de pedidos com os parâmetros para uma ordem de mercado, incluindo a especificação da ação de negociação, símbolo, volume e tipo de ordem. Ele também cobre parâmetros adicionais, como stop-loss e take-profit, desvio e comentário, e explica como passar o dicionário para o envio de pedidos. Por fim, o tutorial mostra como fechar uma posição aberta usando posições get e passando o número do ticket da ordem.

  • 00:05:00 Nesta seção, o vídeo explica como fechar posições na plataforma. A função de ação de negociação deve especificar a posição e o tipo de ordem e o volume deve ser especificado em caso de fechamento parcial. O vídeo passa a explicar como abrir uma ordem limitada com o preço, volume, tipo e outras especificações desejadas, como stop loss, take profit e comentário. O mesmo método pode ser usado para ordens de parada, e para modificar ordens, o número do bilhete existente deve ser obtido e, em seguida, as novas especificações devem ser inseridas.
    |
  • 00:10:00 Nesta seção, o palestrante explica como modificar pedidos e excluí-los usando Python no MT5. Para modificar uma ordem, o trader precisa usar o comando mt5.trade action stop loss take profit com quatro parâmetros: stop loss, take profit, id da posição e valores. Ao especificar essas entradas, o trader pode atualizar seus valores de stop loss e take profit. Para excluir ordens, eles precisam usar o comando mt5.trade action remove com um parâmetro, o número da ordem do ticket, que pode ser encontrado na seção de ordens pendentes. Ao fazer isso, o trader pode excluir quaisquer ordens pendentes que não tenham sido executadas após um determinado período de tempo.
How to send Orders to the Market | Trading with Python #3
How to send Orders to the Market | Trading with Python #3
  • 2021.10.30
  • www.youtube.com
In this video I will show you:- How to send Orders to the MarketPlaylist with all Trading with Python videos:https://www.youtube.com/playlist?list=PLNzr8RBV5...
 

Como fechar TODAS as posições



Como fechar TODAS as posições | Negociando com Python #4

O tutorial em vídeo demonstra como usar o Python para fechar todas as posições na plataforma de negociação MetaTrader 5. Isso implica importar a biblioteca MetaTrader5 e usar o método mt5.positions.get para recuperar a lista atual de posições abertas. Uma função 'close_position' é então definida, utilizando o método mt5.symbol_info_tick para obter o preço atual e um dicionário de solicitação para se comunicar com a plataforma de negociação. O programa percorre a lista de posições abertas, passando cada posição para a função 'close_position' para fechar cada negociação. O narrador fornece um link para o código e a lista de reprodução do tutorial para treinamento adicional em Python.

How to close ALL positions | Trading with Python #4
How to close ALL positions | Trading with Python #4
  • 2021.10.31
  • www.youtube.com
In this video I will show you:- How to close ALL Positions in MetaTrader5 through PythonPlaylist with all Trading with Python videos:https://www.youtube.com/...
 

Extrair e visualizar dados



Extrair e visualizar dados | Negociando com Python #5

O vídeo demonstra como extrair e visualizar dados OHLC diários para o símbolo EURUSD do MetaTrader 5 usando Python. O processo envolve a importação de bibliotecas como MetaTrader 5, pandas e Plotly.graph_objects para visualização de dados. Os dados extraídos são convertidos em um dataframe do Pandas e visualizados usando a função OHLC do Plotly. O apresentador também mostra como ocultar o controle deslizante de intervalo no gráfico e fornece links para baixar o código e mais vídeos sobre Trading with Python.

Extract and Visualize Data | Trading with Python #5
Extract and Visualize Data | Trading with Python #5
  • 2021.11.01
  • www.youtube.com
In this video I will show you:- How to Extract and Visualize Data in MetaTrader5 through PythonPlaylist with all Trading with Python videos:https://www.youtu...
 

Codifique um Trailing Stoploss



Codifique um stoploss final | Negociando com Python #6

O vídeo mostra como criar um robô de trailing stop loss, utilizando Python. O apresentador explica como um trailing stop loss pode beneficiar os traders, limitando as perdas e maximizando os lucros. O vídeo aborda a configuração das variáveis necessárias e conexões com a plataforma do drive, além da recuperação de dados e definição das distâncias máximas entre o preço atual e o stop loss. O apresentador também demonstra como a função stop-loss segue o lucro, atualiza para o ponto de equilíbrio no caso de uma quebra e é capaz de atualizar com base no preço atual. No geral, o vídeo serve como uma demonstração útil de como o Python pode ser usado para rastrear posições.

  • 00:00:00 Nesta seção, o vídeo demonstra como codificar um robô de trailing stop loss usando Python. O vídeo começa explicando como um trailing stop loss pode ajudar os traders a limitar as perdas e maximizar os lucros. O apresentador mostra como definir as variáveis de configuração necessárias e conectar o Python à plataforma do drive antes de obter os dados necessários da posição aberta. A seguir, o vídeo mostra como calcular a distância entre o preço atual e o stop loss e definir a distância máxima entre eles. Finalmente, o apresentador demonstra como usar a função codificada para aplicar um stop loss em posições abertas usando a plataforma MetaTrader 5.

  • 00:05:00 Nesta seção, o vídeo mostra a configuração do stop loss máximo, quantidade de preenchimento e stop loss padrão. O script permite que o stop loss seja atualizado com base no preço atual, com um limite de seis pips de distância do stop loss e um stop loss de negociação em três pips quando exceder o stop loss máximo. O script também aplica um stop loss de 3 pips abaixo do preço de compra se não houver stop loss para a posição. O vídeo demonstra como o stop loss segue o lucro, bem como como ele é atualizado para o ponto de equilíbrio em caso de rompimento. Apesar da posição de negociação sem intercorrências no vídeo, a demonstração mostra como o Python pode ser usado para rastrear posições.
Code a Trailing Stoploss | Trading with Python #6
Code a Trailing Stoploss | Trading with Python #6
  • 2021.11.03
  • www.youtube.com
In this video I will show you:- Code a Trailing Stoploss for MetaTrader5 through PythonPlaylist with all Trading with Python videos:https://www.youtube.com/p...
 

Gerencie suas posições com o Tkinter



Gerencie suas posições com Tkinter | Negociando com Python #7

Nesta seção do vídeo, o apresentador demonstra como usar o Tkinter para criar um aplicativo Python que pode gerenciar e fechar posições abertas remotamente na plataforma MetaTrader 5. O aplicativo permite que os usuários monitorem as atualizações em tempo real e fechem as posições com desvios para limitar a derrapagem. Ele usa uma caixa de listagem para exibir as posições abertas e possui um botão de fechamento vinculado a um comando de fechamento de posição com um elemento de desvio definido usando um rótulo e uma entrada. O código do aplicativo está disponível para download gratuito no site do apresentador, e o vídeo explica passo a passo como criar a GUI, inicializar a plataforma MetaTrader 5 e usar funções para monitorar e fechar posições.

  • 00:00:00 Nesta seção do vídeo, o apresentador explica como usar o Tkinter e a plataforma MetaTrader 5 para criar um aplicativo Python que pode monitorar e fechar posições abertas remotamente. O aplicativo se conecta à biblioteca MetaTrader 5 para monitorar as atualizações em tempo real, com desvios para limitar a derrapagem. O código do aplicativo pode ser baixado gratuitamente no site do apresentador, e o vídeo explica passo a passo como criar a GUI, inicializar a plataforma MetaTrader 5 e usar funções para monitorar e fechar posições. O vídeo também inclui uma demonstração do aplicativo em ação.

  • 00:05:00 Nesta seção do vídeo, o criador discute o recurso mais avançado de gerenciamento de posições abertas usando o Tkinter. As posições em aberto são salvas em uma variável string e obtidas através da função "obter posições em aberto", que está vinculada à plataforma do motorista do usuário. Essas posições são exibidas usando uma caixa de listagem Tkinter que permite selecionar e fechar várias posições simultaneamente. O botão fechar está vinculado a um comando de posição fechada que se refere a um elemento de desvio definido usando um rótulo e uma entrada. Por fim, o programa é configurado para atualizar as posições em tempo real e pode ser executado usando o loop principal do ponto raiz. O código está disponível no site do criador.

  • 00:10:00 Desculpe, parece não haver nenhum trecho da transcrição fornecido para eu resumir. O texto que você forneceu é a call-to-action de fim de vídeo do criador. Se você tiver algum trecho específico da transcrição, ficarei feliz em fornecer um resumo.
Manage your positions with Tkinter | Trading with Python #7
Manage your positions with Tkinter | Trading with Python #7
  • 2021.11.04
  • www.youtube.com
In this video, we will create a Tkinter app with Python to manage our positions in MetaTrader5.Playlist with all Trading with Python videos:https://www.youtu...
 

SEJA PAGO por manter suas negociações abertas



SEJA PAGO por manter suas negociações abertas | Negociando com Python #8

O vídeo discute o carry trading, que envolve corretores pagando aos traders uma pequena quantia todos os dias para manter posições abertas em suas contas, também conhecido como negociação positiva de ações. O objetivo é identificar os símbolos que oferecem swaps positivos para decidir se vale a pena negociá-los ou não. O vídeo fornece tabelas que mostram símbolos com trocas positivas nos lados longo e curto. A realização de negociações é recomendada para negociações de longo prazo com duração de dias ou semanas, e os traders devem monitorar os valores de swap, pois os corretores podem atualizá-los a qualquer momento.

GET PAID for holding your Trades open | Trading with Python #8
GET PAID for holding your Trades open | Trading with Python #8
  • 2021.11.05
  • www.youtube.com
In this video, we will discuss Carry Trading and Positive Swaps and how to find them.Playlist with all Trading with Python videos:https://www.youtube.com/pla...