 |
|
22-07-2010, 11:50
|
#261 (permalink)
|
|
Utente Senior
Data registrazione: Feb 2010
Messaggi: 1,723
|
Ok, grazie perfetto.
Ciao
|
|
|
| Avviso pubblicitario - i seguenti Banner Pubblicitari permettono al sito di offrirvi il consueto, alto standard qualitativo. |
| |
|
22-07-2010, 13:43
|
#262 (permalink)
|
|
Utente Senior
Data registrazione: Feb 2010
Messaggi: 1,723
|
Ciao Gransasso se non disturbo troppo avrei un altro codice metastock da tradurre in prorealtime:
Input("Dominio",5,55,14);
Media:= Mov(L.Dominio,VAR);
Volatilita:= ATR(7)/2;
Supporto:=
Media-(Media*Volatilita/100);
Supporto;
Si tratta di un trailing stop basato su dominio a 5,55,14 giorni con calcolo della volatilita' a 7 giorni, da qui si ottiene una media costruita sulla meta'della percentuale della volatilita'; serve da supporto e la posizione si chiude con una o due chiusure al di sotto della media creata.
|
|
|
22-07-2010, 14:32
|
#263 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2009
Messaggi: 212
|
Citazione:
Originalmente inviato da luigileo
Ciao Gransasso se non disturbo troppo avrei un altro codice metastock da tradurre in prorealtime:
Input("Dominio",5,55,14);
Media:= Mov(L.Dominio,VAR);
Volatilita:= ATR(7)/2;
Supporto:=
Media-(Media*Volatilita/100);
Supporto;
Si tratta di un trailing stop basato su dominio a 5,55,14 giorni con calcolo della volatilita' a 7 giorni, da qui si ottiene una media costruita sulla meta'della percentuale della volatilita'; serve da supporto e la posizione si chiude con una o due chiusure al di sotto della media creata.
|
Spiacente ma qui non ci arrivo.
Tra l'altro non conosco neanche il concetto di "dominio a 5,55,14" forse se mi spieghi cos'è potrei provarci.
|
|
|
22-07-2010, 15:00
|
#264 (permalink)
|
|
Utente Senior
Data registrazione: Feb 2010
Messaggi: 1,723
|
"COME AUTOMATIZZARE
IL CALCOLO DEL LIVELLO DI STOP
Il sistema proposto, nonostante l’elevato grado di automatismo nell’indicazione dei breakout, prevede comunque un ruolo centrale per la discrezionalità dell’utilizzatore, che rappresenta sempre l’elemento critico del sistema. E infatti chiamato a decidere se entrare in posizione o meno sulla base dei segnali automatici ma anche e soprattutto in funzione delle condizioni al contorno — supporti, resistenze, livelli particolarmente significativi — che ben difficilmente potrebbero essere sintetizzate in formule matematiche
indicatori algoritmici. E quindi un compito estremamente arduo definire un insieme di regole in grado di calcolare per ogni posizione potenzialmente interessante il relativo livello di stop.
Si è detto che i minimi rilevanti, specialmente se formatisi in occasione di reazioni o pullback, possono costituire corretti livelli al di soffo dei quali posizionare gli stop proteffivi
una soluzione “algoritmica” può essere rappresentata dalla costruzione di un particolare tipo di media mobile sulla base dei minimi registrati in un periodo di 21 giorni, a loro volta modificati sulla base delle volatilità.
La media mobile utilizzata è quella variabile che, grazie alla sua particolare formula,
in grado di adattare automaticamente la reattività in funzione della volatilità espressa dai prezzi. Tale media resta pertanto sostanzialmente orizzontale nei periodi di con- gestione mentre è in grado di reagire molto prontamente non appena si delinea un movimento che può dure origine a un trend. L’utilizzo di una media di questo tipo per derivare livelli di stop prevede alcune fasi:
Selezione del dominio temporale più adatto. Ai nostri fini utilizzeremo 21 giorni, coerente con un approccio al trading di medio periodo. La formula prevede che sia comunque l’utente a selezionare il periodo che preferisce tra 5 e 55 giorni;
Calcolo della volatilità con Atr a 7 giorni;
Costruzione della media sui minimi ai quali andrà sottratta la metà della percentuale della volatilità."In tal modo la linea risulterà tracciata
sotto del reale livello dei minimi e tale
conferirà all’indicatore la necessaria elasticità richiesta dall’evoluzione
volatilità diminuendo il rischio di falsi
[figura 39].
La liquidazione della posizione dovrà
awenire in occasione di una o due
al di sotto della linea di supporto stessa.
La formula è la seguente
Input (“Dominio”, 5,55,14);
Media:= Mov(L,Dominio,VAR);
Volatilita:= ATR(7)/2;
Supporto:
Media— (Media*Volatilita/100);
Supporto;
Questa e' la descrizione che danno della formula che ti ho inviato.
Ciao e grazie comunque.
|
|
|
22-07-2010, 23:47
|
#265 (permalink)
|
|
Guest
|
Citazione:
Originalmente inviato da gransasso
Spiacente ma qui non ci arrivo.
Tra l'altro non conosco neanche il concetto di "dominio a 5,55,14" forse se mi spieghi cos'è potrei provarci.
|
Ciao paesà
in metalanguage:
input( "PROMPT TEXT", MINIMUM VALUE, MAXIMUM VALUE, DEFAULT VALUE)
corrisponde a creare una variabile con la mascherina di PRT
comunque il codicillo si rivela più ostico del previsto
utilizza un tipo di media
Codice:
mov(L,dominio,VAR)
che non conoscevo la VMA o variable moving average solo che se provo a ricrearla con PRT mi manda in palla il programma
allego la bozza di codice che per me dovrebbe ricreare la VMA secondo le istruzioni presenti nel help online di metastock
Codice:
coeff=2/(periodo+1)
vol=chandle[7](close)
if barindex>(periodo+1) then
media=(coeff*vol*low)+((1-coeff)*vol*media[1])
endif
return media
questo un copia incolla dell'help di ms
Citazione:
A variable moving average is an exponential moving average that automatically adjusts the smoothing constant based on the volatility of the data series. The more volatile the data, the larger the smoothing constant used in the moving average calculation. The larger the smoothing constant, the more weight given to the current data. The opposite is true for less volatile data.
Traders often associate high volatility with strongly trending markets. However, this is a mistake. Strong trending markets are often less volatile because of the consistency of day-to-day price changes. Its when prices are erratic in their day-to-day movements (i.e., down a lot, up a little, up a little, up a lot, up a little, down a little, etc.), that volatility increases. This can occur in uptrending, downtrending, or sideways markets.
Typical moving averages suffer from the inability to compensate for changes in volatility. During volatile markets, you want a moving average to increase its sensitivity, so that you will quickly be on the correct side of any wild gyrations. By automatically adjusting the smoothing constant, a variable moving average is able to adjust its sensitivity, allowing it to perform better in both high and low volatility markets.
VMA = (0.78*(volatility index) * close) + (1-0.078 * volatility index)*yesterday's VMA
The absolute value of a 9-period Chande Momentum Oscillator is used for the volatility index. The higher this index the more volatile the market, thereby increasing the sensitivity of the moving average.
This method of calculating a variable moving average was presented by Tushar Chande in the March 1992 issue of Technical Analysis of Stocks & Commodities magazine.
Related Topics
|
bhooo domani o prossimi giorni cerco di capire perchè ...sempre che qualcuno non mi aiuti prima 
Gransasso sei poi riuscito a risolvere il problemino che avevi nel calcolo dello stoploss?
Ciao a tutti
|
|
|
|
23-07-2010, 09:11
|
#266 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2009
Messaggi: 212
|
Citazione:
Originalmente inviato da tetsuo
Ciao paesà
Gransasso sei poi riuscito a risolvere il problemino che avevi nel calcolo dello stoploss?
|
Macchè le sto provando tutte ma prima o poi la becco......
Invece per la VMA ricordo di aver visto qualcosa tempo fa, devo fare mente locale  oppure mi faccio quattro birre e se ne riparla col fresco.
Ciao!
|
|
|
23-07-2010, 18:33
|
#267 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2009
Messaggi: 212
|
Citazione:
Originalmente inviato da tetsuo
Ciao paesà
Gransasso sei poi riuscito a risolvere il problemino che avevi nel calcolo dello stoploss?
Ciao a tutti
|
Mezza soluzione trovata:
per le posizioni long
set stop (low)[BarIndex-ENTRYINDEX+1]
per le posizioni short
set stop (high)[BarIndex-ENTRYINDEX+1]
Peccato che funzionano solo separatamente, ovvero ho dovuto dividere in due il Ts uno long e uno short. Aggiornamenti nelle prossime puntate.
P.S. Comunque nel caso tu avessi già la soluzione ...   
|
|
|
24-07-2010, 16:44
|
#268 (permalink)
|
|
Guest
|
Citazione:
Originalmente inviato da gransasso
|
no mi spiace
.... comunque come hai scritto se inserito semplicemente così , senza metterlo dentro ad un If then che controlla la posizione, è normale che non funziona
l'altro giorno quando ho letto il tuo post l'unica che mi era venuta in mente così al volo era quello di creare una variabile al momento del segnale ...esempio se il segnale si crea se il close supera la mm21 allora compra e fissa SL
Codice:
if close crossover media21 then
buy at market nextbaropen
set stop low
endif
o in alternativa
Codice:
if close crossover media21 then
buy at market nextbaropen
sl=low
endif
if close crossunder media21 then
sellshort at market nextbaropen
sl=high
endif
set stop sl
però io ci gioco veramente poco con i TS e quindi non saprei dirti quale dei due sistemi offre una risposta più coerente.
Citazione:
|
oppure mi faccio quattro birre e se ne riparla col fresco.
|
Se sono quelle di Oppebacco sicuramente lo spirito risulterà rintemprato ma non credo che la mente rimanga abbastanza lucida per pensare a PRT
Ciao e buon week end
|
|
|
|
26-07-2010, 12:02
|
#269 (permalink)
|
|
Utente Senior
Data registrazione: Oct 2009
Messaggi: 212
|
Citazione:
Originalmente inviato da tetsuo
no mi spiace
.... comunque come hai scritto se inserito semplicemente così , senza metterlo dentro ad un If then che controlla la posizione, è normale che non funziona
l'altro giorno quando ho letto il tuo post l'unica che mi era venuta in mente così al volo era quello di creare una variabile al momento del segnale ...esempio se il segnale si crea se il close supera la mm21 allora compra e fissa SL
|
Ci ho provato anchio, ma anche inserendolo in un ciclo condizionale non funziona a dovere, praticamente scatta sempre sulla barra di ingresso. Ho anche provato ad aggiungere una sotto condizione del tipo IF LONGONMARKET ... THEN, ma niente.
Per la birra Opperbacco ovviamente.
|
|
|
26-07-2010, 14:22
|
#270 (permalink)
|
|
lo straniero
Data registrazione: Jul 2009
Località: Cefalù
Messaggi: 648
|
Citazione:
Originalmente inviato da gransasso
Ci ho provato anchio, ma anche inserendolo in un ciclo condizionale non funziona a dovere, praticamente scatta sempre sulla barra di ingresso. Ho anche provato ad aggiungere una sotto condizione del tipo IF LONGONMARKET ... THEN, ma niente.
Per la birra Opperbacco ovviamente.
|
Un saluto a tutti, era un po' di tempo che non passavo da queste parti e vedo con piacere che c'e' attivita'
Ciao gransasso
e' parecchio tempo che non mi occupo di problemi di codice di TS (e anche prima ero una schiappa  ) quindi prendi tutto con le molle ... la tua soluzione mi sembra giusta, in pratica ad ogni barra ti ricalcoli lo stop. In realta' si potrebbe fare qualcosa di meno dispendioso, seguendo l'es di Tetsuo un codice del genere (solo long)
Codice:
if close CROSSES OVER Average[21](close) then
if not longonmarket then
buy 1 shares at market thisbaronclose
set stop low-1
endif
endif
sembra funzionare come vedi nel grafico, quando si va sotto il min della barra che ha generato il segnale scatta lo stop
Personalmente mi piacerebbe capire perche' non ti funziona in questo modo, magari potresti mettere come hai impostato lo stop nel codice, "nascondendo" le parti "sensibili" del tuo codice  , scrivendo cose del tipo If Condizione 1 then ...
Per Tetsuo ... interessante questa questione della VMA ma ci devo pensare un attimo ...
__________________
Il ritorno è il movimento del Tao. [Lao Tzu]
Ultima modifica di meursault : 04-08-2010 alle ore 10:35.
|
|
|
|