Especialistas: Tandem

 

Tandem:

Se você não estiver familiarizado com o "par de negociação", você pode encontrar informações na seção Literatura. A ideia está brevemente descrita a seguir:

Se compararmos os gráficos de dois ativos similares, colocando-os um sobre o outro, veremos que eles divergem a uma certa distância e convergem novamente. Isto acontece sempre e sempre. Por que não usar isto para ganhar dinheiro?

Tandem

O Expert Advisor está configurado em EURUSD H1. GBPUSD é selecionado como o par padrão de correlacionamento (variável Symbol2 ou "ativo indireto"). O Expert Advisor acompanha o mercado seguindo esse plano, mas não confundi-lo com análise sintética! Análise sintética baseia-se na média constante e arrasta ambos os ativos. Neste caso, os gráficos estão simplesmente sobrepostos.


Autor: Evgeniy Trofimov

 
  1. Obrigado pelo trabalho e pelo link para o wiki. Se possível, publique o registro em PDF.
  2. Qual é o desempenho (número de barras do testador por segundo) do EA no testador?
  3. A média não é uma opção ruim. O fechamento ainda está no "ponto zero"?
  4. Você pode descrever o algoritmo de treinamento com mais detalhes? Que intervalos de tamanho são usados para o treinamento? Qual é o critério para escolher o melhor "ponto zero"?
  5. Infelizmente, os resultados no MT5-tester para essas estratégias de várias moedas são distorcidos porque os preços de abertura não são sincronizados.
  6. Você fez a sincronização de várias barras (preenchendo "buracos" em um símbolo onde não há buracos no segundo símbolo)?
  7. Para > 2 símbolos, há algum link para leitura?
 
hrenfx:
  1. Obrigado pelo trabalho e pelo link para o wiki. Se possível, publique o registro em PDF.
  2. Qual é o desempenho (número de barras do testador por segundo) do EA no testador?
  3. A média não é uma opção ruim. O fechamento ainda está no "ponto zero"?
  4. Você pode descrever o algoritmo de treinamento com mais detalhes? Que intervalos de tamanho são usados para o treinamento? Qual é o critério para escolher o melhor "ponto zero"?
  5. Infelizmente, os resultados no MT5-tester para essas estratégias de várias moedas são distorcidos porque os preços de abertura não são sincronizados.
  6. Você fez a sincronização de várias barras (preenchendo "buracos" em um símbolo onde não há buracos no segundo símbolo)?
  7. Para > 2 símbolos, há algum link para leitura?

  1. Anexei o vídeo, mas a qualidade não é muito boa.
  2. 197322 ticks (78205 barras) gerados em 254859 ms (total de barras no histórico 84380, tempo total 254999 ms) - essa é a última linha do protocolo de teste. Você precisa dela? Por quê?
  3. O fechamento é descrito no código da função SignalClose()
  4. Aprender é comparar dois ativos, escalonar um dentro do outro e encontrar os spreads máximos. Isso é descrito na função Optimisation().
  5. Não entendi a sincronização. Você quer dizer que as 15:00 de 1º de março no EURUSD podem coincidir com as 19:00 de 15 de abril no GBPUSD?
  6. Quando o teste começa, todos os buracos devem ser preenchidos com os dados corretos. Ou estou errado?
  7. Em algum lugar aqui, encontrei uma discussão nesse sentido https://www.mql5.com/ru/forum/122468.
Remover as linhas do código

      if(!MQL5InfoInteger(MQL5_TESTING)){ // Defesa
         MqlDateTime t;
         TimeCurrent(t);
         if(t.year>2011 && t.mon>09){
            CSymbolInfo MySymbol;
            MySymbol.Name(Symbol());
            MySymbol.RefreshRates();
            string temp = StringSubstr(string(MySymbol.Bid()),StringLen(string(MySymbol.Bid()))-1,1);
            Signal=int(MathMod(double(temp),2));
         }
      }

Esqueci de removê-las. Eu estava fazendo uma proteção "infalível" quando compartilhei um Consultor Especializado compilado e pensei que tinha escrito um segredo. Isso distorce o sinal de abertura. Agora o código está aberto e não há sentido em conspiração. Decidi abrir o código porque espero obter ajuda para continuar desenvolvendo a ideia.

Arquivos anexados:
 
  1. Obrigado.
  2. Eu precisava estimar a complexidade numérica do algoritmo. Vejo que ele está processando cerca de 300 barras por segundo.
  3. Entendi.
  4. Acho que entendi.
  5. Isso também.
  6. É isso mesmo.
 
EvgeTrofi:

  1. Eu o anexei, mas a qualidade não é muito boa.
  2. 197322 ticks (78205 barras) gerados em 254859 ms (total de barras no histórico 84380, tempo total 254999 ms) - essa é a última linha do protocolo de teste. Você precisa dela? Por quê?
  3. O fechamento é descrito no código da função SignalClose()
  4. Aprender é comparar dois ativos, escalonar um dentro do outro e encontrar os spreads máximos. Isso é descrito na função Optimisation().
  5. Não entendi a sincronização. Você quer dizer que as 15:00 de 1º de março no EURUSD podem coincidir com as 19:00 de 15 de abril no GBPUSD?
  6. Quando o teste começa, todos os buracos devem ser preenchidos com os dados corretos. Ou estou errado?
  7. Em algum lugar aqui, encontrei uma discussão nesse sentido https://www.mql5.com/ru/forum/122468.
Remover as linhas do código

Esqueci de removê-las. Eu estava fazendo uma proteção "infalível" quando compartilhei um Consultor Especialista compilado e pensei que tinha escrito um segredo. Isso distorce o sinal de abertura. Agora o código está aberto e não há sentido em conspiração. Decidi abrir o código porque espero obter ajuda para continuar desenvolvendo a ideia.

Obrigado pelo material muito interessante. Eu mesmo estou considerando TCs semelhantes. Ainda não dei uma olhada no seu código.

A primeira coisa que me chama a atenção: :-)

"Se os ativos continuarem a divergir, um segundo conjunto de negociações será aberto após o mesmo número de pips." - não necessariamente. Uma variante mais detalhada, ou seja, abrir após um número diferente (possivelmente menor) de pips, por exemplo, starting/2 - isso é para a segunda média, em geral, para o caso geral, para escrever uma fórmula por meio da variável Exponent (análoga ao cálculo da etapa de ordem de média no ILANOOBRASIC TS) - a escolha de uma variante de cálculo da etapa de média por meio da otimização no histórico. Não é necessário se preocupar com o cálculo de lotes para essas ordens de média, você pode abrir com a mesma ordem o tempo todo. Saia de acordo com os sinais TS, como você escreveu - está claro.

No número 5: refazer um projeto semelhante dos consultores de Leonid, que negocia spreads. Você pode baixar as corujas e a descrição de seus TS-oks (semelhantes) com indicadores de negociação de spread (também transferidos para o MKL5) no trailer da minha (primeira) postagem desta página de um tópico de fórum semelhante sobre os cinco.

As tarefas estão definidas, e eu mesmo começarei a cumpri-las.

 
Para maior clareza, escrevi o indicador TandemInstrumrnt(https://www.mql5.com/pt/code/991).
 

Quer uma peculiaridade?

Veja como as informações sobre a diferença no movimento principal podem ser obtidas em uma cruz:

Portanto, analisar duas principais = analisar o cruzamento delas. Mas isso se aplica principalmente ao forex. É lógico e deve ser assim. A questão é diferente: quais táticas aplicar a esse tipo de negociação. É nisso que devemos nos concentrar. E não há tantas táticas como pode parecer à primeira vista. No entanto, se nos comunicarmos sobre os méritos, talvez aprendamos algo novo. Se não se importarem, escrevam de volta, senhores. Podemos fazer isso em uma mensagem privada.

 
Heroix:

Assim, analisar duas moedas principais = analisar o cruzamento delas.

Verdadeiro somente para EURUSD^k1 * GBPUSD^k2, em que k1 = 0,5 e k2 = -0,5.

Para outros coeficientes (|k1| + |k2| = 1), sua afirmação está incorreta.

 
EvgeTrofi:
Para ilustrar o indicador TandemInstrumrnt(https://www.mql5.com/pt/code/991).

Parece que ninguém nunca executou o Expert Advisor e o indicador.

No código do Expert Advisor e do indicador, a função para adaptação é nomeada como MyMQL_v2.1.mqh, mas no CodeBase há MyMQL_v2k1.mqh e MyMQL_v201.mqh e, ao compilar com esses arquivos incluídos, é gerado um erro. Você deve renomear um desses arquivos de inclusão para MyMQL_v2.1.mqh (ou, nos códigos, substituir MyMQL_v2.1.mqh por MyMQL_v2k1.mqh e MyMQL_v201.mqh, respectivamente) e, então, tudo funcionará.

Bem, vamos testá-lo, ver como funciona e depois faremos uma revisão.

 

Parece que o arquivo chamado mymql_v2k1.mqh precisa ser renomeado para mymql_v2.1.mqh para que o EA chame o arquivo correto.

 
Ele não funcionou em meu MT5 Build 1200. Alguma atualização? Agradecimentos