Indicadores de múltiplos períodos de tempo - página 558

 

Definitivamente, vou verificar. Obrigado!

mrtools:
Wccmcd, apenas para adicionar o MegaTrend é uma média móvel do casco há uma versão 4 tf postada aqui https://www.mql5.com/en/forum/181187/page6 ela é colorida com base na inclinação do casco também.
 

Olá a todos os meus amigos

Eu gostaria de definir o seguinte mq4 para MTF.

Quero que você o reescreva.

RVI mq4

//+------------------------------------------------------------------+

//| Índice de Vigor Relativo.mq4 |

//| Copyright ゥ 2005, MetaQuotes Software Corp. |

//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#propriedade copyright "Copyright ゥ 2005, MetaQuotes Software Corp."

#link do proprietário "http://www.metaquotes.net/"

//---- definições de indicadores

#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 2

#indicador de propriedade_color1 Verde

#indicador de propriedade_color2 Vermelho

//---- parâmetros indicadores

ExtRVIP período ExtRVIP=10;

//---- buffers indicadores

duplo ExtRVIBuffer[];

duplo ExtRVISignalBuffer[];

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//+------------------------------------------------------------------+

int init()

{

//---- mapeamento de buffers indicadores

SetIndexBuffer(0,ExtRVIBuffer);

SetIndexBuffer(1,ExtRVISignalBuffer);

//---- linha indicadora

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

//---- definições de desenho

SetIndexDrawBegin(0,ExtRVIP período+3);

SetIndexDrawBegin(1,ExtRVIP período+7);

//---- nome para DataWindow e subwindow label do indicador

IndicatorShortName("RVI("+ExtRVIPeriod+")");

SetIndexLabel(0, "RVI");

SetIndexLabel(1, "RVIS");

//---- inicialização feita

retorno(0);

}

//+------------------------------------------------------------------+

//| Índice de Vigor Relativo |

//+------------------------------------------------------------------+

int start()

{

int i,j,nLimit,nCountedBars;

duplo dValueUp,dValueDown,dNum,dDeNum;

//----

if(Bars<=ExtRVIP period+8) return(0);

//----

nCountedBars=IndicatorCounted();

//---- verificação de possíveis erros

if(nCountedBars<0) retorno(-1);

//---- última barra contada será recontada

nLimit=Bars-ExtRVIPeriod-4;

if(nCountedBars>ExtRVIPeriod+4)

nLimit=Bars-nCountedBars;

//---- RVI contado no buffer 1-st

for(i=0; i<=nLimit; i++)

{

dNum=0,0;

dDeNum=0,0;

for(j=i; j<i+ExtRVIP period; j++)

{

dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;

dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;

dNum+=dValueUp;

dDeNum+=dValueDown;

}

if(dDeNum!=0.0)

ExtRVIBuffer=dNum/dDeNum;

senão

ExtRVIBuffer=dNum;

}

//---- linha de sinal contada no buffer 2-nd

nLimit=Bars-ExtRVIPeriod-7;

if(nCountedBars>ExtRVIPeriod+8)

nLimit=Bars-nCountedBars+1;

for(i=0; i<=nLimit; i++)

ExtRVISignalBuffer=(ExtRVIBuffer+2*ExtRVIBuffer+2*ExtRVIBuffer+ExtRVIBuffer)/6;

//----

retorno(0);

}

//+------------------------------------------------------------------+

 
yhkbtdy:
Olá a todos os meus amigos

Eu gostaria de definir o seguinte mq4 para MTF.

Quero que você o reescreva.

RVI mq4

//+------------------------------------------------------------------+

//| Índice de Vigor Relativo.mq4 |

//| Copyright ゥ 2005, MetaQuotes Software Corp. |

//| MetaTrader 5 Trading Platform / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#propriedade copyright "Copyright ゥ 2005, MetaQuotes Software Corp."

#link do proprietário "http://www.metaquotes.net/"

//---- definições de indicadores

#janela_indicadora de propriedade_separarate_window

#property indicator_buffers 2

#indicador de propriedade_color1 Verde

#indicador de propriedade_color2 Vermelho

//---- parâmetros indicadores

ExtRVIP período ExtRVIP=10;

//---- buffers indicadores

duplo ExtRVIBuffer[];

duplo ExtRVISignalBuffer[];

//+------------------------------------------------------------------+

//| Função de inicialização do indicador personalizado |

//+------------------------------------------------------------------+

int init()

{

//---- mapeamento de buffers indicadores

SetIndexBuffer(0,ExtRVIBuffer);

SetIndexBuffer(1,ExtRVISignalBuffer);

//---- linha indicadora

SetIndexStyle(0,DRAW_LINE);

SetIndexStyle(1,DRAW_LINE);

//---- definições de desenho

SetIndexDrawBegin(0,ExtRVIP período+3);

SetIndexDrawBegin(1,ExtRVIP período+7);

//---- nome para DataWindow e subwindow label do indicador

IndicatorShortName("RVI("+ExtRVIPeriod+")");

SetIndexLabel(0, "RVI");

SetIndexLabel(1, "RVIS");

//---- inicialização feita

retorno(0);

}

//+------------------------------------------------------------------+

//| Índice de Vigor Relativo |

//+------------------------------------------------------------------+

int start()

{

int i,j,nLimit,nCountedBars;

duplo dValueUp,dValueDown,dNum,dDeNum;

//----

if(Bars<=ExtRVIP period+8) return(0);

//----

nCountedBars=IndicatorCounted();

//---- verificação de possíveis erros

if(nCountedBars<0) retorno(-1);

//---- última barra contada será recontada

nLimit=Bars-ExtRVIPeriod-4;

if(nCountedBars>ExtRVIPeriod+4)

nLimit=Bars-nCountedBars;

//---- RVI contado no buffer 1-st

for(i=0; i<=nLimit; i++)

{

dNum=0,0;

dDeNum=0,0;

for(j=i; j<i+ExtRVIP period; j++)

{

dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6;

dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6;

dNum+=dValueUp;

dDeNum+=dValueDown;

}

if(dDeNum!=0.0)

ExtRVIBuffer=dNum/dDeNum;

senão

ExtRVIBuffer=dNum;

}

//---- linha de sinal contada no buffer 2-nd

nLimit=Bars-ExtRVIPeriod-7;

if(nCountedBars>ExtRVIPeriod+8)

nLimit=Bars-nCountedBars+1;

for(i=0; i<=nLimit; i++)

ExtRVISignalBuffer=(ExtRVIBuffer+2*ExtRVIBuffer+2*ExtRVIBuffer+ExtRVIBuffer)/6;

//----

retorno(0);

}

//+------------------------------------------------------------------+

Olá Yhkbtdy,

Fez o rvi mtf...

Arquivos anexados:
rvi__mtf.mq4  5 kb
rvi_mtf.png  52 kb
 
mrtools:
Olá Yhkbtdy,Fez o rvi mtf...

Isso é rápido!

Obrigado!!

 
mrtools:
Oi Niqcom,acrescentou o mtf.

Muito obrigado

 

Olá MLaden & mrTools,

Você poderia acrescentar flechas que aparecem na tela dos gráficos? O indi é anexado.

THX muito Marco

Arquivos anexados:
 

Oi mrtools,

Envelopes mtf ????

 

Olá Mladen...

Você poderia me ajudar a acrescentar a configuração mtf também alertas deste indicador? muito obrigado antes por todo o seu brilhante trabalho

Arquivos anexados:
 
casaliss:
Olá mrtools, Envelopes mtf ???

Olá Casaliss,

Acrescentei o mtf aos envelopes.

Arquivos anexados:
 
koplak:
Olá Mladen... Você poderia me ajudar a acrescentar a configuração mtf também alertas deste indicador? muito obrigado antes por todo seu brilhante trabalho

koplak

Aqui está esta versão. Alguns possíveis problemas resolvidos nesta e agora você pode ter valores para toda a história sem sobrecarregar a CPU

________________

PS: não notou a adição de "alertas". Este indicador é um período de tempo múltiplo, mas ainda não tem alertas (pelo modo como funciona, não está muito claro o que exatamente deveria ser o alerta - podemos imaginar ter uma quebra de nível fraco e forte para baixo e para cima, mas então deve ser recodificado também em relação às cores).

Arquivos anexados:
Razão: