Errore nell’indicatore: un parametro di tipo intero positivo è atteso con []
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Errore nell’indicatore: un parametro di tipo intero positivo è atteso con []
- This topic has 7 replies, 2 voices, and was last updated 3 years ago by othello.
-
-
08/22/2020 at 9:26 PM #142285Supertrend_Check123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990st = supertrend[3,10]CambioVerde = close crosses over StCambioRosso = close crosses under Stif cambioVerde thenc=closet=time/10000BarraEntryLong=barindexa=round(St)LimSup = Barindex - BarraEntryShort -1LimInf = Barindex - BarraMinfor i=LimSup downto LimInf doif High[i]>RR thenRR=High[i]BarraRR=barindex-iendifnexttProfit=time[barindex-BarraMin]/10000tRR=time[barindex-BarraRR]/10000DRAWTEXT("#c#", barindex, high+5)DRAWTEXT("Entry", barindex, high+7)drawtext("#t#",barindex, high+9)DRAWTEXT("#a#", barindex, St-2)DRAWTEXT("Risk", barindex, St-4)DRAWTEXT("#Minimo#", BarraMin, Minimo-11)DRAWTEXT("MaxProfit", BarraMin, Minimo-13)DRAWTEXT("#tProfit#", BarraMin, Minimo-15)DRAWTEXT("RR", BarraRR, RR+6)DRAWTEXT("#RR#", BarraRR, RR+4)DRAWTEXT("#tRR#", BarraRR, RR+2)BarraMax=barindexMassimo=closeRR=closeBarraRR=barindexendifif close[1] > St[1] thenif High > Massimo thenMassimo=HighBarraMax=barindexendifendifif cambioRosso thenc=closet=time/10000BarraEntryShort=barindexa=round(St)LimSup = Barindex - BarraEntryLong - 1LimInf = Barindex - BarraMaxfor i=LimSup downto LimInf doif Low[i]<RR thenRR=Low[i]BarraRR=barindex-iendifnexttProfit=time[barindex-BarraMax]/10000tRR=time[barindex-BarraRR]/10000DRAWTEXT("#c#", barindex, Low-5)DRAWTEXT("Entry", barindex, Low-7)drawtext("#t#",barindex, low-9)DRAWTEXT("#a#", barindex, St+2)DRAWTEXT("Risk", barindex, St+4)DRAWTEXT("#Massimo#", BarraMax, Massimo+11)DRAWTEXT("MaxProfit", BarraMax, Massimo+13)DRAWTEXT("#tProfit#", BarraMax, Massimo+15)DRAWTEXT("#RR#", BarraRR, RR-5)DRAWTEXT("RR", BarraRR, RR-7)DRAWTEXT("#tRR#", BarraRR, RR-9)BarraMin=LowMinimo=closeRR=closeBarraRR=barindexendifif close[1] < St[1] thenif Low < Minimo thenMinimo=LowBarraMin=barindexendifendifreturn
Il codice indicato gira correttamente su Germany 30 con time frame a 3 minuti con 10.000 unità. Se porto il numero delle unità a 15000 mi da l’errore indicato nell’immagine che allego.
Qualcuno può aiutarmi per cercare di capirne la ragione?
Grazie mille.
08/22/2020 at 10:01 PM #142288Trasforma l’indicatore sostituendo alla riga 90, l’ultima, RETURN con:
1Buy at -close limitper avere almeno un ordine, che non sarà mai eseguito.
Aggiungi alla fine tante istruzioni GRAPH quante sono le variabili usate come indici tra parentesi quadre, per verificarne i valori candela per candela, ad esempio:
12345Graph barindex-BarraRRGraph barindex-BarraMaxGraph Barindex - BarraEntryLong - 1ecc…
08/22/2020 at 10:06 PM #14228908/22/2020 at 10:19 PM #142290Dimenticavo… tutte le istruzioni grafiche dovrai commentarle perché il backtest non le supporta.
08/23/2020 at 10:11 AM #14230208/23/2020 at 10:47 AM #142308Allora, ho fatto come mi hai detto e credo di aver individuato l’errore.
1Ho osservato che la variabile BarraMin, in occorrenza della sesta candela, assume un valore decimale. Perchè?
Il motivo è nella riga 77 del codice già pubblicato al post #142285.
Ora continuo con il check per verificare la presenza di altri errori.
La cosa strana è che, applicato al grafico Germany 30, time frame 3 minuti, 10000 unità, l’errore non veniva mai intercettato! Misteri del “coding”. 🙂
Ti ringrazio, Roberto, per l’aiuto e la tua disponibilità.
Mauro
08/23/2020 at 11:23 AM #142312Perché in quel caso specifico il prezzo forse, casualmente, non aveva decimali (esempio 12409.0) e lo considerava intero. Boh!?
Comunque una volta che alla riga 77 hai usato BARINDEX, come alla 35, doveebbe funzionare.
08/23/2020 at 3:50 PM #142354 -
AuthorPosts