Formula Metastock per Supporti e Resistenze

LoStecchino

Nuovo Utente
Registrato
25/2/01
Messaggi
188
Punti reazioni
17
Ciao cosa ne pensate di questa semplice formula per
calcolare in automatico i supporti e le resistenze.

La particolarità e quella di non variare il suo valore
di supporto o resistenza fino a quando questo non diventa
maggiore ( nelle resistenze ) o minore (nei supporti) di un
dato valore, nel mio caso ATR(5)/2.

Ciao e fatemi sapere, naturalmente accetto migliorie.


Pc:=Input("Percentuale Zig",1,100,3);

{
SUPPORTO
}
Va:=Trough(1,L,Pc);

{
RESISTENZA
}
Pk:=Peak(1,H,Pc);

{
SCOSTAMENTO MINIMO (RISPETTO AL PRECEDENTE) CHE
DEVE FARE IL NUOVO SUPPORTO O RESISTENZA PER
ESSERE ACCETTATO
}
Sc:=ATR(5)/2;

{
CALCOLO DEL SUPPORTO
}

Sup:=ValueWhen(1,Abs(Va-Ref(Va,-1))>Sc AND Va<=LastValue(C)+Sc,Va);


{
E DELLA RESISTENZA
}

Res:=ValueWhen(1,Abs(Pk-Ref(Pk,-1))>Sc AND Pk>=LastValue(C)-Sc,Pk);

Sup;
Res;

{

VOLENDO SI PUO' AGGIUNGERE I LIVELLI DI
RITRACCIAMENTO DI FIBONACCI

}

Sup+(Res-Sup)/100*61.8;
Sup+(Res-Sup)/2;
Sup+(Res-Sup)/100*38.2;
 
La formula mi sembra molto interessante, ma non sono riuscito a capirla completamente.
Non capisco a cosa serve la funzione input, e per quanto riguardo lo scarto perchè utilizzi l'ATR(5).
Un'ultima domanda: perchè non riesco a visualizzare la tua funzione (utilizzando l'Indicator builder)sulla bar chart?

Ciao

Pix77
 
scusa la domanda ma dove va copiata la formula x poterla visualizzare????

Un saluto.....
 
Ciao,

Innanzi tutto per visualizzare il nome della funzione sulla ToolBar devi richiamare la funzione con l'INDICATOR BUILDER, e poi spuntare la dicitura 'Display in QuickList' alla destra del nome della funzione.

La spiegazione del metodo da me utilizzato per calcolare i supporti e le resistenze è la seguente:

Mi calcolo d'apprima tutte le valli e i picchi che tu vedresti utilizzando la funzione ZIG-ZAG.
Questa funzione ti chiede lo scostamento minimo ( in percentuale o in punti ) che deve fare il titolo affinchè ci sia un cambiamento della direzione del zig-zag. E' appunto questo il valore che io richiedo all'inizio.

Pc:=Input("Percentuale Zig",1,100,10);
Va:=Trough(1,L,Pc);
Pk:=Peak(1,H,Pc);

Quindi mi vado a calcolare i supporti e le resistenze considerando ( ne caso del supporto ) l'ultimo valore di Va ( le valli ) che risulta minore dell'ultimo valore di Close ( LastValue(C)).
Per evitare però di avere una linea di supporto tutta frastagliata prendo in considerazione solamente valori di Va che
abbiano uno scostamento minimo dal precedente superiore all' AVERAGE TRUE RANGE (5).
Stessa cosa per la resistenza.

Sc:=ATR(5);

Sup:=ValueWhen(1,Abs(Va-Ref(Va,-1))>Sc AND Va<=LastValue(C),Va);
Res:=ValueWhen(1,Abs(Pk-Ref(Pk,-1))>Sc AND Pk>=LastValue(C),Pk);



Per VegetaWeb, devi entrare nell INDICATOR BUILDER, cliccare su nuova funzione, gli dai il nome che ti pare e nella parte sottostante vai a copiare il mio listato.


Ciao, e spero di essrvi stato di aiuto !! :):)
 
wow che figata e complimenti!!!.....e grazie x l'aiuto!
Ora faccio un po di prove e se trovo qualcosa di interessante te lo farò sapere.....

Un salutone!
 
Grazie per la spiegazione, ma quello che non capisco e la differenza tra, l'impostazione dello scostamento minimo direttamente nella funzione Peak o Trough, e la dicitura Pc:=Input("Percentuale Zig",1,100,10); inoltre, mi potresti dire cos' è l'AVERAGE TRUE RANGE.
Ti ringrazio per la disponibilità.

Pix77
 
Mi chiedi una cosa un po difficile.
Spero di riuscire a spiegartelo, e soprattutto in modo corretto !!.

L'ATR (average true renge) è una media dei seguenti valori ( sto consultando l'help di metastock ) :
- Distanza tra Massimo e Minimo
- Distanza tra la chiusura di ieri e il massimo di oggi
- Distanza tra la chiusura di ieri e il minimo di oggi.

Per fare un esempio l'ATR(5) non è altro che la media a 5 giorni della media di questi tre valori ( scusa il gioco di parole ).

In altre parole è un indicatore della volatilità del titolo nelle ultime N sedute, cioè ci dà un'indicazione di quanto il titolo mediamente si può discostare in più o in meno dall'ultimo valore di close.

Spero di non aver detto degli sfondoni e di essere stato chiaro ..

Io lo utilizzo nel seguente modo, sapendo che mediamente il titolo negli ultimi 5 giorni ha un'oscillazione di X euro, nel considerare i valori dei picchi e delle valli scarto quelli il cui scostamento rispetto al valore precedente risulta minore di tale valore ( in quanto considerata una normale oscillazione del titolo )
Questo mi permette di avere una linea di supporto un po meno frastagliata.

A volte viene anche utilizzato per calcolarsi il valore di stop loss, ad esempio si fissa uno stop loss un po aldisotto del valore di close - ATR(5) ( io uso il valore 5 in quanto è indicativo dell'ultima settimana ).

Per quanto riguarda la spiegazione della linea :
- Pc:=Input("Percentuale Zig",1,100,10);

La funzione INPUT chiede all'operatore, (nel momento in cui la funzione viene inserita nel grafico) l'mmissione di un valore numerico che verrà poi assergnato nel nostro caso alla variabile PC.
I valori 1,100,10 sono rispettivamente il valor minimo, il valor massimo e il valore di default che potrà avere la variabile PC.

Ok, questo è tutto.

Ciao e a presto. ;)
 
ciao a tutti
interessante idea
x LoStecchino
non prendermi per pignolo
tu dici che l'average true range
"Per fare un esempio l'ATR(5) non è altro che la media a 5 giorni della media di questi tre valori ( scusa il gioco di parole ). "
non è proprio esatto
il true range è dato dal MAGGIORE fra:
-la distanza tra il max e il min di oggi
-la distanza tra la chiusura di ieri e il max di oggi
-la distanza tra la chiusura di ieri e il min di oggi
detto questo
l'atr (periods) nel tuo caso 5
è la media dei MAGGIORI sopra citati
ciao
 
Ciao,
grazie per le spiegazioni, ma non mi è ancora chiara la funzione input.
In pratica è una specie di ottimizzazione della funzione scarto o cos'altro?
Per quanto riguarda l'ATR tutto chiaro, ed a dire il vero io utilizzo una formula molto simile alla tua, ma adopero un sottomultiplo della volatilità a 20 giorni Stdev(C,20), sia come stop che come filtro per l'entrata (per non entrare su di una falsa rottura di una resistenza).
A presto.

Pix77
 
per TOPASTRO

Lo sapevo che avrei potuto sbagliare, infatti non ero sicuro di quello che dicevo ( sarebbe stato meglio non rispondere !)

Tra l'altro riguardando l'Help di metastock è ben specificato che è il valore MAGGIORE !

Ne ho sempre sentito parlare, sapevo che misurava la volatitilià , ma la formula precisa non la conoscevo :(

Mi scuso con tutti !! e

GRAZIE MILLE per la precisazione TOPASTRO.

Ho sentito dire che sei molto in gamba, e per me è in un certo senso un onore una risposta da parte tua.

CIAO e a presto !

[Messaggio editato da LoStecchino il 24-03 alle ore 10:43]
 
per Pix77

La funzione Input la conosco bene ( essendo anche programmatore ), vedo se riesco a spiegartela con un esempio :

Immagina di voler costruire un indicatore che ti visualizzi il valore minimo ( di Low ) degli unltimi 5 giorni,
scriveresti:

LLV(Low,5);

poi per un qualche motivo non vuoi piu' utilizzare gli ultimi 5 giorni, ma bensì l'ultimo mese, dovresti richiamarti la funzione e andarti a modificare il 5 con il 20.

Questo oltre che essere brigoso comporta anche il fatto che il valore viene modificato su tutti i grafici che utilizzano la funzione, ( può essere un pregio o un difetto !).

Per ovviare a questo inconveniente puoi fare in modo che metastock ti chieda ( ogni volta che utilizzi la funzione ) il numero di giorni che vuoi utilizzare.

Ecco che entra in gioco l'istruzione INPUT.

Quando metastock trova questa funzione si ferma e ti chiede l'immissione di un valore numerico che andrà ad assegnare alla variabile di riferimento.

Nel nostro caso il nuovo listato sarà il seguente :

Giorni := Input("Di quanti giorni vuoi calcolare il minimo ?",1,1000,5);
LLV(Low,Giorni);

Magari prova a scrivere i due indicatori, il primo senza la funzione input e il secondo con la funzione input capirai immdediatamente la differenza.


CIAO !
 
Il sistema che calcola i supporti e le resistenze dei grafici su questo sito é leggermente piu' complicato (considera anche i punti di rotazione del mercato) perché si preoccupa anche di raggruppare i supporti e le resistenze che si ripetono in zone concentrate, accorpandoli.

Se l'argomento interessa vi spiego alcuni punti chiave.
 
Io sono sempre interessato ad imparare qualche cosa di nuovo !!

Ciao :) :) !!!
 
Prendiamo (a caso) ENEL giusto per fare un esempio

http://www.finanzaonline.com/tech/ENEL.php3

ENEL_Y.gif


3.97 10.45%
4.10 14.07%
4.34 20.59%

a 4.34 c'e' una delle resistenze piu' interessanti. Impropriamente io definisco questa resistenza come "livello di rotazione".

Il calcolo automatico di questo livello (il successivo é in zona 4.52) é abbastanza complicato. Ma questo livello é utilissimo per determinare a che prezzo convinie prendere profitto alla fine di un trend rialzista. Sono questi livelli dunque qualcosa di piu' importante di un resistenza, sono i confini di una zona dove il mercato potrebbe stazionare parecchio, tenendo bloccato il capitale che, potrebbe essere molto piu' utile se impegnato su altro.
 
Quello che dici è sicuramente interessante, ma non hai dato indicazioni per il calcolo di questi valori.

Per rotazione intendi la classica Rotazione Settoriale ??

Per il calcolo di questi valori fai anche riferimento agli indici settoriali ?

Tieni in considerazione anche i volumi ?

Che programmi usi per effettuare questi calcoli ?

Ti servi di Metastock, Trade Station o utilizzi programmi realizzati appositamente per questo.

Ok, credo di avertene fatte abbastanza di domade !!!

Perdonami ma sono sempre molto interessato al lavoro di altre persone, ti permette di confrontarti e di imparare un sacco di cose.

Grazie e Ciao !!
 
>Per rotazione intendi la classica Rotazione Settoriale ??

No, mi riferisco al concetto di cerniera (quella della porta, non quella dei pantaloni :) ). Ossia misuro il numero di volte che un livello di prezzi coincide con il punto di intersecazione tra un trend rialzista e di uno ribassista, senza che il livello debba essere necessariamente un massimo o un minimo di periodo.

>Rotazione Settoriale

Per seguire la rotazione ho invece introdotto ieri un oscillatore che ti indica quando il titolo analizzato ha una maggiore forza relativa rispetto all'indice. Lo trovi nella stessa zona dell'RSI colorato di nero quando il titolo ha una maggior forza relativa e di magenta quanto il resto del mercato é piu' forte.

>Tieni in considerazione anche i volumi ?

Si, anche nel calcolo dell'RSI peso i volumi

>Che programmi usi per effettuare questi calcoli ?

ho sviluppato un software che produce i grafici in formato .GIF in sequenza. Ottimo per la pubblicazione sul sito. Inutile per uso personale.

>Ti servi di Metastock, Trade Station o utilizzi programmi realizzati appositamente per questo.

Ho acquistato Trade Station qualche tempo fa (4 anni fa), ma l'ho abbandonato. Mi hanno detto che con poche lire posso richiedere l'aggiornamento. Provero a telefonare al distributore nei prossimi giorni.
 
Lo sapevo che sarebbe stato interessante !

Le tue parole sono avanti anni luce ( per me ) e denotano una grande esperienza di analisi tecnica.

Se ti va io sono tutt'orecchie, altrimenti grazie comunque non voglio disturbarti ulteriormente.

Ciao !
 
>Se ti va io sono tutt'orecchie,

Mi ero quasi dimenticato che ci fosse anche questo forum che riprendo da oggi (anzi da ieri) a frequentare dopo una lunghissima latitanza.

Sto sviluppando un TS che opera su tutte le azioni italiane e che da segnali operativi in tempo reale su tutti i titoli che scambiano piu' di 500'000 euro al giorno. L'oggetto in questione dopo un doveroso fine tuning é destinato ad andare in linea su questo sito.

http://www.finanzaonline.com/scalp/view.php3

Non ci sono segreti per quanto riguarda i modelli previsionali utilizzati ne per le metodologie di pubblicazione. Qualsiasi domanda é quindi bene accetta.

Considerate che tutti i commenti ai titoli (oltre alla pubblicazione sul sito, ne vengono spedito oltre 40'000 ogni sera) sono prodotti in automatico da un software, senza alcun input preliminare.
 
Indietro