Esta função retorna o valor do elemento máximo da matriz.
x é um conjunto de elementos do tipo duplo, no qual o valor máximo do elemento é procurado.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 17.05.2008 |//| Описание : Возвращает значение максимального элемента массива. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений числового ряда |//+----------------------------------------------------------------------------+doubleArrayMax(double& x[]){if(ArraySize(x)>0)return(x[ArrayMaximum(x)]);
else{Print("ArrayMax(): Массив пуст!");
return(0);
}}
P.S. Em anexo está um roteiro para testar a função ArrayMax().
Esta função retorna o valor do elemento mínimo da matriz.
x - Um conjunto de elementos do tipo duplo, no qual o valor mínimo do elemento é procurado.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 17.05.2008 |//| Описание : Возвращает значение минимального элемента массива. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений числового ряда |//+----------------------------------------------------------------------------+doubleArrayMin(double& x[]){if(ArraySize(x)>0)return(x[ArrayMinimum(x)]);
else{Print("ArrayMin(): Массив пуст!");
return(0);
}}
ZS. Anexado um roteiro para testar a função ArrayMin().
Olá, encontrei um par de suas funções ZigZag no fórum. Isto é exatamente o que eu preciso. Decidi verificar a funcionalidade destas funções, então fiz um consultor especializado que apenas chama esta função no comentário. Número de barras ZigZag = so-and-so. O problema é que a função só mostra o número da barra do ziguezague se não estiver em barra zero. Se o ziguezague estiver em uma barra zero, ele mostra a barra do ziguezague anterior. E eu preciso que ele apareça na barra zero. Em outras palavras, eu quero saber quando o novo ziguezague apareceu.
O código do Conselheiro Especialista é dado abaixo:
A função mostra o número de barra do ziguezague somente se não estiver em barra zero. Se o ziguezague estiver na barra zero, ele mostra a barra do ziguezague anterior. E eu preciso que ele apareça na barra zero. Em outras palavras, para saber quando um novo ziguezague surgiu.
ok... corrigido por barra zero
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 07.10.2006 |//| Описание : Возвращает номер бара экстремума ЗигЗага по его номеру. |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента (NULL или "" - текущий символ) |//| tf - таймфрейм ( 0 - текущий ТФ) |//| ne - номер экстремума ( 0 - последний) |//| dp - ExtDepth |//| dv - ExtDeviation |//| bs - ExtBackstep |//+----------------------------------------------------------------------------+intGetExtremumZZBar(stringsy="", inttf=0, intne=0, intdp=12, intdv=5, intbc=3){if(sy=="" || sy=="0")sy=Symbol();
doublezz;
inti, k=iBars(sy, tf), ke=0;
for(i=0; i<k; i++){zz=iCustom(sy, tf, "ZigZag", dp, dv, bc, 0, i);
if(zz!=0){ke++;
if(ke>ne)return(i);
}}Print("GetExtremumZZBar(): Экстремум ЗигЗага номер ",ne," не найден");
return(-1);
}
Peço desculpas pelo meu posto ao autor, escrevi em vão, pois de qualquer forma não vou usar este código, pois tenho minha própria libc com tudo o que preciso. E porque durante tanto tempo não houve um feedback claramente negativo, isso significa que o código do autor satisfaz. Simplesmente não suportou :), desculpe.
Há muita gente inteligente, mas as pessoas inteligentes e amáveis são poucas. Você, por outro lado, não expõe sua biblioteca, apesar de achar que codifica melhor, enquanto Igor expõe de graça quase todo o seu trabalho.
Há muitas pessoas inteligentes, mas poucas inteligentes e amáveis. Você não coloca sua biblioteca para fora, embora você pense que codifica melhor, enquanto Igor coloca para fora quase todo o seu trabalho de graça.
Eu já escrevi o porquê. Porque meu código não é completamente universal. Se eu puder encontrar algo para postar, eu o farei com certeza
Esta função retorna a aritmética média dos elementos da matriz.
x - Um conjunto de elementos do tipo duplo.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 16.05.2008 |//| Описание : Возвращает среднее аримфетическое элементов массива. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений числового ряда |//+----------------------------------------------------------------------------+doubleArrayAvg(double& x[]){doubles=0;
inti, k=ArraySize(x);
for(i=0; i<k; i++)s+=x[i];
if(k>0)s/=k; elsePrint("ArrayAvg(): Массив пуст!");
return(s);
}
P.S. Em anexo está um roteiro para testar a função ArrayAvg().
Esta função retorna a média geométrica dos elementos da matriz.
x - Um conjunto de elementos do tipo duplo.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 16.06.2008 |//| Описание : Возвращает среднее геометрическое элементов массива. |//+----------------------------------------------------------------------------+//| Параметры: |//| x - массив значений числового ряда |//+----------------------------------------------------------------------------+doubleArrayAvGeom(double& x[]){doubles=1, k=ArraySize(x);
inti;
for(i=0; i<k; i++)s*=x[i];
if(k>0)s=MathPow(s, 1/k); elsePrint("ArrayAvGeom(): Массив пуст!");
return(s);
}
ZS. Anexado um roteiro para testar a função ArrayAvGeom().
A função ArrayMax().
Esta função retorna o valor do elemento máximo da matriz.
- x é um conjunto de elementos do tipo duplo, no qual o valor máximo do elemento é procurado.
P.S. Em anexo está um roteiro para testar a função ArrayMax().A função ArrayMin().
Esta função retorna o valor do elemento mínimo da matriz.
- x - Um conjunto de elementos do tipo duplo, no qual o valor mínimo do elemento é procurado.
ZS. Anexado um roteiro para testar a função ArrayMin().Olá, encontrei um par de suas funções ZigZag no fórum. Isto é exatamente o que eu preciso. Decidi verificar a funcionalidade destas funções, então fiz um consultor especializado que apenas chama esta função no comentário. Número de barras ZigZag = so-and-so. O problema é que a função só mostra o número da barra do ziguezague se não estiver em barra zero. Se o ziguezague estiver em uma barra zero, ele mostra a barra do ziguezague anterior. E eu preciso que ele apareça na barra zero. Em outras palavras, eu quero saber quando o novo ziguezague apareceu.
O código do Conselheiro Especialista é dado abaixo:
A função mostra o número de barra do ziguezague somente se não estiver em barra zero.
Se o ziguezague estiver na barra zero, ele mostra a barra do ziguezague anterior.
E eu preciso que ele apareça na barra zero. Em outras palavras, para saber quando um novo ziguezague surgiu.
ok... corrigido por barra zero
Peço desculpas pelo meu posto ao autor, escrevi em vão, pois de qualquer forma não vou usar este código, pois tenho minha própria libc com tudo o que preciso. E porque durante tanto tempo não houve um feedback claramente negativo, isso significa que o código do autor satisfaz. Simplesmente não suportou :), desculpe.
Há muita gente inteligente, mas as pessoas inteligentes e amáveis são poucas. Você, por outro lado, não expõe sua biblioteca, apesar de achar que codifica melhor, enquanto Igor expõe de graça quase todo o seu trabalho.
Há muitas pessoas inteligentes, mas poucas inteligentes e amáveis. Você não coloca sua biblioteca para fora, embora você pense que codifica melhor, enquanto Igor coloca para fora quase todo o seu trabalho de graça.
Eu já escrevi o porquê. Porque meu código não é completamente universal. Se eu puder encontrar algo para postar, eu o farei com certeza
A função ArrayAvg().
Esta função retorna a aritmética média dos elementos da matriz.
- x - Um conjunto de elementos do tipo duplo.
P.S. Em anexo está um roteiro para testar a função ArrayAvg().ok... corrigido para a barra zero.
Muito obrigado. Algo com a Internet no trabalho, não poderia lhe agradecer antes.
A função ArrayAvGeom().
Esta função retorna a média geométrica dos elementos da matriz.
- x - Um conjunto de elementos do tipo duplo.
ZS. Anexado um roteiro para testar a função ArrayAvGeom().A função ArrayAvGeom().
Esta função retorna a média geométrica dos elementos da matriz.
- x é um conjunto de elementos do tipo duplo.
ZS. Em anexo está um roteiro para testar a função ArrayAvGeom().Caro KimIV , obrigado pela função!
É realista escrever o mesmo tipo de função para calcular a modalidade?