Import Data & Virtual Tester (Desenvolvimento)

 

Inspirado pelo tema aqui, em minha opinião, falta ao MT5 com toda sua força algumas opções viáveis. Isto não é um tópico sobre o porquê de a MetaQuotes não me ter dado. Mas sim, como posso encontrar soluções para o problema. Parece que ter controle de dados e informações sobre o mercado não seria implementado dentro de nossa geração de meta-operadores. Então, por que isso é importante? Vou dar algumas razões abaixo.

1) Minha média de corretores se espalha no EURJPY, por exemplo, é muito mais baixa do que a dos dados de inadimplência - como posso testar com esta média de spreads mais baixos e vice-versa? Corretor não-mt5.

2) Meu sistema é projetado para mercados de gama, como meu sistema lidaria com um mercado de tendências prolongadas. Meu algoritmo é bom o suficiente para mantê-lo fora de fase? Vice-versa para Trending.

3) Acredito que os mercados são Aleatórios, como testar este sistema em alguns Dados Aleatórios e comparar os resultados com os Dados Reais?

4) Meu corretor/vendedor ... me deu/vendeu toneladas de dados de alta qualidade, mas eles não têm um servidor mt5, como eu poderia colocá-los no mt5 para realizar meus back-tests?

5) Eu acredito que a Real-Ticks não gera ticks com algoritmos. Guardei meus ticks durante os últimos x-anos e preferiria usar isso, quais são minhas opções?

6) Eu quero confiança e melhor controle do meio ambiente[informação de mercado] e dos dados[preço|tempo|spreads], o que eu faço a respeito disso?

Eu tinha mais razões, mas de alguma forma não consigo me lembrar de todas elas neste momento. Espero ouvir suas razões :)

 

A Meta:

Eu acredito que o objetivo deve ser simples. E o objetivo simples que tenho em mente é conseguir que o testador de estratégia mt5 utilize dados dentro de um formato .csv | .hst. Todas as outras coisas boas podem vir mais tarde.

Acredito que a primeira fase de discussão deve ser "isto é viável". A questão óbvia aqui é "por que mt5". Como mencionei, é mais poderoso que seu predecessor. A maioria de nós [quem cuida], estamos fortemente investidos na linguagem do mql*. Além disso, discutir outras plataformas não vai dar certo neste site. E por último, reinventar a roda está fora de questão.

Como tal, estou procurando idéias para incorporar como-muito-possível a partir do que temos. Portanto, vamos ouvir essas pessoas brilhantes de idéias!

1> Estou pensando que se essas MODAS DE EMULAÇÃO pudessem ser totalmente aproveitadas dentro do período de teste, isso tornaria possível. Além disso, ter a capacidade de Dormir dentro do testador de costas também seria uma ferramenta útil. Ainda estou pesquisando isso e dando uma olhada nas coisas virtuais já desenvolvidas atualmente. Desculpe se não parece que eu conheça minhas coisas, mas há uma demanda por este tópico e é por isso que eu preciso de vocês. Abraço.

 
Ubzen:

A Meta:

Eu acredito que o objetivo deve ser simples. E o objetivo simples que tenho em mente é conseguir que o testador de estratégia mt5 utilize dados dentro de um formato .csv | .hst. Todas as outras coisas boas podem vir mais tarde.

Acredito que a primeira fase de discussão deve ser "isto é viável". A questão óbvia aqui é "por que mt5". Como mencionei, é mais poderoso que seu predecessor. A maioria de nós [quem cuida], estamos fortemente investidos na linguagem do mql*. Além disso, discutir outras plataformas não vai dar certo neste site. E por último, reinventar a roda está fora de questão.

Como tal, estou procurando idéias para incorporar como-muito-possível a partir do que temos. Portanto, vamos ouvir essas pessoas brilhantes de idéias!

1> Estou pensando que se essas MODAS DE EMULAÇÃO pudessem ser totalmente aproveitadas dentro do período de teste, isso tornaria possível. Além disso, ter a capacidade de Dormir dentro do testador de costas também seria uma ferramenta útil. Ainda estou pesquisando isso e dando uma olhada nas coisas virtuais já desenvolvidas atualmente. Desculpe se não parece que eu conheça minhas coisas, mas há uma demanda por este tópico e é por isso que eu preciso de vocês. Abraço.

Por favor, estejam cientes de que o Testador de Estratégia ainda é, até onde posso ver, um trabalho em andamento. Descobri em primeira mão que algumas coisas simplesmente não funcionam, muitos tipos de Objetos são suportados, mas você não pode clicar com o botão direito no gráfico e ver uma lista de Objetos, então seja um pouco cauteloso ao desenhar uma solução, o que você desenhar pode não ser suportado. Se, por exemplo, você criou alguns produtos para o Mercado que se baseavam em Button Objects ou ChartGetInteger() com CHART_FIRST_VISIBLE_BARS, CHART_VISIBLE_BARS, CHART_WIDTH_IN_PIXELS e CHART_HEIGHT_IN_PIXELS, então você teria produtos que não poderiam ser experimentados como produtos Demo, pois estas funções/características não funcionam no Testador de Estratégia.

O que mais não funciona no Testador de Estratégias?

O que realmente precisamos é de Metaquotes para codificar uma aplicação local do History Data Server. Ele não apenas gerenciaria nossos dados de Histórico armazenados, mas também nos permitiria criar nossos próprios Symbols, personalizando as propriedades do Symbol. . os testes posteriores com gráficos offline seriam fáceis.

Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
Documentation on MQL5: Standard Constants, Enumerations and Structures / Environment State / Symbol Properties
  • www.mql5.com
Standard Constants, Enumerations and Structures / Environment State / Symbol Properties - Documentation on MQL5
 
Ubzen:

A Meta:

Eu acredito que o objetivo deve ser simples. E o objetivo simples que tenho em mente é conseguir que o testador de estratégia mt5 utilize dados dentro de um formato .csv | .hst. Todas as outras coisas boas podem vir mais tarde.

...

Como isto pode ser possível? Nós não temos nenhum controle sobre o testador de estratégia. Temos apenas 2 opções, penso eu:

  1. Usar o Testador de Estratégia como está, e tentar trabalhar os dados. ST usar o arquivo .hcs, cuja estrutura é desconhecida no momento, AFAIK. Isto é possível para substituir este arquivo pelo seu próprio e obter alguns resultados?
  2. Use um Testador de Estratégia Virtual, no qual temos total controle. Isto significa mais trabalho , mas também mais independência, enquanto não depende mais demudanças no formato hcs ,por exemplo.

Podemos investigar as 2 opções. Minha idéia foi mais sobre a segunda.

 

Escrever um sistema completo não é uma tarefa simples, mas é um objetivo realizável.

Entretanto, no momento em que você começar a escrever tal sistema, você estará gastando seu tempo no desenvolvimento deste sistema, e não no comércio ou desenvolvimento de sistemas de comércio. Porque a quantidade de trabalho é interminável.

A principal decisão a ser tomada, é a de decidir construir seu próprio sistema. Você tem que sair completamente do MT5, caso contrário você terá que sempre e continuamente fazer algum tipo de compromisso, e escrever código duplo (como é agora para o MT4-MT5). Além disso, algumas grandes coisas como agentes de teste de estratégia não são tão fáceis de implementar.

pelo menos uma estruturajá existente , portanto, algo assim deve ser usado.

Let me google that for you
Let me google that for you
  • bit.ly
Let Me Google That For You
 
graziani:

Escrever um sistema completo não é uma tarefa simples, mas é um objetivo realizável.

Estou interessado em entender como você faria isso funcionar com EA e indicadores mql5 codificados ?
 
RaptorUK:
Estou interessado em entender como você faria para que funcionasse com as EA e indicadores mql5 codificados ?

não é possível. você tem que sair do MT5. todas as futuras EA/indicadores são escritos fora do MT4/MT5, então você usa o MT4/MT5 como fornecedor de tick stream e para execução de pedidos.

para fins de backtest, você pode fazer engenharia reversa no formato de banco de dados ( proibido mas realizável), e substituir M1 por registros S1 (um segundo, não um tick), e depois apenas correr através do histórico M1 no ST. mas não vejo nenhuma utilidade para isso, porque para o live stream, você tem que escrever uma EA completamente diferente, que tem que usar indicadores internos como deveria estar processando o tick stream coletado, e não arrays de histórico.

Meu ponto era que, ao iniciar tal projeto, estaríamos nos concentrando na construção de outro 'MT4/5' e não no comércio.

 
graziani:

não é possível. você tem que sair do MT5. todas as futuras EA/indicadores são escritos fora do MT4/MT5, então você usa o MT4/MT5 como fornecedor de tick stream e para execução de pedidos.

para fins de backtest, você pode fazer engenharia reversa no formato de banco de dados ( proibido mas realizável), e substituir M1 por registros S1 (um segundo, não um tick), e depois apenas percorrer o histórico de M1 no ST. mas não vejo nenhuma utilidade para isso, porque para o live stream, você tem que escrever uma EA completamente diferente, que tem que usar indicadores internos como deveria estar processando o tick stream coletado, e não arrays de histórico.

Meu ponto era que, ao iniciar tal projeto, estaríamos nos concentrando na construção de outro 'MT4/5' e não no comércio.

Obrigado pela resposta, pensei ter entendido o que você estava sugerindo, só queria que você fosse claro, e você foi.

 

@RaptorUK: Obrigado, eu entendo que tudo pode não ser apoiado. Eu não sei tudo o que não funciona dentro do testador de estratégia. Eu não estou fazendo um produto para o mercado. Alguém que faz produtos tem seus próprios conjuntos de problemas. Eles podem modificar os códigos que fazemos ou esperar pelo mq. Mq não participa destas discussões, (nos ignora), estou farto de lhes pedir qualquer coisa.

@angevoyageur: Concordo que precisamos de algo como a opção#2. Eu não me importo de fazer um pouco mais de trabalho para mais independência. Aquilo que sempre nos ocorre, precisa ser facilmente adotado e aceito. Caso contrário, todo o trabalho será em vão. Acho que não poderíamos fazer tudo tão fácil como... como... como... como... como... como... como... como..: [codifique sua ea em mql5] [inicie o testador de estratégia] [e o testador de estratégia virtual assume o controle]. Entretanto, poderíamos usar um substituto para funções que já existem colocando um "v" na frente do nome da função.

@graziani: Que tal isto para ser simples. FileRead( my.csv ); FileRead( my.market.info ). Substitua seu Marketinfo() por vMarketInfo(). DrawObjects como movimento do testador de estratégia. Faça um Relatório.......Done. :), Então o que você acha? Mais fácil dizer do que fazer certo?

Mudar-se para fora do mt4 ou mt5 não funcionaria porque estou tentando reunir apoio de codificadores similares a mim, mudando-me do mql4-mql5. A fim de manter a motivação sobre tais projetos, é necessária uma adaptação bem sucedida por outros, quanto mais não seja para fins de teste de comunicação de erros. Eu gosto dos agentes e dos otimizadores, eu esperava que alguém dissesse que é fácil de implementar (eis como) :(. Vamos encarar, todos os recursos dentro do mt4/mt5 não vão ser suportados com a primeira versão deste VST.

Obter suporte para dados, informações de mercado, execução de mercado, multimoedas e um simples relatório é o que é necessário neste momento. Quanto mais pessoas puderem ser voluntárias a qualquer momento neste projeto, maior será o sucesso. Se o projeto se tornar sobre a mudança para fora do mt, teremos que construir todas as coisas acima e muitas outras que nunca tínhamos tido que considerar antes.

Eu estava realmente esperando que pudéssemos usar códigos mql5 prontos. Se ninguém sugerir uma maneira de fazer este angevoyageur#1, então passaremos para angevoyageur#2.

 
RaptorUK:

Obrigado pela resposta, pensei ter entendido o que você estava sugerindo, só queria que você fosse claro, e você foi.


Não se trata de fazer algo fora do MT5. Não há dúvida de reprogramar tudo que já funciona com o Testador de Estratégia. Não dúvida de substituir o Testador de Estratégia. A idéia é desenvolver algo que complemente o Testador de Estratégia , por uma ou outra das duas opções (ver acima), ou uma combinação de duas.
 
Ubzen:

@RaptorUK: Obrigado, eu entendo que tudo pode não ser apoiado. Eu não sei tudo o que não funciona dentro do testador de estratégia. Eu não estou fazendo um produto para o mercado. Alguém que faz produtos tem seus próprios conjuntos de problemas. Eles podem modificar os códigos que fazemos ou esperar pelo mq. Mq não participa destas discussões, (nos ignora), estou farto de lhes pedir qualquer coisa.

@angevoyageur: Concordo que precisamos de algo como a opção#2. Eu não me importo de fazer um pouco mais de trabalho para mais independência. Aquilo que sempre nos ocorre, precisa ser facilmente adotado e aceito. Caso contrário, todo o trabalho será em vão. Acho que não poderíamos fazer tudo tão fácil como... como... como... como... como... como... como... como..: [codifique sua ea em mql5] [inicie o testador de estratégia] [e o testador de estratégia virtual assume o controle]. Entretanto, poderíamos usar um substituto para funções que já existem colocando um "v" na frente do nome da função.

@graziani: Que tal isto para ser simples. FileRead( my.csv ); FileRead( my.market.info ). Substitua seu Marketinfo() por vMarketInfo(). DrawObjects como movimento do testador de estratégia. Faça um Relatório.......Done. :), Então o que você acha? Mais fácil dizer do que fazer certo?

Mudar-se para fora do mt4 ou mt5 não funcionaria porque estou tentando reunir apoio de codificadores similares a mim, mudando-me do mql4-mql5. A fim de manter a motivação sobre tais projetos, é necessária uma adaptação bem sucedida por outros, quanto mais não seja para fins de teste de comunicação de erros. Eu gosto dos agentes e dos otimizadores, eu esperava que alguém dissesse que é fácil de implementar (eis como) :(. Vamos encarar, todos os recursos dentro do mt4/mt5 não vão ser suportados com a primeira versão deste VST.

Obter suporte para dados, informações de mercado, execução de mercado, multimoedas e um simples relatório é o que é necessário neste momento. Quanto mais pessoas puderem ser voluntárias a qualquer momento neste projeto, maior será o sucesso. Se o projeto se tornar sobre a mudança para fora do mt, teremos que construir todas as coisas acima e muitas outras que nunca tínhamos tido que considerar antes.

Eu estava realmente esperando que pudéssemos usar códigos mql5 prontos. Se ninguém sugerir uma maneira de fazer este angevoyageur#1, então passaremos para angevoyageur#2.

Estamos no mesmo comprimento de onda.