Errore nell’indicatore: un parametro di tipo intero positivo è atteso con []

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #142285 quote
    othello
    Participant
    Senior
    st = supertrend[3,10]
    
    CambioVerde = close crosses over St
    CambioRosso = close crosses under St
    
    if cambioVerde then
    c=close
    t=time/10000
    BarraEntryLong=barindex
    a=round(St)
    
    LimSup = Barindex - BarraEntryShort -1
    LimInf = Barindex - BarraMin
    for i=LimSup downto LimInf do
    if High[i]>RR then
    RR=High[i]
    BarraRR=barindex-i
    endif
    next
    
    tProfit=time[barindex-BarraMin]/10000
    tRR=time[barindex-BarraRR]/10000
    
    DRAWTEXT("#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=barindex
    Massimo=close
    RR=close
    BarraRR=barindex
    endif
    
    if close[1] > St[1] then
    if High > Massimo then
    Massimo=High
    BarraMax=barindex
    endif
    endif
    
    if cambioRosso then
    c=close
    t=time/10000
    BarraEntryShort=barindex
    a=round(St)
    
    LimSup = Barindex - BarraEntryLong - 1
    LimInf = Barindex - BarraMax
    for i=LimSup downto LimInf do
    if Low[i]<RR then
    RR=Low[i]
    BarraRR=barindex-i
    endif
    next
    
    tProfit=time[barindex-BarraMax]/10000
    tRR=time[barindex-BarraRR]/10000
    
    DRAWTEXT("#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=Low
    Minimo=close
    RR=close
    BarraRR=barindex
    endif
    
    if close[1] < St[1] then
    if Low < Minimo then
    Minimo=Low
    BarraMin=barindex
    endif
    endif
    
    return
    

    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.

    PRT_1.png PRT_1.png
    #142288 quote
    robertogozzi
    Moderator
    Master

    Trasforma l’indicatore sostituendo alla riga 90, l’ultima, RETURN con:

    Buy at -close limit

    per 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:

    Graph barindex-BarraRR
    
    Graph barindex-BarraMax
    
    Graph Barindex - BarraEntryLong - 1

    ecc…

    #142289 quote
    othello
    Participant
    Senior

    Grazie per il suggerimento. Domani ci provo.

    🙂

    #142290 quote
    robertogozzi
    Moderator
    Master

    Dimenticavo… tutte le istruzioni grafiche dovrai commentarle perché il backtest non le supporta.

    #142302 quote
    othello
    Participant
    Senior

    Ah, ok.

    Grazie.

    #142308 quote
    othello
    Participant
    Senior

    Allora, ho fatto come mi hai detto e credo di aver individuato l’errore.

    
    

    Ho 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

    #142312 quote
    robertogozzi
    Moderator
    Master

    Perché 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.

    #142354 quote
    othello
    Participant
    Senior

    Si, si: tutto a posto.

    Ancora grazie.

    🙂

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

Errore nell’indicatore: un parametro di tipo intero positivo è atteso con []


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
othello @othello Participant
Summary

This topic contains 7 replies,
has 2 voices, and was last updated by othello
5 years, 6 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 08/22/2020
Status: Active
Attachments: 1 files
Logo Logo
Loading...