 |
|
02-06-2009, 11:24
|
#1 (permalink)
|
|
Utente Senior
Data registrazione: Mar 2009
Località: Torino
Messaggi: 423
|
Supertrend per Visual trader (simile a Prorealtime)
A grande richiesta ecco il codice del Supertrend!
Pensavo che la formula del Supertrend fosse segreta e non riuscivo a trovarla, poi mi hanno fatto vedere che Robom1 aveva già fatto tutto in Visual Trader.
Io ho solo dato un colpo di colore e rinominato un paio di variabili.
Ringraziate tutti Robom1!
Codice:
{******************************************************************************
* SUPERTREND by ender85
* Codice di Robom1 preso dal Fol e modificato in minima parte
* solo per renderlo simile alla versione di Prorealtime
* Ringraziamenti: Robom1, Damien e Ronzy
******************************************************************************}
Var: volatilita(0),
prezzomediano(0),
bandaup(0),
bandadn(0),
trend(0),
supertrend(0),
colore(0),
inizio(0);
input: Moltiplicatore(3),
Nm_periodi(100);
//******************************************************************************
//CALCOLO DELLA VOLATILITA'
//La volatilità è calcolata sull'ATR di 100 periodi
volatilita = ATR(C, Nm_periodi);
//******************************************************************************
//CALCOLO DEL PREZZO MEDIANO
//Il prezzo mediano è rappresentato da massimo + minimo diviso due
prezzomediano = (H + L) / 2;
//******************************************************************************
//CALCOLO DELLE BANDE
//la banda up è corrispondente al prezzomediano + moltiplicatore x atr
//la banda down è corrispondente al prezzo mediano - moltiplicatore x atr
//Nota il moltiplicatore standard è solitamente impostato a 3
bandaup = prezzomediano + (moltiplicatore * volatilita);
bandadn = prezzomediano - (moltiplicatore * volatilita);
//******************************************************************************
//INIZIALIZZAZIONE TREND A 1 CON ESAME PRIMA BARRA (non necessario se iniz. la var.
if inizio = 0 then trend = 1; inizio = 1; endif;
//******************************************************************************
//CASO 1
//Se il trend = 1 e il close è inferiore alla banda down allora il trend
//diventa negativo, il calcolo della banda diventa quello standard e la
//supertrend assume l'aspetto della banda superiore in quanto il trend
//è diventato negativo.
if trend = 1 and
C < bandadn[1]
then
trend = -1;
bandaup = prezzomediano +
(moltiplicatore * volatilita);
supertrend = bandaup;
endif;
//******************************************************************************
//CASO 2
//Se il trend = 1 e il close è maggiore o uguale della banda down e la bandadown
//è inferiore alla bandadown precedente, il trend rimane sempre positivo ma
//la bandadown rimane sempre allo stesso livello e non scende.
//Il concetto principale è che nel caso in cui il trend è positivo una volta
//determinata la prima volta la bandadown, quest'ultima puo' solo salire ad
//inseguimento (in una sorta di trailing stop).
if trend = 1 and
C >= bandadn[1] and
bandadn < bandadn[1]
then
bandadn = bandadn[1];
supertrend = bandadn;
endif;
//******************************************************************************
//CASO 3
//Se il trend = 1 e il close è maggiore o uguale della banda down e la banddown
//è maggiore della bandadown precedente, il trend rimane sempre positivo ma
//la supertrend assume lo stesso livello della bandadown in maniera che il
//limite della banda inferiore si alza ad inseguimento
if trend = 1 and
C >= bandadn[1] and
bandadn >= bandadn[1]
then
supertrend = bandadn;
endif;
//******************************************************************************
//CASO 4
//Se il trend è negativo e il close risulta maggiore della bandaup allora il
//trend diventa positivo, il calcolo della banda diventa quello standard e la
//supertrend assume l'aspetto della banda inferiore in quanto il trend è
//diventato positivo
if trend =-1 and
close > bandaup[1]
then
trend = 1;
bandadn = prezzomediano -
(moltiplicatore * volatilita);
supertrend = bandadn;
endif;
//******************************************************************************
//CASO 5
//Se il trend è negativo e il close risulta inferiore uguale alla bandaup e la
//bandaup risulta maggiore della bandaup precedente allora il trend rimane
//sempre negativo e la bandaup rimane sempre allo stesso livello.
//Il concetto è che se il trend è negativo la banda superiore, una volta fissata
//puo' solo scendere ad inseguimento come in una sorta di trailing stop.
if trend =-1 and
close <= bandaup and
bandaup > bandaup[1]
then
bandaup = bandaup[1];
supertrend = bandaup;
endif;
//******************************************************************************
//CASO 6
//Se il trend è negativo e il close risulta inferiore uguale alla bandaup e la
//bandaup risulta inferiore della banda precedente allora la supertrend assume
//il nuovo valore della bandaup
if trend =-1 and
close <= bandaup and
bandaup <= bandaup[1]
then
supertrend = bandaup;
endif;
//******************************************************************************
//Colora il Supertrend a seconda che il trend sia positivo (1) o negativo (-1)
if trend = 1 then
colore= green;
else
colore= red;
endif;
//******************************************************************************
//Disegno il Supertrend
PlotChart(supertrend, 0, colore, solid, 3);
Ultima modifica di ender85 : 02-06-2009 alle ore 11:53.
|
|
|
| Avviso pubblicitario - i seguenti Banner Pubblicitari permettono al sito di offrirvi il consueto, alto standard qualitativo. |
| |
|
02-06-2009, 11:27
|
#2 (permalink)
|
|
翠鸟科
Data registrazione: Oct 2003
Località: taglialegna da CiubeBBa;at Tokyo as Zenigata;capt Orr;lednàcèk;Orazio;and miles to go before I sleep
Messaggi: 34,050
|
vero, Robom1 va ringraziato
se riesco, ne faccio una versione in excel 
__________________
per aspera ad astra,
ma che fatica però
|
|
|
04-06-2009, 19:51
|
#3 (permalink)
|
|
翠鸟科
Data registrazione: Oct 2003
Località: taglialegna da CiubeBBa;at Tokyo as Zenigata;capt Orr;lednàcèk;Orazio;and miles to go before I sleep
Messaggi: 34,050
|
ho iniziato supertrend in excel
no visual basic
finisco il debug
poi qualcuno mi aiuterebbe alla verifica?
dicimo settimana prossima 
__________________
per aspera ad astra,
ma che fatica però
|
|
|
20-06-2009, 22:12
|
#4 (permalink)
|
|
Utente Senior
Data registrazione: Dec 2002
Messaggi: 2,407
|
Citazione:
Originalmente inviato da f4f
ho iniziato supertrend in excel
no visual basic
finisco il debug
poi qualcuno mi aiuterebbe alla verifica?
dicimo settimana prossima 
|
Ciao Ender, ciao f4f, se ho tempo ci guardo pure io. Io utilizzo Excel o Visual Basic. Per curiosità, sapete perchè si chiama SUPER trend (fermo restando che sembra  un trend follower)?
__________________
Se sembra facile, è dura.
Se sembra difficile, è fottutamente impossibile.
|
|
|
21-06-2009, 00:38
|
#5 (permalink)
|
|
Forumer attivo
Data registrazione: Apr 2009
Messaggi: 51
|
Finalmente è stato messo a disposizione di tutti un codice fatto bene.
Grazie Robom1 e Ender85.
|
|
|
21-06-2009, 11:57
|
#6 (permalink)
|
|
Utente Senior
Data registrazione: Aug 2007
Località: Rimini
Messaggi: 2,505
|
Sto mancando da diverso tempo ma da quello che so nell'ultima versione di vt è presente a livello standard la supertrend ed anche il chandelier.
|
|
|
22-06-2009, 11:12
|
#7 (permalink)
|
|
翠鸟科
Data registrazione: Oct 2003
Località: taglialegna da CiubeBBa;at Tokyo as Zenigata;capt Orr;lednàcèk;Orazio;and miles to go before I sleep
Messaggi: 34,050
|
Citazione:
Originalmente inviato da Aragorn
Ciao Ender, ciao f4f, se ho tempo ci guardo pure io. Io utilizzo Excel o Visual Basic. Per curiosità, sapete perchè si chiama SUPER trend (fermo restando che sembra  un trend follower)?
|
riprendo questa settimana a lavorarci 
solo excel per iniziare, ok?
poi, lo lasciamo a IO 
__________________
per aspera ad astra,
ma che fatica però
|
|
|
22-06-2009, 12:21
|
#8 (permalink)
|
|
Utente Senior
Data registrazione: Dec 2002
Messaggi: 2,407
|
Citazione:
Originalmente inviato da f4f
riprendo questa settimana a lavorarci 
solo excel per iniziare, ok?
poi, lo lasciamo a IO 
|
Io non ho neppure iniziato  , vedo se avrò la forza nelle prossime serate di affrontare la cosa 
__________________
Se sembra facile, è dura.
Se sembra difficile, è fottutamente impossibile.
|
|
|
22-06-2009, 12:40
|
#9 (permalink)
|
|
翠鸟科
Data registrazione: Oct 2003
Località: taglialegna da CiubeBBa;at Tokyo as Zenigata;capt Orr;lednàcèk;Orazio;and miles to go before I sleep
Messaggi: 34,050
|
Citazione:
Originalmente inviato da Aragorn
Io non ho neppure iniziato  , vedo se avrò la forza nelle prossime serate di affrontare la cosa 
|
tiro la volata 
__________________
per aspera ad astra,
ma che fatica però
|
|
|
16-07-2009, 12:42
|
#10 (permalink)
|
|
Utente Senior
Data registrazione: Dec 2002
Messaggi: 2,407
|
Ciao Ender, avrei bisogno di qualche chiarimento sul codice implementato.
1. A livello di notazione, non conoscendo Visual Trader mi confermi che la dicitura bandadn[1] si riferisce sempre al campione precedente? In genere nella teoria dei segnali il campione precedente viene indicato con -1, ma basta mettersi d'accordo...
2. Vedo che nei casi 1, 2, 3, 4 si confronta il valore di chiusura con il valore di bandadn[1] o bandaup[1] precedente, mentre nei casi 5, 6 lo si confronta con bandaup attuale. Penso sia una svista e si dovrebbe riferirsi al valore attuale, corretto?
Ciao, grazie!
__________________
Se sembra facile, è dura.
Se sembra difficile, è fottutamente impossibile.
|
|
|
|