Questa funzione restituisce il valore dell'elemento massimo della matrice.
x è un array di elementi di tipo doppio, in cui si cerca il valore massimo dell'elemento.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. In allegato c'è uno script per testare la funzione ArrayMax().
Questa funzione restituisce il valore dell'elemento minimo della matrice.
x - Un array di elementi di tipo doppio, in cui si cerca il valore minimo dell'elemento.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. In allegato c'è uno script per testare la funzione ArrayMin().
Ciao, ho trovato un paio delle tue funzioni ZigZag sul forum. Questo è esattamente ciò di cui ho bisogno. Ho deciso di verificare la funzionalità di queste funzioni, così ho fatto un Expert Advisor che chiama solo questa funzione nel commento. Numero di barra ZigZag = così e così. Il problema è che la funzione mostra solo il numero di barra dello zigzag se non è sulla barra zero. Se lo zigzag è su una barra zero, mostra la barra dello zigzag precedente. E ho bisogno che si mostri a zero bar. In altre parole, voglio sapere quando il nuovo zigzag è apparso.
Il codice dell'Expert Advisor è riportato di seguito:
mostra il numero di barra dello zigzag solo se non è sulla barra zero. Se lo zigzag è su una barra zero, mostra la barra dello zigzag precedente. E ho bisogno che si mostri a zero bar. In altre parole, per sapere quando è apparso un nuovo zigzag.
ok... corretto per zero bar
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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);
}
Mi scuso per il mio post all'autore, ho scritto invano, dato che non userò comunque questo codice, dato che ho la mia libc con tutto ciò di cui ho bisogno. E poiché per così tanto tempo non c'è stato un feedback inequivocabilmente negativo, significa che il codice dell'autore soddisfa. Non potevo sopportarlo :), mi dispiace.
Ci sono molte persone intelligenti, ma le persone intelligenti e gentili sono poche. Tu, d'altra parte, non metti fuori la tua libreria, anche se pensi di codificare meglio, mentre Igor mette fuori gratuitamente quasi tutto il suo lavoro.
Ci sono molte persone intelligenti, ma poche intelligenti e gentili. Tu non metti fuori la tua libreria, anche se pensi di codificare meglio, mentre Igor mette fuori quasi tutto il suo lavoro gratuitamente.
Ho già scritto perché. Perché il mio codice non è completamente universale. Se riesco a trovare qualcosa da postare, lo farò di sicuro
Questa funzione restituisce la media aritmetica degli elementi della matrice.
x - Una matrice di elementi di tipo doppio.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. In allegato c'è uno script per testare la funzione ArrayAvg().
Questa funzione restituisce la media geometrica degli elementi della matrice.
x - Una matrice di elementi di tipo doppio.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. 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. In allegato c'è uno script per testare la funzione ArrayAvGeom().
La funzione ArrayMax().
Questa funzione restituisce il valore dell'elemento massimo della matrice.
- x è un array di elementi di tipo doppio, in cui si cerca il valore massimo dell'elemento.
P.S. In allegato c'è uno script per testare la funzione ArrayMax().La funzione ArrayMin().
Questa funzione restituisce il valore dell'elemento minimo della matrice.
- x - Un array di elementi di tipo doppio, in cui si cerca il valore minimo dell'elemento.
ZS. In allegato c'è uno script per testare la funzione ArrayMin().Ciao, ho trovato un paio delle tue funzioni ZigZag sul forum. Questo è esattamente ciò di cui ho bisogno. Ho deciso di verificare la funzionalità di queste funzioni, così ho fatto un Expert Advisor che chiama solo questa funzione nel commento. Numero di barra ZigZag = così e così. Il problema è che la funzione mostra solo il numero di barra dello zigzag se non è sulla barra zero. Se lo zigzag è su una barra zero, mostra la barra dello zigzag precedente. E ho bisogno che si mostri a zero bar. In altre parole, voglio sapere quando il nuovo zigzag è apparso.
Il codice dell'Expert Advisor è riportato di seguito:
mostra il numero di barra dello zigzag solo se non è sulla barra zero.
Se lo zigzag è su una barra zero, mostra la barra dello zigzag precedente.
E ho bisogno che si mostri a zero bar. In altre parole, per sapere quando è apparso un nuovo zigzag.
ok... corretto per zero bar
Mi scuso per il mio post all'autore, ho scritto invano, dato che non userò comunque questo codice, dato che ho la mia libc con tutto ciò di cui ho bisogno. E poiché per così tanto tempo non c'è stato un feedback inequivocabilmente negativo, significa che il codice dell'autore soddisfa. Non potevo sopportarlo :), mi dispiace.
Ci sono molte persone intelligenti, ma le persone intelligenti e gentili sono poche. Tu, d'altra parte, non metti fuori la tua libreria, anche se pensi di codificare meglio, mentre Igor mette fuori gratuitamente quasi tutto il suo lavoro.
Ci sono molte persone intelligenti, ma poche intelligenti e gentili. Tu non metti fuori la tua libreria, anche se pensi di codificare meglio, mentre Igor mette fuori quasi tutto il suo lavoro gratuitamente.
Ho già scritto perché. Perché il mio codice non è completamente universale. Se riesco a trovare qualcosa da postare, lo farò di sicuro
La funzione ArrayAvg().
Questa funzione restituisce la media aritmetica degli elementi della matrice.
- x - Una matrice di elementi di tipo doppio.
P.S. In allegato c'è uno script per testare la funzione ArrayAvg().ok... corretto per la barra zero.
Grazie mille. Qualcosa con internet al lavoro, non ho potuto ringraziarvi prima.
La funzione ArrayAvGeom().
Questa funzione restituisce la media geometrica degli elementi della matrice.
- x - Una matrice di elementi di tipo doppio.
ZS. In allegato c'è uno script per testare la funzione ArrayAvGeom().La funzione ArrayAvGeom().
Questa funzione restituisce la media geometrica degli elementi della matrice.
- x è una matrice di elementi di tipo doppio.
ZS. In allegato c'è uno script per testare la funzione ArrayAvGeom().Caro KimIV , grazie per la funzione!
È realistico scrivere lo stesso tipo di funzione per calcolare il modo?