Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 343

 
barabashkakvn:

Alteração do código de cálculo

para

Ou seja, 13 ou 12 ou algum outro número - este deve ser o parâmetro "Período". Período de cálculo da média

Viva!

Obrigado por ter funcionado. Porque é que este parâmetro não está no indicador original? É predefinido por defeito, sabe?

Ou seja, eu estabeleço apenas o número de barras para a média e nada mais. Na realidade, este é o único parâmetro na fonte e é utilizado na fórmula.

Na última versão, tenho dois parâmetros. Número de barras para cálculo da média e uma para o cálculo do SmoothFactor.

 
Alvin1976:

Viva!

Obrigado. Mas porque é que este parâmetro não está no indicador original? Sabe se é prescrito por defeito?

Ou seja, eu só estabeleço o número de barras para fazer a média e pronto. De facto, no código fonte, este é o único parâmetro que é utilizado na fórmula.

Na última versão, tenho dois parâmetros. Número de barras para cálculo da média e uma para o cálculo do SmoothFactor.

Tudo está disponível no conjunto. Ver código indicador "***\MQL5\Indicadores\Exemplos\Custom Moving Average.mq5"
 
barabashkakvn:
Tudo está na entrega. Ver código indicador "***\MQL5\Indicadores\Exemplos\Custom Moving Average.mq5".

Foi daí que tirei tudo :-). Acho que não entendo.....

Ainda assim, por alguma razão, os valores EMA calculados não se somam aos valores originais.

Talvez este indicador convertido para uma função esteja disponível em algum lugar?

 
Alvin1976:

Foi daí que tirei tudo :-). Acho que não entendo.....

Quero usá-lo como cabo e, por alguma razão, os valores de EMA calculados não coincidem com os originais.

Talvez em algum lugar haja este indicador convertido para uma função ?

Ou talvez seja melhor criar no OnInit() da EA duas alças do indicador iMA com diferentes tipos de suavização e depois apenas obter os valores destes indicadores?

 
barabashkakvn:

Ou talvez seja melhor criar duas pegas de indicador iMA com diferentes tipos de suavização no OnInit() e depois obter apenas os valores destes indicadores?

Já o experimentei. A MQL5 produz alguns disparates através de pegas. Por exemplo.

Na saída na primeira barra obtemos valores variáveis, apesar de a barra já ter sido formada! Tudo funciona bem na MQL4, mas aqui é horrível.

     MAvarage1[ns] = INVALID_HANDLE;                        //-----------------------------------
   for (int i=0;i<10;i++) //10 попыток создать индикатор
      {
       MAvarage1[ns]=iMA(Symbols[ns],DopTF2,MAper1[ns],0,MAmet2,PRICE_CLOSE);
       if (MAvarage1[ns] == INVALID_HANDLE) Sleep(1000);
      }
              //Проверим handle 
   if (MAvarage1[ns] == INVALID_HANDLE) 
   {
    Print("Ошибка при создании MAvarage1! (№", GetLastError(), ")");
    return;
   } 

  Recount=false;
  if (CopyBuffer(MAvarage1[ns],0,0,2,MA1)<1) Recount=true;
  if (Recount){
  Print("Ошибка при копировании из индикатора ! (№", GetLastError(), ")");
  return;   
  }
  Print("MA1[1]=",MA1[1]);
 
Alvin1976:

Já o experimentei. A MQL5 produz alguns disparates através de pegas. Por exemplo.

Desta forma, a primeira barra produz valores variáveis, mesmo que a barra já tenha sido formada! Tudo funciona bem na MQL4, mas aqui é horrível.

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

Perguntas de principiantes

Nunca tentei usar o Handlestick no comércio, é demasiado cedo para o usar.

Ou talvez fosse melhor criar dois cabos indicadores iMA com diferentes tipos de suavização no OnInit() da EA e depois obter apenas os valores destes indicadores?


 

Já tive muitos problemas com a transferência do código para a MQL5. A maior parte do problema é com os indicadores. O estocástico está a receber algum tipo de valores "esquerdistas".

Decidi calcular os valores por mim próprio.

Preciso de MQL5 apenas para a velocidade de optimização e para verificar o modo multimoedas. E é tudo!

Não é útil para mais nada. Espero que nenhum centro de negociação venha a utilizar esta "maravilha".

Já tenho os valores variáveis definidos! Acontece que o CopyBuffer inverte a ordem dos índices!

Porque faria eu isso?

 

Alvin1976:

...Aaah com os valores variáveis calculados ! CopyBuffer está a inverter a ordem dos índices!

Porque é que faço isso?

Não quero perguntar ao indicador o que ele não precisa ... Imagine, chega-se a uma banca de jornais. E quer um jornal nos últimos 3 dias... E dizem que venderemos o seu jornal, mas só nos últimos 20 dias. Precisa dele? :-)
 
denkir:
Se quiser evitar perguntar ao indicador o que não precisa... Imagine, chega-se a uma banca de jornais. E precisa de um jornal dos últimos 3 dias. E eles dizem: "Podemos vender-lhe o seu jornal, mas apenas nos últimos 20 dias...". Precisa dele? :-)

Bem, na MQL4 também não é preciso pedir muito. Não se trata da quantidade, mas sim da encomenda.

Onde está a lógica? Todos se habituaram ao facto de que o elemento zero da matriz é a barra actual. Porque é que mudaria algo ????.

P.S. Fixou-o através do ArraySetAsSeries.

A tropeçar .....

 
Alvin1976:

Bem, na MQL4 também não é preciso pedir muito. Não se trata da quantidade, mas sim da encomenda.

Onde está a lógica? Todos se habituaram ao facto de que o elemento zero da matriz é a barra actual. Porque é que mudaria algo ????.

P.S. Fixou-o através do ArraySetAsSeries.

Dançar com tamborim.....

Não é o pandeiro, mas sim as inovações a que terá de se habituar. E estas inovações tornarão a tarefa mais fácil em alguns casos. Não pergunte por exemplos, eu não vou discutir isso.