 |
|
08-11-2009, 22:32
|
#1 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2009
Messaggi: 51
|
AROON su VT
Su VT volevo mettere l' AROON OSCILLATORE . Sotto c'è la formula però non riesco a farla pertire.
Qualcuno puo gentilmente mettermi aposto il tutto farlo funzionare e lanciandolo che mi mostri il suo andamneto sul graficoo ?
Grazie mille
AROON UP
100 * ( 14 - ( ( If (Ref (H ,-1) = HHV(H ,14 ) ,1 ,If (Ref (H ,-2 ) = HHV (H ,14 ) ,2 ,If (Ref (H ,- 3 ) =
HHV(H ,14 ) ,3, If (Ref (H ,-4 ) = HHV(H ,14 ) ,4 ,If (Ref (H ,-5 ) = HHV(H ,14 ) ,5 ,If (Ref (H ,-6 ) =
HHV(H ,14 ) ,6 ,If (Ref (H,-7 ) = HHV(H ,14 ) ,7 ,If (Ref (H ,-8 ) = HHV(H ,14) ,8 , If (Ref (H ,-9 ) =
HHV(H ,14) ,9 ,If (Ref (H ,-10 ) = HHV(H ,14 ) ,10 ,If (Ref (H ,-11 ) = HHV(H ,14) ,11 ,If (Ref (H ,-12 ) =
HHV(H ,14) ,12 ,If (Ref(H ,-13) = HHV(H ,14 ) ,13 ,If (Ref (H ,-14 ) = HHV(H ,14 ) ,14 ,0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / 14;
AROON DOWN
100* (14 - (( If (Ref (L,-1) = LLV( L ,14 ) ,1 , If ( Ref (L ,-2 ) = LLV ( L,14 ) ,2 , If ( Ref (L ,- 3 ) =
LLV( L,14 ) ,3 ,If ( Ref (L ,-4 ) = LLV ( L ,14 ) ,4 ,If (Ref ( L ,-5 ) = LLV ( L ,14 ) ,5 ,If (Ref (L ,-6 ) =
LLV( L,14 ) ,6 ,If ( Ref (L ,-7 ) = LLV ( L,14 ) ,7 ,If (Ref ( L ,-8 ) = LLV ( L ,14 ) ,8 ,If (Ref( L ,-9 ) =
LLV( L,14 ) ,9 ,If ( Ref (L,-10) = LLV (L,14 ) ,10 ,If (Ref (L ,-11) = LLV( L,14 ) ,11 ,If (Ref(L,-12 ) =
LLV(L ,14) ,12,If ( Ref (L,-13) = LLV (L ,14 ) ,13 ,If ( Ref ( L,-14) = LLV( L,14 ) ,14 ,0) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / 14;
|
|
|
| Avviso pubblicitario - i seguenti Banner Pubblicitari permettono al sito di offrirvi il consueto, alto standard qualitativo. |
| |
|
09-11-2009, 11:35
|
#2 (permalink)
|
Data registrazione: Jun 2000
Messaggi: 18,079
|
..
__________________
Per ogni animale comprato, un altro animale randagio o ospite di un gattile o canile morirà solo ed abbandonato. Non comprare animali, adottali.
|
|
|
09-11-2009, 18:07
|
#3 (permalink)
|
|
Utente Senior
Data registrazione: Aug 2007
Località: Rimini
Messaggi: 2,505
|
Ciao, prova a vedere se l'indicatore piu' o meno corrisponde con il grafico:

|
|
|
11-11-2009, 13:41
|
#4 (permalink)
|
|
Utente Senior
Data registrazione: Aug 2007
Località: Rimini
Messaggi: 2,505
|
Vedi punto 9.
Ultima modifica di robom1 : 15-11-2009 alle ore 17:56.
Motivo: correzione codice visual trader
|
|
|
14-11-2009, 01:07
|
#5 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2009
Messaggi: 51
|
aroon ok
Citazione:
Originalmente inviato da robom1
Ho scritto anche un messaggio privato ma non ho ricevuto alcuna risposta.
Il numero di periodi è modificabile e per default è 14:
Codice:
{******************************************************************************
Aaron
******************************************************************************}
Var: indice, maxperiodo(0), minperiodo, aaron_up, aaron_dn, indzona1;
//Numero periodi di default con variazione
Input: numperiodi(14);
indzona1=CreateViewport(200, true, True);
//******************************************************************************
//Calcolo per ogni barra il massimo degli high e il minimo dei low
maxperiodo = hhv(H, numperiodi);
minperiodo = llv(L, numperiodi);
//******************************************************************************
//Calcolo l'aaron up
BeginFor(indice, 0, numperiodi);
if H[indice] = maxperiodo
then aaron_up = 100 * (numperiodi - indice) / numperiodi;
endif;
endFor;
//******************************************************************************
//Calcolo l'aaron dn
BeginFor(indice, 0, numperiodi);
if L[indice] = minperiodo
then aaron_dn = 100 * (numperiodi - indice) / numperiodi;
endif;
endFor;
//******************************************************************************
//Plotto il risultato
PlotChart(aaron_up, indzona1, green, solid, 2);
PlotChart(aaron_dn, indzona1, red, solid, 2);
|
Grazie ROBOM1 funziona ( ho fatto anche una piccola modifica facendo up-dn per trovare l'oscillatore
|
|
|
14-11-2009, 20:38
|
#6 (permalink)
|
|
niente è come sembra
Data registrazione: Feb 2009
Messaggi: 224
|
Come si usa ?
|
|
|
14-11-2009, 22:14
|
#7 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2009
Messaggi: 51
|
Citazione:
Originalmente inviato da robom1
Ho scritto anche un messaggio privato ma non ho ricevuto alcuna risposta.
Il numero di periodi è modificabile e per default è 14:
Codice:
{******************************************************************************
Aaron
******************************************************************************}
Var: indice, maxperiodo(0), minperiodo, aaron_up, aaron_dn, indzona1;
//Numero periodi di default con variazione
Input: numperiodi(14);
indzona1=CreateViewport(200, true, True);
//******************************************************************************
//Calcolo per ogni barra il massimo degli high e il minimo dei low
maxperiodo = hhv(H, numperiodi);
minperiodo = llv(L, numperiodi);
//******************************************************************************
//Calcolo l'aaron up
BeginFor(indice, 0, numperiodi);
if H[indice] = maxperiodo
then aaron_up = 100 * (numperiodi - indice) / numperiodi;
endif;
endFor;
//******************************************************************************
//Calcolo l'aaron dn
BeginFor(indice, 0, numperiodi);
if L[indice] = minperiodo
then aaron_dn = 100 * (numperiodi - indice) / numperiodi;
endif;
endFor;
//******************************************************************************
//Plotto il risultato
PlotChart(aaron_up, indzona1, green, solid, 2);
PlotChart(aaron_dn, indzona1, red, solid, 2);
|
Grazie ROBOM1 ho creato l'oscillatore facendo aaron_up - aaron_dn e fin qui tutto ok
Ora voglio avere averil valore piu alto degli ultimi 10 periodi ma con queste modifiche non funziona, potresti per favore come si crea l'aroon con l'istruzione " OP " così probabilmente funziona. GRAZIE
AROON = OP(aaron_up, aaron_dn, SUB);
AROH = HHV(AROON,10);
AROL = LLV(AROON,10);
|
|
|
15-11-2009, 11:45
|
#8 (permalink)
|
|
Utente Senior
Data registrazione: Aug 2007
Località: Rimini
Messaggi: 2,505
|
Citazione:
Originalmente inviato da BOVARO
Su VT volevo mettere l' AROON OSCILLATORE . Sotto c'è la formula però non riesco a farla pertire.
Qualcuno puo gentilmente mettermi aposto il tutto farlo funzionare e lanciandolo che mi mostri il suo andamneto sul graficoo ?
Grazie mille
AROON UP
100 * ( 14 - ( ( If (Ref (H ,-1) = HHV(H ,14 ) ,1 ,If (Ref (H ,-2 ) = HHV (H ,14 ) ,2 ,If (Ref (H ,- 3 ) =
HHV(H ,14 ) ,3, If (Ref (H ,-4 ) = HHV(H ,14 ) ,4 ,If (Ref (H ,-5 ) = HHV(H ,14 ) ,5 ,If (Ref (H ,-6 ) =
HHV(H ,14 ) ,6 ,If (Ref (H,-7 ) = HHV(H ,14 ) ,7 ,If (Ref (H ,-8 ) = HHV(H ,14) ,8 , If (Ref (H ,-9 ) =
HHV(H ,14) ,9 ,If (Ref (H ,-10 ) = HHV(H ,14 ) ,10 ,If (Ref (H ,-11 ) = HHV(H ,14) ,11 ,If (Ref (H ,-12 ) =
HHV(H ,14) ,12 ,If (Ref(H ,-13) = HHV(H ,14 ) ,13 ,If (Ref (H ,-14 ) = HHV(H ,14 ) ,14 ,0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / 14;
AROON DOWN
100* (14 - (( If (Ref (L,-1) = LLV( L ,14 ) ,1 , If ( Ref (L ,-2 ) = LLV ( L,14 ) ,2 , If ( Ref (L ,- 3 ) =
LLV( L,14 ) ,3 ,If ( Ref (L ,-4 ) = LLV ( L ,14 ) ,4 ,If (Ref ( L ,-5 ) = LLV ( L ,14 ) ,5 ,If (Ref (L ,-6 ) =
LLV( L,14 ) ,6 ,If ( Ref (L ,-7 ) = LLV ( L,14 ) ,7 ,If (Ref ( L ,-8 ) = LLV ( L ,14 ) ,8 ,If (Ref( L ,-9 ) =
LLV( L,14 ) ,9 ,If ( Ref (L,-10) = LLV (L,14 ) ,10 ,If (Ref (L ,-11) = LLV( L,14 ) ,11 ,If (Ref(L,-12 ) =
LLV(L ,14) ,12,If ( Ref (L,-13) = LLV (L ,14 ) ,13 ,If ( Ref ( L,-14) = LLV( L,14 ) ,14 ,0) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) / 14;
|
Ciao, avevo cominciato a fare le modifiche solo che sono emerse alcune anomalie da sistemare, ovvero:
1.Da come si vede sopra in realtà le barre da esaminare sono 15 e non 14; mi spiego meglio: il massimo e/o minimo di n barre (calcolato con hhv e llv) contiene già la barra in corso; detto questo se il massimo è appunto la barra in corso il risultato sarà 100 in quanto il numero delle barre da sottrarre in questo caso 14 è 0, quindi la formula sarebbe
100 x (14 - 0 barre perche barra in corso ) / 14 = 100
ma se io faccio cosi l'indicatore aroon up e down non sarà mai pari a zero in quanto io lo trovo sempre a 14 periodi.
Infatti sotto avevo visto che non era mai zero ma figurava come minimo sempre 7 che corrisponde alla 14esima posizione.
Quindi in sostanza qualora voglia determinare l'aroon corretto devo calcolarlo su n periodi + 1 se voglio utilizzare l'hhv e l'llv.
Inoltre dalla verifica è emerso che se io faccio partire il ciclo da 0, quindi dal piu' recente al piu vecchio potrebbe succedere, in alcuni casi (vedi laterale giugno) che se per caso ho un massimo uguale ad un massimo passato l'indice aaron up diminiusce anziche aumentare perche va a prendere, proprio per effetto del conteggio il piu' vecchio perche trattato successivamente a quello piu' recente e gli va a sostituire il valore.
|
|
|
15-11-2009, 17:34
|
#9 (permalink)
|
|
Utente Senior
Data registrazione: Aug 2007
Località: Rimini
Messaggi: 2,505
|
Questa versione sostituisce la precedente di cui al punto 4:
Codice:
{******************************************************************************
Indicatore AROON di Chande
*******************************************************************************}
Var: indice, maxperiodo, minperiodo, aroon_up, aroon_dn, indzona1, check_max, check_min;
Input: numperiodi(14);
indzona1=CreateViewport(200, true, True);
//******************************************************************************
//CALCOLO DEI MAX E DEI MIN RELATIVI AL PERIODO SELEZIONATO
//Il numero dei periodi viene incrementato di 1 in quanto la barra attuale ha
//appunto valore 0 nel conteggio del calcolo dell'aroon-up e aroon-down.
maxperiodo = hhv(H, numperiodi+1);
minperiodo = llv(L, numperiodi+1);
//******************************************************************************
//CALCOLO AROON-UP E AROON-DOWN
//Il punteggio di entrambi gli indicatori puo' andare da 0 a 100
//
//Esempio modalità di calcolo dell'aroon-up su 14 periodi
//
//il valore 100 di aroon_up corrisponderà al max realizzato sulla barra corrente
//(barra zero) e la formula quindi corrisponderà a = 100 * (14 - 0) / 14 = 100
//
//il valore 0 di aroon_up corrisponderà al max realizzato sulla quattordic.
//barra SUCCESSIVA alla barra corrente e la formula quindi corrisponderà a =
//100 * (14 - 14) / 14 = 0
//
//
//*****************************************************************************
//Calcolo dell'aroon up
check_max = 0;
//Ogni volta che entro nel ciclo inizializzo a zero la variabile check_max
//Nel caso in cui si trovano quindi due valori all'interno dei 14+1 rilevati
//i cui massimi si eguagliano, l'aroon_up prenderà il valore piu' recente dei
//due max e non il piu' vecchio
BeginFor(indice, 0, numperiodi);
if H[indice] = maxperiodo and check_max = 0
then aroon_up = 100 * ((numperiodi - indice) / numperiodi);
check_max = 1;
//poiche per forza uno dei 14+1 valori deve essere compreso all'interno del ciclo
//quando trovo il primo valore corrispondente al massimo non faccio piu' entrare
//nessun altro dentro il ciclo mettendo check_max uguale a 1
endif;
endFor;
//******************************************************************************
//Calcolo l'aaron dn
check_min = 0;
//Vedi stesse considerazioni effettuate per il check_max
BeginFor(indice, 0, numperiodi);
if L[indice] = minperiodo and check_min = 0
then aroon_dn = 100 * (numperiodi - indice) / numperiodi;
check_min = 1;
endif;
endFor;
//******************************************************************************
//Plotto il risultato
PlotChart(aroon_up, indzona1, red, solid, 2);
PlotChart(aroon_dn, indzona1, blue, solid, 2);
PlotChart(maxperiodo, 0, red, solid, 2);
PlotChart(minperiodo, 0, blue, solid, 2);
|
|
|
|