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

 
Maxim Dmitrievsky:

Fi-lo em carraças, filtrei todo o tipo de carraças e depois em preços de abertura - não notei uma grande diferença no encaixe. Nos minutos, o rand médio é pequeno como é. E o sistema trava mais vezes, porque leva muito tempo a caber num longo período, sim. Como resultado, óptimos 15 (por vezes 5) minutos assombram-me. Não tenho feito algo mais rápido devido à falta de antecedentes teóricos de amarração e processamento de sinais (a níveis baixos, é o que rege), mas posso tentar em breve.

Tudo será mais lento a testar em píton. Se todas as coisas desnecessárias forem removidas, pode ser que não haja problema.
Também utilizo preços próximos, mas em m1 para poupar recursos. Os tiques não significam nada em forex de qualquer maneira. Gostaria de utilizar carraças e análises de acordos realizados sobre troca de dados, mas ainda não tenho tempo para o fazer. Mas por vezes preciso de o executar no testador usando carraças reais para comparar a forma como o algoritmo funciona em dados reais em conjunto com o testador.
 
Renat Fatkhullin:

Esta é uma forma de integração.

Ou seja, a partir de Python/R pode solicitar dados a partir do terminal MetaTrader 5. O próprio terminal não sabe nada sobre os utilizadores externos e não lhes transmite nada. Ainda mais por parte do provador.

Os pacotes de integração são concebidos para permitir aos analistas a utilização de dados de mercado no seu ambiente.

Obrigado! Era isso que eu queria descobrir.
 
Maxim Romanov:
Também utilizo preços de fecho, mas em m1 para poupar recursos. Os tiques não significam nada em forex de qualquer maneira. Queria utilizar carraças e análises de negócios realizados em troca de dados, mas ainda não tenho tempo para o fazer. Mas por vezes preciso de o executar no testador usando carraças reais para comparar a forma como o algoritmo funciona em dados reais em conjunto com o testador.

a minha imma é que as carraças são pesadas com todas as implicações, ou seja, uma abordagem diferente. Trabalhar com fluxos de carrapatos de múltiplas fontes\símbolos. Em forex é quase irrealista a longo prazo, demasiado tóxico. No mercado de troca também não é muito bom, já há alguns comerciantes qualificados sentados na mesa de colocação e a matar as suas estratégias com o seu fluxo de encomendas. No final, algo no meio, meio cheio de ruído, mas graças ao MO pode retirá-lo. Bem, o MO médio / longo também é OK, mas o lucro irá cair proporcionalmente.

 
Maxim Dmitrievsky:

a minha imma é que as carraças são pesadas com todas as implicações, ou seja, uma abordagem diferente. Trabalhar com fluxos de carrapatos de múltiplas fontes\símbolos. Em forex é quase irrealista a longo prazo, demasiado tóxico. No mercado de troca também não é muito bom, já há alguns comerciantes qualificados sentados na mesa de colocação e a matar as suas estratégias com o seu fluxo de encomendas. No final, algo no meio, meio cheio de ruído, mas graças ao MO pode retirá-lo. Bem, um MO de médio-longo prazo também é OK, mas os lucros cairão proporcionalmente.

A ligação entre as carraças e o HFT é um mito. As carraças são uma forma de aumentar a expectativa de maturidade do TS. Nada mais. Se o MO aumentar 5 pips, sendo todas as outras coisas iguais, este é um excelente resultado. Naturalmente, estamos a falar de centenas de comércios por mês.

 
Isso é um bom ponto de vista. Um gráfico de carrapato, não um capricho, não sonhos HFT, etc., mas apenas precisão.
 
fxsaber:

A ligação entre as carraças e o HFT é um mito. As carraças são uma forma de aumentar a expectativa de maturidade do TS. Nada mais. Se for possível aumentar o MO em 5 pips, sendo todas as outras coisas iguais, é um excelente resultado. Naturalmente, estamos a falar de centenas de comércios por mês.

Caso contrário, 5 pips não teriam tal efeito. Em termos de comércio de DT (sem contar que tem algum especial), isto é um erro estatístico

mas vá lá, o tópico é sobre píton
 
fxsaber:

Será que a matriz de bytes para estruturar a matriz (e a matriz posterior) em Python estará lá?

Onde posso saber mais sobre tal fundição em MQL? Vejo que a POD de estruturas para byte array e back é possível. Não compreendo muito sobre o conjunto de estruturas.

Se os copiar sequencialmente a partir da matriz mas precisar de descobrir o protocolo, como processar o fluxo de bytes do outro lado. Não sei como fazer isto de forma inteligente.

 
Maxim Dmitrievsky:

Onde posso saber mais sobre tal fundição em MQL? Vejo que as estruturas POD para a matriz de bytes e vice versa são possíveis. Não compreendo muito sobre o conjunto de estruturas.

Se os copiar sequencialmente da matriz mas precisar de descobrir o protocolo do outro lado para processar o fluxo de bytes. Não sei como fazer isto de forma inteligente.

como habitualmente byte por byte, a biblioteca Python tem um pacote que representa os tipos fundamentais numa forma pura, por exemplo, ler a matriz de bytes recebidos no offset correcto na estrutura de dados, e a secção de leitura convertida para o formato desejado

 
Maxim Dmitrievsky:

Onde posso saber mais sobre tal fundição em MQL? Vejo que as estruturas POD para a matriz de bytes e vice versa são possíveis. Não compreendo muito sobre o conjunto de estruturas.

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

Bibliotecas: TradeTransactions

fxsaber, 2019.03.15 07:36

// Быстрый кастинг массивов.
#include <fxsaber\TradeTransactions\Convert.mqh> // https://www.mql5.com/ru/code/22166

void OnStart()
{
  MqlTick Ticks[];

  MqlRates Rates[];  
  CopyRates(_Symbol, PERIOD_CURRENT, 0, 10, Rates); // Получили котировки.
  CONVERT::ArrayToArray(Rates, Ticks);              // Кастинг MqlRates[] -> MqlTick[].

  MqlRates Rates2[];    
  CONVERT::ArrayToArray(Ticks, Rates2);             // Кастинг MqlTick[] -> MqlRates[].
  ArrayPrint(Rates2);                               // Убедились, что все корректно.
}
 
fxsaber:

ou seja, é possível converter uma matriz de estrutura para uma matriz de bytes para passar para uma tomada? então é estranho porque é que a estrutura padrãoToChar não faz isso.


Razão: