MetaTrader 5 Python User Group - como usar o Python no Metatrader - página 15

 
Maxim Dmitrievsky:

um comando e uma lista de parâmetros podem ser passados como uma cadeia, separados por separadores. Quando o Conselheiro Especialista desembrulha a mensagem, compreenderá o que fazer


O comando OrderSend ?

Qual deve ser o formato da corda? fio ? No exemplo da tomada, o fio da tomada mql5 é passadoao resultado: socketreceive(int sock,int timeout)...result+=CharArrayToString(rsp,0,rsp_len);. resultado doretorno;

 
slukin:

Comando OrderSend ?

Qual deve ser o formato da corda? fio ? No exemplo do socket, a string do mql5 socket client é passadapara o resultado: socketreceive(int sock,int timeout)...result+=CharArrayToString(rsp,0,rsp_len);. resultado doretorno;

não OrderSend() mas apenas uma string contendo os 3 primeiros caracteres, por exemplo "BUY", seguido de uma lista de argumentos: lot, take, sl. O Expert Advisor lê a string, vê as 3 primeiras letras comprar e forma um Trog Request

ou seja, basta conceber um simples protocolo de troca entre aplicações, de forma livre
 
Maxim Dmitrievsky:

não OrderSend() mas apenas uma string com os 3 primeiros caracteres, por exemplo "BUY", e depois uma lista de argumentos: lot, take, sl. O Expert Advisor lê a string, vê que as 3 primeiras letras são compradas e forma um pedido de trog

ou seja, basta pensar num simples protocolo de troca entre aplicações, de forma livre


Um exemplo de um promotor experiente seria muito útil.

 
Roffild:

Já liguei um Python completo ao terminal, e ainda está a usar tomadas e tubos de movimento lento para fazer a troca.

Se não for muito difícil, qual é a duração de um único teste em qualquer período de tempo?

Significa que estamos interessados em questionar quanto tempo de optimização no testador e se são possíveis cálculos incorrectos?

Em comentários anteriores escreveu que eu preciso de algum conhecimento de base em JAVA para o compreender.

Também conheço alguns C# e Python, posso programar em MQL4,5, posso dominar as vossas bibliotecas com bastante facilidade, quão mais difíceis podem ser?

 
slukin:

Um exemplo de um promotor experiente seria muito útil.

não há tempo para explicar, a menos que haja um artigo mais tarde, com exemplos

 
forexman77:

Se não for difícil escrever quanto tempo demora um único teste?

Ou seja, estou interessado na questão de saber por quanto tempo a optimização no testador e se existem cálculos incorrectos?

Em comentários anteriores escreveu que eu preciso de algum conhecimento de base em JAVA para o compreender.

Conheço alguns C# e Python, posso programar em MQL4,5, posso dominar as vossas bibliotecas com bastante facilidade, quão mais difíceis podem ser?

A optimização no Testador de Estratégia é a mesma que é habitual. Os cálculos incorrectos devidos a dados corrompidos durante a transferência para Python e vice-versa são excluídos, porque a transferência passa pela RAM e não por tomadas ou ficheiros instáveis.

Sim, pus na minha biblioteca código em MQL, Java e Python. Mas não tem de usar Java se não precisar de Apache Spark, etc.

 

MetaTrader 5 construir 2055 beta: integração com Python, C++ escopo semelhante e melhorias maciças no testador de estratégia

Terminal: Добавлено API для запроса данных из терминала MetaTrader 5 через приложения, использующие язык Python

Python é uma linguagem de programação moderna e de alto nível para o desenvolvimento de guiões e aplicações. Contém muitas bibliotecas para aprendizagem de máquinas, automatização de processos, análise e visualização de dados.

Opacote MetaTrader para Python foi concebido para a obtenção fácil e rápida de dados de troca através de comunicação interprocessada directamente a partir do terminal MetaTrader 5. Os dados assim obtidos podem ser ainda utilizados para cálculos estatísticos e aprendizagem de máquinas.



Ligando

  1. Descarregar a última versão do Python a partir dehttps://www.python.org/downloads/windows
  2. Ao instalar o Python verifique a caixa "Add Python X.X to PATH%", para que possa executar scripts em Python a partir da linha de comando.
  3. Instalar o módulo MetaTrader 5 a partir da linha de comando
    pip install MetaTrader5
  4. Adicionar pacotes matplotlib e pytz
    pip install matplotlib
    pip install pytz

Funções

  • MT5Initialize- estabelece a ligação ao terminal MetaTrader 5
  • MT5Shutdown- fecha a ligação previamente estabelecida com o terminal MetaTrader 5
  • MT5TerminalInfo- recebe o estado e os parâmetros do terminal MetaTrader 5 ligado
  • MT5Version- devolve a versão terminal MetaTrader 5
  • MT5WaitForTerminal- espera até que o terminal MetaTrader 5 se ligue ao servidor comercial
  • MT5CopyRatesFrom- recebe barras do terminal MetaTrader 5 a partir da data especificada
  • MT5CopyRatesFromPos- recebe barras do terminal MetaTrader 5 a partir do índice especificado
  • MT5CopyRatesRange- recebe barras no intervalo de datas especificado a partir do terminal MetaTrader 5
  • MT5CopyTicksFrom- recebe carraças do terminal MetaTrader 5 a partir da data especificada
  • MT5CopyTicksRange- recebe carraças para intervalo de datas especificado do terminal MetaTrader 5
Welcome to Python.org
Welcome to Python.org
  • 2019.05.15
  • www.python.org
The official home of the Python Programming Language
 

Então? Alguém está a trabalhar nessa direcção? Não parece entusiasmado.

Boa sorte

 
Vladimir Perervenko:

Então? Alguém está a trabalhar nessa direcção? Não parece entusiasmado.

Boa sorte

Não neste aqui. E uso píton para testes NS.
 
Roffild:

A optimização no testador é como habitualmente. Os cálculos incorrectos devidos à corrupção de dados durante a transferência de e para Python são excluídos, porque a transferência é feita via RAM, e não através de tomadas ou ficheiros instáveis.

Sim, pus na minha biblioteca código em MQL, Java e Python. Mas não tem de usar Java se não precisar de Apache Spark, etc.

Concordo que é mais rápido via memória, mas não concordo que as tomadas ou pips não sejam estáveis, e a velocidade louca da memória ao organizar um conector é desnecessária porque há uma troca de latência <--- (servidor intermédio é possível) ---> terminal, para o qual até centenas de tomadas consecutivas dentro de uma máquina são excessivamente suficientes...

Razão: