int iMA(
string symbol, // nome do símbolo
ENUM_TIMEFRAMES period, // período
int ma_period, // período de cálculo da média
int ma_shift, // deslocamento horizontal do indicador
ENUM_MA_METHOD ma_method, // tipo de suavização
ENUM_APPLIED_PRICE applied_price // tipo de preço ou identificador
);
com o qual você pode obter o mesmo resultado. Mas. Como obter o applied_price ao usar a forma abreviada int OnCalculate(). Em outras palavras, como obter os valores na guia "Parameters" ao inicializar o indicador?
Obrigado.
Obrigado, ele é muito claro e útil para iniciantes.
if(prev_calculated==0) // verificar o primeiro início do indicador
first=MAPeriod-1+begin; // índice inicial para todas as barras
else first=prev_calculated-1; // índice inicial para as novas barras
when first=MAPeriod-1+begin; qual é a barra atual? [0] ou [rates_total]?
when first=prev_calculated-1; é um número grande, é necessário repetir o cálculo?
- 2010.03.03
- Nikolay Kositsin
- www.mql5.com
Obrigado pelo artigo! Material muito útil para um iniciante e
para alguém que está fazendo a transição de outro idioma.
O computador traduziu? Dá para fazer.
Em comparação com a MQL4, os subscritos da matriz de métricas são calculados com base no passado e são fixos, não dinâmicos. Gostaria de saber o que acontece quando você o executa por uma semana ou um mês? Os dados estão todos na memória? Se estiverem todos na memória, a execução não ficará cada vez mais lenta?
Entretanto, em https://www.mql5.com/zh/articles/31中又说:
- "Definir o índice de um elemento como uma sequência é o mesmo que em MQL4" - O que isso significa? Em nosso exemplo, usamos o índice do elemento como uma série temporal. Em outras palavras, a coluna atual (ainda não formada) sempre tem o índice [0], a anterior (já formada) tem o índice [1] e assim por diante.
A maioria dos exemplos de MQL4 usa uma matriz de índice com current como 0, a maioria dos exemplos de MQL5 usa um subscrito de matriz de índice com past como 0.
- 2013.09.04
- Sergey Pavlov
- www.mql5.com
O computador traduziu? Faça como quiser.
Em comparação com a MQL4, os subscritos da matriz de métricas são calculados com base no passado e são fixos, não dinâmicos. Gostaria de saber o que acontece quando você o executa por uma semana ou um mês? Os dados estão todos na memória? Se estiverem todos na memória, a execução não ficará cada vez mais lenta?
Entretanto, em https://www.mql5.com/zh/articles/31中又说:
- "Definir o índice de um elemento como uma sequência é o mesmo que em MQL4" - o que isso significa? Em nosso exemplo, usamos o índice do elemento como uma série temporal. Em outras palavras, a coluna atual (ainda não formada) sempre tem o índice [0], a anterior (já formada) tem o índice [1] e assim por diante.
A maioria dos exemplos de MQL4 usa uma matriz de indicadores com o atual como 0, e a maioria dos exemplos de MQL5 usa uma matriz de indicadores com subscritos com o passado como 0.
A função ArraySetAsSeries() deve ser usada em MQL5 para converter matrizes dinâmicas (alocando memória para armazenar os valores mais recentes na direção do índice maior) em uma forma de série temporal, ou seja, os dados mais recentes são armazenados no índice 0, os próximos dados mais recentes são armazenados no índice 1, e assim por diante, com os dados mais recentes sendo armazenados no índice 0 para sempre.
Leia com a função copybuffer (), a partir da posição do índice 0, para começar a ler os elementos retroativos da matriz, leia quantos de sua própria definição na linha.
Nicholas!
Você sabe me dizer por que, quando tento preencher uma matriz de indicadores em um loop usando a fórmula Mass[ i ]= Mass[ i+1]+A; onde A é uma variável, a compilação é aprovada sem erros, mas, quando anexada à janela, aparece a mensagem array out of range (fora do tamanho da matriz)?
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Indicadores Personalizados no MQL5 para novatos foi publicado:
Qualquer assunto novo parece complicado e difícil de aprender para um principiante. Os assuntos que conhecemos parecem muito simples e claros para nós. Mas, simplesmente não lembramos, que todos têm que estudar algo desde o início, até a nossa língua materna. O mesmo é com a llinguagem de programação MQL5 que oferece amplas possibilidades para desenvolver estratégias próprias de negociação - você pode aprender a partir de noções básicas e dos exemplos mais simples. A interação de um indicador técnico com o terminal de cliente MetaTrader 5 é considerada neste artigo sobre o exemplo de um indicador personalizado simples SMA.
Autor: Nikolay Kositsin