MA com base em outro indicador.

 

Boa tarde pessoal, estou com uma dúvida aqui e procurando uma solução, mais não encontrei nada a respeito, vamos lá.


Quando eu tenho um indicador qualquer, que esteja em outra janela a não ser a janela dos candles, e sim uma separada, e eu coloco uma média móvel por exemplo sobre esse indicador, então o valor da MédiaMóvel é calculado com base nos valores de fechamento do indicador em questão.


A questao é, como eu uso a MA com base em valores de outro indicador ao invés de usar valores de fechamento dos candles no MQL5 ?


Na imagem fica claro o exemplo, as duas médias móveis do quadro de baixo são calculadas pelo valor do indicador PVT.

 
Luis Gustavo Carneiro De Araujo:


Boa tarde Luis, não entendi bem seu questionamento, mas veja na tela abaixo, o indicador MA pode ser aplicado aos preços da janela gráfica ou aplicado ao valor do indicador (as duas últimas opções).



 
Rogerio Giannetti Torres:

Boa tarde Luis, não entendi bem seu questionamento, mas veja na tela abaixo, o indicador MA pode ser aplicado aos preços da janela gráfica ou aplicado ao valor do indicador (as duas últimas opções).



E qual seria a ENUMERAÇÂO que devo utilizar para fazer isso via código ? 

Alias, o preço é o de fechamento, porém o preço não é dos candles, tem que ser os valores do PVT, no caso preciso fazer isso via código, via gráfico já tá feito, só que vou usar isso em um EA.

 
Só pra constar, a ENUM_APPLIED_PRICE não tem essa opção, e preciso que a MA pegue os valores do indicador.
 
Luis Gustavo Carneiro De Araujo:

E qual seria a ENUMERAÇÂO que devo utilizar para fazer isso via código ? 

Luis ,

eu estou entendo que você quer calcular a média do PVT, correto?  Então você deve usar o HANDLE do PVT e não o ENUMERADOR na função IMA.


A função retorna o manipulador do indicador Moving Average. Tem apenas um buffer.

int  iMA(
   string               symbol,            // símbolo nome
   ENUM_TIMEFRAMES      period,            // período
   int                  ma_period,         // período médio
   int                  ma_shift,          // deslocamento horizontal
   ENUM_MA_METHOD       ma_method,         // tipo suavizado
   ENUM_APPLIED_PRICE   applied_price      // tipo de preço ou de manipulador
   );

 
Hmm, interessante, eu não sabia que poderia usar o handle do PVT no lugar da enumeração ENUM_APPLIED_PRICE, vou testar isso aqui, valew pela ajuda por enquanto Rogerio :) 
 
Rogerio Giannetti Torres:

Luis ,

eu estou entendo que você quer calcular a média do PVT, correto?  Então você deve usar o HANDLE do PVT e não o ENUMERADOR na função IMA.


A função retorna o manipulador do indicador Moving Average. Tem apenas um buffer.

int  iMA(
   string               symbol,            // símbolo nome
   ENUM_TIMEFRAMES      period,            // período
   int                  ma_period,         // período médio
   int                  ma_shift,          // deslocamento horizontal
   ENUM_MA_METHOD       ma_method,         // tipo suavizado
   ENUM_APPLIED_PRICE   applied_price      // tipo de preço ou de manipulador
   );

Muito útil essa instrução. Obrigado Rogerio Giannetto Torres.

Razão: