cerco indicatore livelli massimi e minimi

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #167610 quote
    daniele1991
    Participant
    Junior

    cerco indicatore per vedere sul grafico i livelli massimo e minimo giorno precedente e massimo e minimo settimanale grazie mille

    #167619 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    ONCE MaxDoggi = high
    ONCE MinDoggi = low
    ONCE MaxWoggi = high
    ONCE MinWOggi = low
    ONCE MaxDieri = high
    ONCE MinDieri = low
    ONCE MaxWieri = high
    ONCE MinWieri = low
    // aggiornamento settimanale
    IF OpenDayOfWeek < OpenDayOfWeek[1] THEN
       MaxWieri = MaxWoggi
       MinWieri = MinWoggi
       MaxWoggi = high
       MinWoggi = low
    ENDIF
    // aggiornamento giornaliero
    i = 1
    IF OpenDay <> OpenDay[i] THEN
       MaxDieri = MaxDoggi
       MinDieri = MinDoggi
       MaxDoggi = high
       MinDoggi = low
    ENDIF
    //
    MaxWoggi = max(high,MaxWoggi)
    MinWoggi = min(low, MinWoggi)
    //
    MaxDoggi = max(high,MaxDoggi)
    MinDoggi = min(low, MinDoggi)
    //
    RETURN MaxWieri AS "Max W",MinWieri AS "Min W",MaxDieri AS "Max D",MinDieri AS "Min D"

    i colori e lo stile delle linee puoi settarli tramite le proprietà/impostazioni dell’indicatore.

    #167645 quote
    daniele1991
    Participant
    Junior

    grazie mille ma come faccio ad inserirlo nella piattaforma ?

    #167651 quote
    robertogozzi
    Moderator
    Master

    Devi entrare in ProBuilder (indicatori), crearne uno nuovo, gli dai un nome e ci copi questo con Copia & Incolla.

    Poi lo aggiungi sul grafico cliccando sull’etichetta PREZZO del grafico

    #167660 quote
    daniele1991
    Participant
    Junior

    grazie mille 🙂

    #167935 quote
    daniele1991
    Participant
    Junior

    mi chiedevo se e’ possibile far rimanere sui livelli di mass e min giornaliero e settimanale la scritta fissa come vede in figura ( IN FIGURA SI VEDE PERCHE’ CI CLICCO SOPRA CON IL MOUSE ) E IN PIU’ MI CHIEDEVO SE E’ POSSIBILE AVERE SOLO IL MASSIMO E MINIMO DEL GIORNO PRECEDENTE E DELLA SENTTIMANA PRECEDENTE E NON LO STORICO COME VEDE IN FIGURA ….LA RINGRAZIO E’ STATO PREZIOSO IN QUALSIASI CASO

    indicatore-pro-real.png indicatore-pro-real.png
    #167954 quote
    robertogozzi
    Moderator
    Master

    Eccolo, puoi anche stabilire quanto sopra/sotto (positivo o negativo) il testo debba essere stampato e duante barre oltre l’ultima (o prima, se il valore è negativo):

    DEFPARAM DrawOnLastBarOnly = TRUE
    //ONCE DistanzaTesto = 10                       //offset del testo (sopra/sotto la linea)
    //ONCE LineeFuture   = 0
    ONCE MaxDoggi = high
    ONCE MinDoggi = low
    ONCE MaxWoggi = high
    ONCE MinWOggi = low
    ONCE MaxDieri = high
    ONCE MinDieri = low
    ONCE MaxWieri = high
    ONCE MinWieri = low
    ONCE Offset   = DistanzaTesto * PipSize
    ONCE Future   = LineeFuture
    // aggiornamento settimanale
    IF OpenDayOfWeek < OpenDayOfWeek[1] THEN
       MaxWieri = MaxWoggi
       MinWieri = MinWoggi
       MaxWoggi = high
       MinWoggi = low
       BarraW   = BarIndex
    ENDIF
    // aggiornamento giornaliero
    i = 1
    IF OpenDay <> OpenDay[i] THEN
       MaxDieri = MaxDoggi
       MinDieri = MinDoggi
       MaxDoggi = high
       MinDoggi = low
       BarraD   = BarIndex
    ENDIF
    //
    MaxWoggi = max(high,MaxWoggi)
    MinWoggi = min(low, MinWoggi)
    //
    MaxDoggi = max(high,MaxDoggi)
    MinDoggi = min(low, MinDoggi)
    //
    DrawSegment(BarraW,MaxWIeri,BarIndex,MaxWieri)                coloured(0,0,255,255)    //Blù
    DrawText("MaxW #MaxWieri#",BarIndex+Future,MaxWieri + Offset) coloured(0,0,255,255)    //Blù
    DrawSegment(BarraW,MinWIeri,BarIndex,MinWieri)                coloured(0,0,255,255)    //Blù
    DrawText("MinW #MinWieri#",BarIndex+Future,MinWieri - Offset) coloured(0,0,255,255)    //Blù
    //
    DrawSegment(BarraD,MaxDIeri,BarIndex,MaxDieri)                coloured(0,128,0,150)    //Verde
    DrawText("MaxD #MaxDieri#",BarIndex+Future,MaxDieri + Offset) coloured(0,128,0,150)    //Verde
    DrawSegment(BarraD,MinDIeri,BarIndex,MinDieri)                coloured(0,128,0,150)    //Verde
    DrawText("MinD #MinDieri#",BarIndex+Future,MinDieri - Offset) coloured(0,128,0,150)    //Verde
    //
    //RETURN MaxWieri AS "Max W",MinWieri AS "Min W",MaxDieri AS "Max D",MinDieri AS "Min D"
    RETURN

    Se vuoi cambiare i colori (sono i primi 3 parametri, RGB, il quarto è la trasparenza) li trovi qui http://cloford.com/resources/colours/500col.htm.

    Ti consiglio di importare il file ITF per avere già le variabili dichiarate (altrimenti togli i commenti dalle linee 2 e 3).

    Linee-D-e-W.itf
    #168036 quote
    daniele1991
    Participant
    Junior

    L’indicatore funziona benissimo ma c’eè un problema il Lunedi’ perche’ invece di prendere come riferimento la candela del venerdi’ prende come riferimento la candela di Domenica sbagliando il posizionamento dei livelli ….. si potremme fare qualche modifica ?

    grazie

    #168050 quote
    robertogozzi
    Moderator
    Master

    Si può fargliela saltare, con questo (verificalo):

    DEFPARAM DrawOnLastBarOnly = TRUE
    Timeframe(default)
    //ONCE DistanzaTesto = 30                       //offset del testo (sopra/sotto la linea)
    //ONCE LineeFuture   = 0                        //numero di barre future dove stampare le linee
    //ONCE NoDomenica    = 1                        //0=includi Domenica,  1=escludere Domenica
    //
    Timeframe(Weekly)
    MaxWieri    = high[1]
    MinWieri    = low[1]
    //
    Timeframe(Daily,default)
    i = 1 + ((OpenDayOfWeek = 1) AND NoDomenica)
    MaxDieri    = high[i]
    MinDieri    = low[i]
    //
    Timeframe(default)
    ONCE Offset = DistanzaTesto * PipSize
    ONCE Future = LineeFuture
    IF IntradayBarIndex = 0 THEN
       Barra    = BarIndex
    ENDIF
    //
    DrawSegment(Barra,MaxWIeri,BarIndex,MaxWieri)                 coloured(0,0,255,255)   //Blù
    DrawText("MaxW #MaxWieri#",BarIndex+Future,MaxWieri + Offset) coloured(0,0,255,255)   //Blù
    DrawSegment(Barra,MinWIeri,BarIndex,MinWieri)                 coloured(0,0,255,255)   //Blù
    DrawText("MinW #MinWieri#",BarIndex+Future,MinWieri - Offset) coloured(0,0,255,255)   //Blù
    //
    DrawSegment(Barra,MaxDIeri,BarIndex,MaxDieri)                 coloured(0,128,0,150)   //Verde
    DrawText("MaxD #MaxDieri#",BarIndex+Future,MaxDieri + Offset) coloured(0,128,0,150)   //Verde
    DrawSegment(Barra,MinDIeri,BarIndex,MinDieri)                 coloured(0,128,0,150)   //Verde
    DrawText("MinD #MinDieri#",BarIndex+Future,MinDieri - Offset) coloured(0,128,0,150)   //Verde
    //
    RETURN

    Ti conviene importare il file ITF.

    L’ho semplificato utilizzando il supporto MTF (Multi Time Frame, facilita la programmazione quando si devono utilizzare TF diversi).

    Indicatore-W-D.itf
    #168059 quote
    daniele1991
    Participant
    Junior

    perfetti funziona tutto grazie veramente

    #168165 quote
    daniele1991
    Participant
    Junior

    buongiorno , sarebbe possibile allungare e rendere piu’ spesse le linee dei livelli ?

    #168174 quote
    robertogozzi
    Moderator
    Master

    C’è già la variabile LineeFuture per il testo (se vuoi spostarlo in avanti o indietro rispetto alle linee), ti aggiungo anche la variabile Proiezione per le linee, da modificare sempre tramite le proprietà/impostazioni.

    Per lo spessore aggiungo nel codice l’istruzione STYLE per le linee e modifico DRWATEXT per il testo. Questi valori però, se vuoi variarli, devi farlo modificando il codice in quanto non sono accettate variabili:

    DEFPARAM DrawOnLastBarOnly = TRUE
    Timeframe(default)
    //ONCE DistanzaTesto = 30                    //offset del testo (sopra/sotto la linea)
    //ONCE LineeFuture   = 0                     //numero di barre future dove stampare le linee
    //ONCE NoDomenica    = 1                     //0=includi Domenica,  1=escludere Domenica
    //ONCE Proiezione    = 0                     //3 linee da stampare nel futuro (indietro se negativo)
    //
    Timeframe(Weekly)
    MaxWieri    = high[1]
    MinWieri    = low[1]
    //
    Timeframe(Daily,default)
    i = 1 + ((OpenDayOfWeek = 1) AND NoDomenica)
    MaxDieri    = high[i]
    MinDieri    = low[i]
    //
    Timeframe(default)
    ONCE Offset = DistanzaTesto * PipSize
    ONCE X      = LineeFuture
    ONCE y      = Proiezione
    ONCE Z      = Offset
    IF IntradayBarIndex = 0 THEN
       Bx       = BarIndex
    ENDIF
    //
    DrawSegment(Bx,MaxWIeri,BarIndex+Y,MaxWieri)             coloured(0,0,255,255) Style(Line,2) //Blù
    DrawText("MaxW #MaxWieri#",BarIndex+Y+X,MaxWieri+Z,Dialog,Standard,10) coloured(0,0,255,255) //Blù
    DrawSegment(Bx,MinWIeri,BarIndex+Y,MinWieri)             coloured(0,0,255,255) Style(Line,2) //Blù
    DrawText("MinW #MinWieri#",BarIndex+Y+X,MinWieri-Z,Dialog,Standard,10) coloured(0,0,255,255) //Blù
    //
    DrawSegment(Bx,MaxDIeri,BarIndex+Y,MaxDieri)             coloured(0,128,0,150) Style(Line,2) //Verde
    DrawText("MaxD #MaxDieri#",BarIndex+Y+X,MaxDieri+Z,Dialog,Standard,10) coloured(0,128,0,150) //Verde
    DrawSegment(Bx,MinDIeri,BarIndex+Y,MinDieri)             coloured(0,128,0,150) Style(Line,2) //Verde
    DrawText("MinD #MinDieri#",BarIndex+Y+X,MinDieri-Z,Dialog,Standard,10) coloured(0,128,0,150) //Verde
    //
    RETURN

    Con la variabile Proiezione sposti, in avanti o indietro, sia le linee che il testo; con la variabile LineeFuture agisci solo sul testo.

    Con STYLE puoi usare una valore tra 1 e 5.

    Con DRAWTEXT puoi usare un valore tra 1 e 30.

    Indicatore-W-D-1.itf
    #168182 quote
    daniele1991
    Participant
    Junior

    purtroppo mmi esce questo messaggio ( le allego l’immagine )

    errore-programmazione.png errore-programmazione.png
    #168194 quote
    robertogozzi
    Moderator
    Master

    Importa il file.

    #168228 quote
    daniele1991
    Participant
    Junior

    l’indicatore funziona importandolo ma la proiezione della linea me la fa estendere solo verso  destra non verso sinistra

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

cerco indicatore livelli massimi e minimi


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
Summary

This topic contains 21 replies,
has 3 voices, and was last updated by robertogozzi
4 years, 10 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 04/20/2021
Status: Active
Attachments: 5 files
Logo Logo
Loading...