Periodicidade (enum_timeframes)

 

Tenho um EA que lê diversos ativos. Preciso definir periodicidade (enum_timeframes) diferente para cada etapa no meu EA.

Dúvida: Como defino uma periodicidade  (enum_timeframes) dentro do meu EA?

Por exemplo: Preciso iniciar com a periodicidade igual a PERIOD_D1 e depois dentro do EA alterar a mesma para PERIOD_M15

 

Eu vi o POST "Backteste em dois ou mais timeframes diferentes", penso ser a mesma situação. Contudo não entendi o comentário do Figurelli "... pois se usas 2 timeframes 'escrevendo na pedra' eles na declaração dos indicadores ..."

O que significa "escrevendo na pedra"? Penso ser isto que desconheço.

Obrigada!

abcs, Pierangela 

 
Pierangela:

Tenho um EA que lê diversos ativos. Preciso definir periodicidade (enum_timeframes) diferente para cada etapa no meu EA.

Dúvida: Como defino uma periodicidade  (enum_timeframes) dentro do meu EA?

Por exemplo: Preciso iniciar com a periodicidade igual a PERIOD_D1 e depois dentro do EA alterar a mesma para PERIOD_M15. 

 

Eu vi o POST "Backteste em dois ou mais timeframes diferentes", penso ser a mesma situação. Contudo não entendi o comentário do Figurelli "... pois se usas 2 timeframes 'escrevendo na pedra' eles na declaração dos indicadores ..."

O que significa "escrevendo na pedra"? Penso ser isto que desconheço.

Obrigada!

abcs, Pierangela 

Olá Pierangela,

a grande maioria das funções de cópia de dados do MT5 permite você especificar o timeframe de seu interesse. Logo, se você usar a função CopyBuffer por exemplo, um de seus argumentos é o timeframe de seu interesse.

Se você utilizar _Period ou Period() ele sempre irá utilizar o timeframe atual do gráfico onde o robô está rodando. Caso te interesse algum timeframe diferente você deve claramente especificá-lo, usando opções como PERIOD_D1, PERIOD_M5, etc.

Logo, fazer um robô rodar num timeframe, lendo e processando informações de outros timeframes é algo bem simples e fácil de se implementar no MT5.

Abraços,
Malacarne 

 
Malacarne:

Olá Pierangela,

a grande maioria das funções de cópia de dados do MT5 permite você especificar o timeframe de seu interesse. Logo, se você usar a função CopyBuffer por exemplo, um de seus argumentos é o timeframe de seu interesse.

Se você utilizar _Period ou Period() ele sempre irá utilizar o timeframe atual do gráfico onde o robô está rodando. Caso te interesse algum timeframe diferente você deve claramente especificá-lo, usando opções como PERIOD_D1, PERIOD_M5, etc.

Logo, fazer um robô rodar num timeframe, lendo e processando informações de outros timeframes é algo bem simples e fácil de se implementar no MT5.

Abraços,
Malacarne 

Oi Malacarne,

 Obrigada pela resposta! Fiz os testes e vi que o "copyTime" e "copyrates" é que têm como parâmetro o ENUM_TIMEFRAMES. Não vi este parâmetro no "copybuffer". Irei continuar com os testes.

 Bom Ano Novo para vc e todos do fórum!

abcs, Pierangela 

 
Pierangela:

Oi Malacarne,

 Obrigada pela resposta! Fiz os testes e vi que o "copyTime" e "copyrates" é que têm como parâmetro o ENUM_TIMEFRAMES. Não vi este parâmetro no "copybuffer". Irei continuar com os testes.

 Bom Ano Novo para vc e todos do fórum!

abcs, Pierangela 

Realmente no CopyBuffer esse parâmetro não existe, porque o local onde ele é definido é exatamente o handle do indicador! :-D

Abraços,
Malacarne

Razão: