richiamare indicatore personalizzato

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #45235 quote
    Luigi5192Luigi5192
    Participant
    Average

    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).

    #45237 quote
    Leonida1984Leonida1984
    Participant
    Average

    Ciao, io ti consiglierei di ricopiare il codice nella tua strategia. Fare ciò velocizza il backtest.

    Buona giornata!

    #45271 quote
    Luigi5192Luigi5192
    Participant
    Average

    Ho gia provato pero mi da errore dicendo probuilder.error.suggestion.EOF, forse perchè utilizzo il comando Return e su proorder non è supportato.

    #45274 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Non 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.

    #45288 quote
    Leonida1984Leonida1984
    Participant
    Average

    Luigi se posti il codice ti possiamo aiutare, o almeno ci mettiamo tutto l’impegno possibile per farlo. Con il codice è tutto più semplice.

    #45331 quote
    Luigi5192Luigi5192
    Participant
    Average

    Ecco 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 length

    if 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
    endif

    RETURN PB as “Pass band filter”, RMSplus as “RMS+”, RMSminus as “RMS-“

    #45332 quote
    Luigi5192Luigi5192
    Participant
    Average

    Come dice il sig. Robertogozzi, dovrei cambiare Return con If, cioe;

    If PB as “Pass band filter”, RMSplus as “RMS+”, RMSminus as “RMS-“ then

    endif

    Non so se va bene come lo impostato.

    #45335 quote
    robertogozzirobertogozzi
    Moderator
    Legend

    Le 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):

    DEFPARAM CalculateOnLastBars = 1000
    x = (Range < Range[1]) AND (Range[1] < Range[2]) AND (Range[2] < Range[3]) AND (Range[3] < Range[4])
    RETURN x

    Per richiamarlo da una strategia occorre fare:

    indicator1 = CALL "Il Mio Indicatore"
    x = (indicator1 > 0)
    IF x THEN
       BUY 1 CONTRACT AT MARKET   //o SELLSHORT, secondo le proprie necessità
    END

    Questa è la forma classica, certamente un pò lenta, tanto più lenta quanto più è complesso l’indicatore.

    La soluzione più veloce è d’incorporarlo nella strategia:

    x = (Range < Range[1]) AND (Range[1] < Range[2]) AND (Range[2] < Range[3]) AND (Range[3] < Range[4])
    IF x THEN
       BUY 1 CONTRACT AT MARKET  //o SELLSHORT
    ENDIF

    Questo 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!

    Nicolas thanked this post
Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.
ProRealAI ProRealAI New

Stuck on this ProBuilder code?

Describe what this topic is trying to build, in plain English, and ProRealAI writes the ProRealTime™ indicator, screener or system for you.

Available in 7 languages
Try ProRealAI

richiamare indicatore personalizzato


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Luigi5192 @luigi5192 Participant
Summary

This topic contains 7 replies,
has 3 voices, and was last updated by robertogozzirobertogozzi
9 years ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/02/2017
Status: Active
Attachments: No files
ProRealCode ProRealCode
Loading...