Linee sul grafico

Viewing 15 posts - 16 through 30 (of 35 total)
  • Author
    Posts
  • #74822 quote
    abd78
    Participant
    Veteran

    si da errore perchè ho provato a modificarlo, questo è il codice senza errore

    //DEFPARAM CalculateOnLastBars = false
    //DEFPARAM DrawOnLastBarOnly   = true
    
    //MioVolume   = 0     non stampa niente
    ONCE Prezzo    = 0
    //ONCE MiaBarra  = 0
    ONCE MioVolume = max(0,min(MioVolume,999999))  //intervallo accettato 0 - 999999
    
    IF Volume >= MioVolume  AND MioVolume > 0 THEN
    //MiaBarra = BarIndex
    IF close > open THEN
    Prezzo = high
    ELSE
    Prezzo = low
    ENDIF
    ENDIF
    //DRAWSEGMENT(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
    //DRAWLINE(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
    DRAWHLINE(Prezzo) COLOURED(0,0,0) //(138,43,226,255)
    RETURN
    

    volevo aggiungere un secondo parametro con la possibilità di dare un altro valore (la linea disegnata di un altro colore in modo da capire le differenze). con la possibilità di eliminare le linee con una spunta.

    Inserendo i parametri vorrei che mi disegnasse un rettangolo sulle ombre inferiori delle candele rosse e sulle ombre superiori delle candele verdi. (con la possibilità di allargare il rettangolo o toglierli nel caso mettessi 0 come valore).

    #74919 quote
    robertogozzi
    Moderator
    Master

    Le linee non possono essere eliminate con una spunta, solo l’indicatore stesso può decidere se, come e dove stamparle. L’utente non può intervenire se non alcune cose previste dalle prioprietà degli indicatori. Può solo variare il codice per adeguarlo a diverse esigenze.

    Il rettangolo si può stampare, oppure no. Allargarlo si potrebbe, ma il valore varrebbe per TUTTI i rettangoli, non uno più grande ed un altro più piccolo. Vuoi che il rettangolo sia visibile su tutte le barre oppure solo sull’ultima?

    #74951 quote
    abd78
    Participant
    Veteran

    per il rettangolo va bene su tutte le barre, se si può mettere una grandezza del rettangolo in modo che se lo metto a 0 non segna nulla mentre se metto un altro valore si allunga in base al valore (va bene il valore uguale per tutti). direi come hai detto tu. (ti allego le immagini)

    b.png b.png c.png c.png
    #75141 quote
    robertogozzi
    Moderator
    Master

    Questo è il codice, non stamperà il rettangolo sull’ultima barra perché la stampa va sulle barre future (BarIndex+2), quindi o lo lasci così, oppure togli il +2 ed ottieni un rettangolo che dalla barra corrente va indietro. Se togli anche -2 dalla barra di partenza otterrai un rettangolo uguale all’ombra e NON lo vedrai (se non perché è colorato diversamente dall’ombra, ma non sarà facile scorgerlo).

    Se, all’inizio, indichi un numero alto di barre oppure non indichi il parametro CALCULATEONLASTBARS otterrai un grafico illeggibile pieno di linee orizzonatli. Eventualmente inserisci dei limiti di voilume molto alti. Io le prove le ho fatte sul DAX €1 a 15 minuti con volumi di 10.000 per entrambi i valori.

    DEFPARAM CalculateOnLastBars = 2000
    //DEFPARAM DrawOnLastBarOnly   = true
    //MioVolume   = 0     non stampa niente
    //MioVolume2  = 0     non stampa niente
    Prezzo    = 0
    Massimo   = 0
    Minimo    = 0
    //ONCE MiaBarra  = 0
    ONCE MioVolume  = max(0,min(MioVolume,999999))   //intervallo accettato 0 - 999999
    ONCE MioVolume2 = max(0,min(MioVolume2,999999))  //intervallo accettato 0 - 999999
    
    IF Volume >= MioVolume  AND MioVolume > 0 THEN
    //MiaBarra = BarIndex
    IF close > open THEN
    Prezzo = high
    ELSE
    Prezzo = low
    ENDIF
    ENDIF
    IF Volume >= MioVolume2  AND MioVolume2 > 0 THEN
    //MiaBarra = BarIndex
    IF close > open THEN
    Massimo = high
    Minimo  = close
    ELSE
    Massimo = close
    Minimo  = low
    ENDIF
    ENDIF
    //DRAWSEGMENT(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
    //DRAWLINE(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
    DRAWHLINE(Prezzo) COLOURED(138,43,226,255) //(138,43,226,255)
    DRAWRECTANGLE(BarIndex-2,Massimo,BarIndex+2,Minimo)coloured(255,10,10,255)
    RETURN
    abd78 thanked this post
    x.jpg x.jpg
    #75155 quote
    abd78
    Participant
    Veteran

    ciao, è possibile aggiungere 2 parametri? miovolume: 10000+ (le colora di un colore) miovolume2 20000 (le colore di un altro)? se invece è compreso tra questi le colore di un altro ancora? mettendo 0 di default per evitare confusione.

    si può mettere nella finestra dei parametri anche “rettangolo” dove inserendo 0 non disegna nulla e inserendo un valore mi allunga il triangolo in avanti? per il disegno del triangolo si può far partire direttamente dall’ombra della candela verde max – rossa min, compresa nei valori che ho dato del volume?

    #75167 quote
    robertogozzi
    Moderator
    Master

    I 2 parametri sono quelli indicati alle righe 3 e 4, in più ho aggiunto le BarreRettangolo; se non sai come indicarli tra le variabili delle proprietà basta che importi il file che allego (che potrai rinominare come più ti piace).

    I colori, sia delle due righe che del rettangolo puoi variarli come vuoi, qui trovi i codici https://www.prorealcode.com/wp-content/uploads/2015/09/P1jHlnG.jpg.

    DEFPARAM CalculateOnLastBars = 2000
    //DEFPARAM DrawOnLastBarOnly   = true
    //MioVolume       = 0  non stampa niente
    //MioVolume2      = 0  non stampa niente
    //BarreRettangolo = 0  stampa un rettangolo pari all'ombra della candela, quindi quasi invisibile
    Prezzo    = 0
    Massimo   = 0
    Minimo    = 0
    //ONCE MiaBarra  = 0
    ONCE MioVolume       = max(0,min(MioVolume,999999))        //intervallo accettato 0 - 999999
    ONCE MioVolume2      = max(0,min(MioVolume2,999999))       //intervallo accettato 0 - 999999
    ONCE BarreRettangolo = max(0,min(BarreRettangolo,999999))  //intervallo accettato 0 - 999999
    
    IF Volume >= MioVolume  AND MioVolume > 0 THEN
    //MiaBarra = BarIndex
    IF close > open THEN
    Prezzo = high
    r = 138
    g = 43
    b = 226
    ELSE
    Prezzo = low
    r = 144
    g = 238
    b = 144
    ENDIF
    ENDIF
    IF Volume >= MioVolume2  AND MioVolume2 > 0 THEN
    //MiaBarra = BarIndex
    IF close > open THEN
    Massimo = high
    Minimo  = close
    ELSE
    Massimo = close
    Minimo  = low
    ENDIF
    ENDIF
    //DRAWSEGMENT(MiaBarra,Prezzo,BarIndex,Prezzo) COLOURED(138,43,226,255)
    //DRAWLINE(MiaBarra,Prezzo,BarIndex,Prezzo)   COLOURED(138,43,226,255)
    DRAWHLINE(Prezzo) COLOURED(r,g,b,255)               //(138,43,226,255)
    DRAWRECTANGLE(BarIndex,Massimo,BarIndex+BarreRettangolo,Minimo)coloured(255,10,10,255)
    RETURN
    abd78 thanked this post
    Il-Mio-Indicatore-LINEE-e-RETT.itf
    #75172 quote
    abd78
    Participant
    Veteran

    Le linee di un colore andavano bene, se il volume supera il valore scritto me le disegna tutte di uno stesso colore (quindi andava bene quello precedente) , mentre se supera l’altro me le disegna del colore del secondo.

    esempio nell’immagine

    miovolume: 6000 (verde)

    miovolume2: 4000 (viola)

    il rettangolo lo posso far disegnare su tutte?

    b.png b.png a.png a.png
    #75175 quote
    robertogozzi
    Moderator
    Master

    Il rettangolo lo disegna già su tutte le candele che soddisfano la seconda condizione. Lo di segna anche se metti 0 nel numero barre, solo che ti sembra invisibile perché ricopre l’ombra, se ingrandisci parecchio il grafico lo noterai.

    #75177 quote
    abd78
    Participant
    Veteran

    può essere fatto sulle condizioni che soddisfano anche la prima?

    il miovolume deve essere uguale al miovolume2 solo che inserendo un valore diverso mi disegna le linee di un altro colore diverso, mentre da quello che capisco ora il miovolume2 è il rettangolo, non si può separare?

    #75220 quote
    robertogozzi
    Moderator
    Master

    Le barre hanno colore diverso se sono rialziste o ribassiste.

    Il rettangolo ha SEMPRE uno stesso colore di default stabilito da PRT, si può solo cambiarne il bordo.

    #75234 quote
    abd78
    Participant
    Veteran

    le linee possono avere tutte lo stesso colore sia che siano rialziste o ribassiste?

    miovolume: 4000 linee di un colore (uguali o superiori al 4000)

    miovolume2: 6000 (linee di un colore diverso se uguali o superiori al 6000)

    rettangolo: che si disegna sia sulle condizioni del miovolume e del miovolume2 (il colore è indifferente)

    si può mettere anche un check? disegna linee (spuntano compaiono – tolto si eliminano solo le linee)?

    saluti

    a-1.png a-1.png
    #75363 quote
    robertogozzi
    Moderator
    Master

    Non si può mettere una tick box per selezionare alcune linee, al massimo si può decidere di visualizzare solo l’ultima.

    #75403 quote
    abd78
    Participant
    Veteran

    non si possono eliminare tutte le linee con la tickbox non selezionata? l’altra modifica si può fare?

    #75404 quote
    robertogozzi
    Moderator
    Master

    Dopo vari aggiustamenti e modifiche non riesco più a trovare il bandolo della matassa, ti spiace riepilogarmi quello che vuoi. Grazie.

    #75407 quote
    abd78
    Participant
    Veteran

    le linee possono avere tutte lo stesso colore sia che siano rialziste o ribassiste?

    miovolume = 4000 linee di un colore

    miovolume2 = 6000 linee di un colore diverso (così da differenziare)

    rettangolo: che si disegna sia sulle condizioni del miovolume e del miovolume2 (il colore è indifferente).

Viewing 15 posts - 16 through 30 (of 35 total)
  • You must be logged in to reply to this topic.

Linee sul grafico


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
abd78 @fede9483 Participant
Summary

This topic contains 34 replies,
has 3 voices, and was last updated by Fabiotti
7 years, 3 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 05/29/2018
Status: Active
Attachments: 20 files
Logo Logo
Loading...