richiamare indicatore personalizzato
Forums › ProRealTime forum Italiano › Supporto ProOrder › richiamare indicatore personalizzato
- This topic has 7 replies, 3 voices, and was last updated 7 years ago by robertogozzi.
-
-
09/02/2017 at 5:03 PM #45235
Salve avrei bisogno di un aiuto per un indicatore personalizzato da me creato.
L’indicatore ha 3 linee: LineaA, LineaB, LineaX, e l’indicatore si chiama Volatility indicator
Ora dovrei richiamare sulla mia strategia il dato della lineaA e B, dell’indicatore, come dovrei scrivere?
Ho capito che per richiamare l’indicatore scrivo: indicatorA= CALL “Volatility indicator”(close).
09/02/2017 at 5:21 PM #45237Ciao, io ti consiglierei di ricopiare il codice nella tua strategia. Fare ciò velocizza il backtest.
Buona giornata!
09/03/2017 at 8:37 AM #4527109/03/2017 at 9:38 AM #45274Non devi usare return, basta che prendi quello che return restituisce e lo usi come condizione.
Ad esempio, un indicatore tipo una media fa dei calcoli e restituisce un valore. Tu prendi quel valore calcolato e lo usi con IF o altro per la tua strategia. In tal modo eviti di mettere una CALL.
09/03/2017 at 2:02 PM #45288Luigi se posti il codice ti possiamo aiutare, o almeno ci mettiamo tutto l’impegno possibile per farlo. Con il codice è tutto più semplice.
09/04/2017 at 8:47 AM #45331Ecco il codice dell’indicatore, io vorrei richiamare il valore RMS+ e RMS- e Pass band filter, cioè tutti e tre i valori che mi calcola.
// parameters
flen = 40 //fast length
slen = 60 //slow lengthif barindex>slen then
a1= 5/flen
a2= 5/slen
PB = (a1 – a2) * close + (a2*(1 – a1) – a1 * (1 – a2))* close[1] + ((1 – a1) + (1 – a2))*(PB[1])- (1 – a1)* (1 – a2)*(PB[2])
RMSa = summation[50](PB*PB)
RMSplus = sqrt(RMSa/50)
RMSminus = -RMSplus
endifRETURN PB as “Pass band filter”, RMSplus as “RMS+”, RMSminus as “RMS-“
09/04/2017 at 8:50 AM #4533209/04/2017 at 9:21 AM #45335Le faccio un esempio di indicatore estremamente semplice, verifica e segnala che le ultime 4 candele abbiano tutte un RANGE inferiore alla precedente (senza fare caso al colore):
Range123DEFPARAM CalculateOnLastBars = 1000x = (Range < Range[1]) AND (Range[1] < Range[2]) AND (Range[2] < Range[3]) AND (Range[3] < Range[4])RETURN xPer richiamarlo da una strategia occorre fare:
Strategia RANGE12345indicator1 = CALL "Il Mio Indicatore"x = (indicator1 > 0)IF x THENBUY 1 CONTRACT AT MARKET //o SELLSHORT, secondo le proprie necessitàENDQuesta è la forma classica, certamente un pò lenta, tanto più lenta quanto più è complesso l’indicatore.
La soluzione più veloce è d’incorporarlo nella strategia:
1234x = (Range < Range[1]) AND (Range[1] < Range[2]) AND (Range[2] < Range[3]) AND (Range[3] < Range[4])IF x THENBUY 1 CONTRACT AT MARKET //o SELLSHORTENDIFQuesto metodo è molto più veloce, ma occorre, in ogni strategia, riportare l’intero indicatore. In questo caso è una sola riga, ma se fossero decine…. la cosa si complicherebbe.
Inoltre, e questa è la peggiore controindicazione, se l’indicatore deve essere modificato ed è indipendente basta fare una modifica soltanto, mentre se è incorporato nelle strategie, vanno modificate tutte quante per fare la stessa correzione!!!
Per l’aspetto di quali parametri indicare con CALL e come indicarli, basta fare una creazione semplificata (assistita) della strategia e ProOrder scrive il codice necessario, generalmente con qualche modifica da fare.
Spero di essere stato esauriente.
Buon trading!
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on