Salve,
Citazione Originariamente Scritto da TomBishop Visualizza Messaggio
Sembra molto più veloce di prima!

Ora però mi da errori su alcuni indicatori che avevo costruito in precedenza che sembravano funzionare:

Ad esempio: errore DIVISION BY ZERO nel seguente indicatore che utilizzo per evitare momenti di lateralità in un TS trend following.

INPUTS: @LM(60), @SM(8), @lowMark(0.95), @highMark(1.05)

set LM = SMA (close,@LM)
set SM = SMA (close,@SM)

SET MOMENTUM = (SM / LM)

SET PLOT1 = MOMENTUM
SET PLOTCOLOR1 = IF (PLOT1 >@highMark , COLOR_GREEN, COLOR_WHITE)
SET PLOTCOLOR2 = IF (PLOT1 <@lowMark , COLOR_RED, COLOR_WHITE)
set plot2 = @lowMark
set plot3 = @highMark
si, il codice in questione può fornire il messaggio di divisione per zero, in quanto la variabile LM, per le prime @LM barre, non è valorizzata.
La soluzione migliore è quella di eseguire la divisione SM / LM soltanto all'interno di una istruzione IF, per esempio così:

SET MOMENTUM = IF(LM <> 0, SM / LM, 0)
Questo caso particolare sarà affrontato nelle prossime release in modo che il messaggio di errore non venga presentato per i periodi di "priming" (barre necessarie all'inizio del calcolo) dei valori degli indicatori.

Max Francario