Discussão do artigo "Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5"

 

Novo artigo Sistemas de negociação adaptativos e seu uso no terminal do cliente do MetaTrader 5 foi publicado:

Este artigo sugere uma variável de um sistema adaptativo que consiste em várias estratégias, cada uma realizando suas operações de negociação "virtuais". Negociações reais são realizadas de acordo com os sinais da estratégia mais rentável no momento. Obrigado por utilizar a abordagem orientada a objeto, classes para trabalhar com dados e classes de negociação da biblioteca padrão, a arquitetura do sistema pareceu ser simples e escalável; agora você pode facilmente criar e analisar os sistemas adaptativos que incluem centenas de estratégias de negociação.

Figura 2. Curvas de igualdade na conta com estratégia adaptativa que utiliza sinais de 10 sistemas de negociação

Autor: MetaQuotes Software Corp.

 
Muito obrigado. É um bom artigo. Vai me poupar muito tempo.
 
Sim, bom artigo, e eu poderia usá-lo.
 

Sem palavras, obrigado

Inseri minha estratégia de negociação.

Quem pode me dizer como lidar com esse erro?

Erro ao criar indicadores 4002

Embora o código de erro real 4002 seja:

ERR_WRONG_INTERNAL_PARAMETER 4002 Parâmetro de erro na chamada interna da função do terminal do cliente.

ou isso ocorreu simplesmente porque iniciei o Expert Advisor fora do horário de funcionamento do terminal?

e como evitar erros ao criar indicadores? Há muitas perguntas (.

Por favor, diga-me como resolver esse problema, se não for muito difícil. Em que parte do código devo procurar esse erro? Pelo menos pontos de referência aproximados.

A resposta, é claro, está na superfície, mas o truque é que eu não sou programador.


P.S.: Pensando bem, o erro desapareceu depois que mudei o tipo da variável avdeals int para double na seção


double CSampleStrategy::StrategyPerformance()

mas depois aconteceu novamente e o EA também travou.

 
Forneça o código-fonte. Você pode fazer isso por meio do servicedex neste site.
 

Na classe CAdaptiveStrategy, tento negociar apenas com estocásticos:

// criar 5 estratégias de negociação CStrategyStoch (negociação estocástica)
// inicializá-los, definir parâmetros
// e adicionar ao contêiner m_all_strategies
    for(int i=0; i<5; i++)
     {
      CStrategyStoch *t_StrategyStoch;
      t_StrategyStoch=new CStrategyStoch;
      if(t_StrategyStoch==NULL)
        {
         delete m_all_strategies;
         printf("Erro ao criar um objeto do tipo t_StrategyStoch");
         return(-1);
        }
      //definir o período de cada estratégia
      int Kperiod=2+i*5;
      int Dperiod=2+i*5;
      int Slowing=3+i;
      // inicialização da estratégia
      t_StrategyStoch.Initialization(Kperiod,Dperiod,Slowing,true);
      // definir informações de estratégia
      string s=IntegerToString(Kperiod)+"/"+IntegerToString(Dperiod)+"/"+IntegerToString(Slowing);
      t_StrategyStoch.SetStrategyInfo(_Symbol,"[Stoch_"+s+"]",100+i," Stochastic "+s);
      //adicionar o objeto de estratégia à matriz de objetos m_all_strategies
      m_all_strategies.Add(t_StrategyStoch);
     }
Desativei o resto, mas o gráfico no testador ainda é o mesmo. Pelo que entendi, é aqui que as estratégias são conectadas e desconectadas?
 

O artigo é bom, mas puramente especulativo. Bem, digamos, uma demonstração dos recursos da MQL5.

É óbvio que negociar com indicadores já defasados (todos eles são assim) e escolher o melhor para um determinado período (+ mais defasagem) não o ajudará a conseguir nada.

 

Artigo impressionante.

Muito obrigado. Adoro esse novo fórum do mql5, e ele parece estar se tornando uma espécie de ciência.

Seu artigo é excelente e é algo que eu estava procurando há anos, obrigado por me ajudar indiretamente.


Também devo avisar que há um erro (logicamente insignificante) no arquivo de inclusão CSampleStrategy,

//+------------------------------------------------------------------+
//| The StrategyPerformance function of effectiveness of strategy    |
//+------------------------------------------------------------------+ 
double CSampleStrategy::StrategyPerformance()
  {
//returns the effectiveness of strategy
/in this case it's the difference between the amount 

o último raw tem apenas uma barra no comentário e isso gera cerca de 13 erros ao compilar o mq5 expert.


Esse é um ótimo artigo que, combinado com muitos outros artigos conhecidos nos últimos meses do mql5, pode tornar muito interessante

experimentos em consultores especializados de alto nível.


Eu estava pensando na possibilidade de melhorar essa estratégia do artigo, por exemplo, adicionando a possibilidade de arquivos

ao código, para armazenar e recuperar resultados extras... A fantasia não pararia.

Mais uma vez, obrigado.

 

PS: ele também me produziu um "erro interno nº 55"

que não permite que o ex5 seja criado. Alguma ajuda... ?

 
forexistence:

Também devo avisar que há um erro (logicamente insignificante) no arquivo de inclusão CSampleStrategy,

o último raw tem apenas uma barra no comentário e isso gera cerca de 13 erros ao compilar o mq5 expert.


Obrigado. A versão corrigida foi anexada novamente ao artigo.
 

Obrigado pela versão corrigida.

Acho que uma coisa é certa: mesmo que esse artigo seja muito interessante, a ideia é ótima, o código é muito limpo e tem muitas vantagens,

e mesmo que esse seja um exemplo de EA, todo o EA publicado não é amigável para o Strategy Tester.

Refiro-me ao fato de que, com a versão baixada, não é possível definir parâmetros de entrada a partir do terminal.

Como os arquivos de inclusão não podem ter variáveis de parâmetros de entrada, qual é a maneira de "inserir" as muitas variáveis dos muitos arquivos de inclusão

desse EA?