Ho provato a usare la funzione CALL dentro il codice di un indicatore che applico al TF 8 minuti, per richiamare un altro indicatore che fa tutti i calcoli esplicitamente su TIMEFRAME (1day), ma restituisce un dato scorretto, anche se non da nessun errore, ho dovuto scoprirlo da solo. E’ un bug conosciuto?
Grazie in anticipo della risposta
Saluti
P
Si, capita che questo accada, è preferibile aggirare l’ostacolo definendo, all’interno del tuo indicatore chiamante, ANCHE il timeframe DAILY, mentre nell’indicatore chiamato NON indichi nessun timeframe.
Quando farai la CALL dal tuo timeframe DAILY creato nell’indicatore chiamante, tutto sarà corretto.
Grazie per la risposta, ma non mi è chiaro cosa intendi dire …. mi fai un breve esempio per favore con un indicatore su TF 8 minuti che richiama un indicatore Daily … grazie ??!!
Questi sono i due indicatori che usi adesso, il Daily ed il Minuto (che tu puoi applicare su 8 minuti o altro):
Daily:
// Indicatore DAILY
//
Timeframe(Daily) // oppure Timeframe(Daily,UpdateOnClose)
Sma20 = average[20,0](close)
RETURN Sma20 AS "Sma20"
Minuto:
// Indicatore MINUTO
//
miaMedia = CALL "Indicatore DAILY"
RETURN
dovresti sostituirli con queste due versioni modificate:
Daily:
// Indicatore DAILY
//
Sma20 = average[20,0](close)
RETURN Sma20 AS "Sma20"
Minuto:
// Indicatore MINUTO
//
Timeframe(Daily) // oppure Timeframe(Daily,UpdateOnClose)
miaMedia = CALL "Indicatore DAILY"
//
Timeframe(default)
/*
qui metti tutta la parte di codice
tuo
*/
RETURN
In questo modo ottieni lo stesso risultato, corretto. In pratica NON chiamate un indicatore dove all’interno ci sono timeframe specifici., ma crea i timeframe specifici nel TUO indicatore chiamante e lascia nel daily solo il timeframe di default (o anche nessun timeframe, che è la stessa cosa).