Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 43
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Ajude-me a escrever uma função que retorna o valor máximo de ATR entre as barras visíveis na janela. Procurei em toda a Internet, não consegui encontrar nada semelhante.
Obrigado,
Ajude-me a escrever uma função que obtenha o valor máximo de ATR entre as barras visíveis na janela. Procurei em toda a Internet, não consegui encontrar nada semelhante.
Obrigado,
/
int externo p = 4; // período ATR
//------
int start()
{
int i;
duplo m;
while( i < WindowBarsPerChart() - p )
{
duplo a = iATR( NULL, 0, p, i );
se ( m < a )
{
m = a;
}
i++;
}
Alerta( " O valor máximo de ATR em pips para o número visível de barras é ", m / Ponto ); //
/////
retorno(0);
}
Boeing747 Obrigado. Eu deveria ter escrito aqui imediatamente.
Portanto, a variante final da função em minha versão parece ser a seguinte
duplo ATR_Max() {
int i;
duplo m;
while( i < WindowBarsPerChart() - p ) {
duplo a = iATR( NULL, 0, p, i );
se ( m < a ) {
m = a;
}
i++;
}
Alerta( " O valor máximo de ATR para o número visível de barras é - ", m );
retorno(m);
}
Boeing747 Obrigado. Eu deveria tê-lo escrito aqui imediatamente.
Portanto, a variante final da função em minha versão é parecida com a seguinte
duplo ATR_Max() {
int i;
duplo m;
while( i < WindowBarsPerChart() - p ) {
duplo a = iATR( NULL, 0, p, i );
se ( m < a ) {
m = a;
}
i++;
}
Alerta( " O valor máximo de ATR para o número visível de barras é - ", m );
retorno(m);
}
Devo ter cometido um erro no while( i < WindowBarsChart() - p )
muito provavelmente o iATR( NULL, 0, p, i ); função calcula valores para todas as barras no gráfico e você pode, ou talvez deva
corrigido para while( i < WindowBarsChart() ). Eu nunca trabalhei com a função iATR(); eu deveria tentar um dia destes.
Na verdade, você pode escrever sua função sem utilizar a função iATR(), por assim dizer, em sua forma pura.
Devo ter cometido um erro no while( i < WindowBarsChart() - p )
Muito provavelmente, o iATR( NULL, 0, p, i ); função calcula valores para todas as barras no gráfico.
corrigido para while( i < WindowBarsChart() ). Eu nunca trabalhei com o iATR(); eu deveria tentar um dia destes.
Basicamente, posso escrever sua função sem usar iATR(), por assim dizer em sua forma pura.
Eu também pensei agora que o período não tem nada a ver com isso. Provavelmente seria melhor removê-lo.
Você não pode fazer isso através de uma matriz? Colete em uma matriz os valores de todos os APR na janela e depois encontre o máximo usando esta função - ArrayMaximum Receio que meu conhecimento não seja suficiente.
Estive pensando agora que o período não tem nada a ver com isso. Provavelmente é melhor removê-lo.
Isto não pode ser feito através de uma matriz? Colete em uma matriz os valores de todos os APR na janela e depois encontre o máximo usando esta função - ArrayMaximum Receio que meu conhecimento não seja suficiente para isto.
Sim, é possível rolar iATR(); em um loop para marcar arrays com ele e depois usar o ArrayMaximum para extrair o valor máximo de ATR. mas tudo isso é tão amanteigado quanto usar um loop para marcar arrays como na primeira variante . mas na primeira variante o máximo foi calculado durante a rolagem de um loop que é muito mais econômico do que com uma variante ArrayMaximum. Você não precisa de nenhum conhecimento especial. Você pode encontrar descrições detalhadas sobre o ArrayMaximum em um livro didático ou livro de referência.
Obrigado, vou tentar verificar amanhã. Mais uma pergunta, como posso economizar recursos do testador nesta função, para que o valor máximo seja calculado após o aparecimento de uma nova barra e não a cada tic tac?
Obrigado, vou tentar verificar a operação amanhã. Mais uma pergunta, como posso economizar os recursos do testador nesta função, para que o valor máximo seja calculado após o aparecimento de uma nova barra e não a cada carrapato?
Você pode tentar desta forma para começar com
em nível global declarar t
e sobre o laço escreva
se ( t != Tempo[0] )
{
t = Tempo[0];
// loop onde o ATRmax é calculado
}
desta forma o cálculo no laço será feito uma vez na abertura de uma nova barra. talvez haja outras variantes mais inteligentes...
Boeing747, dr.Vasgenich, caras, não podem usar o botão "SRC" ou estão de acordo com isso?
Boeing747, dr.Vasgenich, caras, não podem usar o botão "SRC" ou estão de acordo com isso?