Discussão do artigo "Exemplo de desenvolvimento de uma estratégia de spread nos futuros da MICEX-RTS"

 

Novo artigo Exemplo de desenvolvimento de uma estratégia de spread nos futuros da MICEX-RTS foi publicado:

A MetaTrader 5 permite desenvolver e testar robôs que negociam simultaneamente em vários instrumentos. O testador de estratégia embutido na plataforma baixa automaticamente - a partir do servidor de negociação da corretora - o histórico de ticks e leva em conta as especificações do contrato, assim, o desenvolvedor não precisa fazer nada com suas mãos. Isto torna possível reproduzir com facilidade e confiança todas as condições do ambiente de negociação, até intervalos de milissegundos entre o surgimento de ticks em símbolos diferentes. Neste artigo, vamos mostrar como desenvolver e testar estratégias de spread em dois futuros da Bolsa de Valores de Moscou (MICEX-RTS).

Para calcular os coeficientes de regressão, é usada a função da biblioteca ALGLIB, a plotagem é feita pelas classes gráficas da Biblioteca padrão.

Autor: MetaQuotes Software Corp.

 

Muito obrigado pelo CalcShowRegression_script.mq5! Manual bacana na forma de código-fonte no ALGLIB e GraphPlot.

É uma pena que apenas um símbolo para outro tenha sido ajustado via LR, e não dois para um - o ALGLIB seria mais útil se eles adicionassem o USDRUB. Mas então a cesta seria composta de três símbolos. E o TS não seria um spread clássico, mas mais complicado (mas os resultados seriam mais saborosos). É por isso que, aparentemente, o autor não quis complicar o código do TS apresentado para não repelir os leitores. Afinal de contas, o principal objetivo do artigo é atrair, não repelir.

Mas é fácil de ler, é um bom artigo. E eu concordo plenamente com a ausência de inserções MQL no texto do artigo. Quem realmente precisa disso, vai dar uma olhada no código-fonte na íntegra. E, na forma atual, a impressão é boa de que é fácil escrever, visualizar e, o mais importante, testar e otimizar várias moedas no MT5.

 

Uma pequena observação sobre o artigo. Antes de criar o spread e o QC, é necessário sincronizar os gráficos dos instrumentos na escala de tempo, barra por barra. Porque, se houver barras perdidas (e elas existem), você terá uma bagunça.

Tudo IMHO)

 
Dmitriy Skub:

Uma pequena observação sobre o artigo.

E logaritmize antes de LR. Caso contrário, há de fato uma má compreensão do que está sendo feito e por quê.
 
fxsaber:
E logaritmize antes do LR. Caso contrário, há realmente pouca compreensão do que está sendo feito e por quê.
A propósito, seria interessante ver como os resultados seriam diferentes com isso.
 
Dmitriy Skub:

Uma pequena observação sobre o artigo. Antes de criar o spread e o QC, é necessário sincronizar os gráficos dos instrumentos na escala de tempo, barra por barra. Porque se houver barras faltando (e elas existem), você terá uma bagunça.

O código será um pouco mais complicado, mas suspeito que, novamente, isso não afetará muito os resultados.
 
Rashid Umarov:
O código será um pouco mais complicado, mas suspeito que, novamente, isso não afetará muito os resultados.
Se você pegar M1 e caracteres de baixa liquidez, isso afetará muito os resultados. Os buracos são a norma lá.
 
fxsaber:

Por que os ticks são constantemente ignorados? Neste artigo, a LR é baseada em barras. Portanto, ele não pode ser usado em intervalos pequenos - não há barras suficientes.

Além disso, quando há ticks, é possível construir um gráfico de ticks (tanto Bid quanto Ask, levando em conta as comissões de todos os instrumentos de entrada) da cesta.

Como se os ticks fossem necessários apenas para o testador e não para a análise da negociação.

Com ticks seria mais legal, como com esteroides. Talvez alguém possa tentar.
 
fxsaber:
Se você pegar M1 e personagens de baixa liquidez , isso afetará muito os resultados.
Isso seria um jogo de azar, não é?
 
Rashid Umarov:
Isso seria uma besteira, não é?
Não sei dizer, pois não experimentei. Mas, definitivamente, os buracos devem ser levados em conta. Além disso, mesmo que a cesta seja composta por N caracteres, o preenchimento de buracos e a criação de um vetor multibarras (matriz) é feito em várias linhas. Essa bicicleta deve estar disponível na MQL5 como um recurso padrão.
 
Existe uma coisa chamada interpolação :-)