T O P I C R E V I E W |
piter |
Posted - 08 November 2005 : 16:52:11 sto cercando di imparare l'utizzo del comando price (molto molto utile per capire l veridicit? operativa di un sistema) ma mi sfugge qualcosa.
Premessa, ho creato questo indicatore che non f? altro che darmi il valore di loss (lo utilizzo come trailing stop)e si basa molto semplicemente nel tenere conto del minimo di tre periodi sempre che l'ultimo abbia close>= close precedente altrimenti l'indicatore tiene in memoria il valore precedente senza aggiornarlo. L'incrocio del prezzo con questo indicatore determina l'uscita il trailing stop (semplice e magari a qualcuno pu? anche servire)
********************************************* dim minloss as Numeric Function main() if close >= close( - 1) then minloss = min(low, 3) else minloss = minloss endif return minloss Endfunction **************************************
Ora tanto per provare creo un trading system che mi dice di entrare lungo se la chiusura di oggi ? maggiore di quella di ieri e inserisco inoltre il mio comando "price high" che nel conteggio del valore di ingresso della posizione tiene conto di un ingresso al superamento del massimo di oggi
******************************************* function main() dim condlong as Boolean
if close > close( - 1) then condlong = true endif
price high
return condlong endfunction **************************************
E qu? tutto bene. Ora gli dico di chiudere le posione long all'ingrocio del prezzo con l'indicatore prima descritto e ci aggiungo la funzione price per darmi l'esatto valore da tenere conto nel conteggio dell'uscita del TS, ma in realt? mi da valore diverso. Ora s? bene che l'errore ? mio ma ho difficolt? a capirne il perch?
******************************************* dim minloss as Numeric Function main() dim condloss as Boolean
if close >= close( - 1) then minloss = min(low, 3) else minloss = minloss endif
if low < minloss then condloss = true endif
price minloss
return condloss
Endfunction ***********************************************
piter |
1 L A T E S T R E P L I E S (Newest First) |
SupportoTecnico |
Posted - 08 November 2005 : 18:22:46 Chiariamo prima di tutto a cosa serve realmente PRICE.
In pratica, "Price" dice al trading system a quale prezzo eseguire l'entrata o l'uscita in una posizione, ma non ? la condizione di entrata o uscita, e neppure aggiunge un'ulteriore condizione di entrata/uscita. "Price" dice semplicemente al trading system a quale prezzo eseguire l'ordine. Il tutto serve unicamente per le statistiche.
Infatti, in questo modo l'utente ha la possibilit? di avere delle statistiche pi? vicine alla realt? appunto perch? pu? decidere il prezzo di esecuzione dell'ordine che normalmente in altri programmi ? l'apertura, il massimo, il minimo o la chiusura del periodo in cui ? scattato il segnale.
Detto questo devi correggere il codice del trading system utilizzando l'indicatore che hai di sicuro creato a che supponiamo tu abbia chiamato MyMinLoss. Quindi correggi il codice di uscita in questo modo:
Function main() dim condloss as Boolean dim dMl as Numeric
dMl = MyMinLoss
if low < dMl then condloss = true endif
price dMl
return condloss
Endfunction
Il motivo ? che non puoi utilizzare il codice con cui hai costruito l'indicatore direttamente nella condizione di uscita perch? il codice della condizione di uscita non viene eseguito sempre! ma solamente quando esiste una posizione long aperta. E' ovvio quindi che il valore della variabile minloss che avevi usato era sicuramente sballato.
|
|
|