Proiezione max – min della barra in corso

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #69819 quote
    Fabio P
    Participant
    New

    Buongiorno. Purtroppo non sono in  grado di programmare questo indicatore che dovrebbe in base ai valori della barra appena conclusa dare le proiezioni della barra successiva.

    Comunque i dati da utilizzare sono i seguenti:

     

    //se la barra appena conclusa è

    if (open < close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + low)/2)-low)

    then low[1] = (((high + low + close + low)/2)-high

    endif

     

    //se la barra appena conclusa è

    if (open > close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + high)/2)-low)

    then low[1] = (((high + low + close + high)/2)-high

    endif

     

    //se la barra appena conclusa è

    if (open = close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + close)/2)-low)

    then low[1] = (((high + low + close + close)/2)-high

    endif

     

    //per la barra che si sta formando dovrebbero esserci sopra e sotto  2 segmenti che mostrano i possibili livelli futuri, cioè high[1] e low[1] sopra calcolati

     

    Ringrazio fin da ora chi saprà aiutarmi.

     

    saluti

    Fabio

    #69820 quote
    Fabio P
    Participant
    New

    Mi sembra che abbia cambiato delle indicazioni nel salvataggio, quindi riprovo:

     

    //se la barra appena conclusa è

    if (open < close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + low)/2)-low)

    then low[1] = (((high + low + close + low)/2)-high)

    endif

     

    //se la barra appena conclusa è

    if (open > close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + high)/2)-low)

    then low[1] = (((high + low + close + high)/2)-high)

    endif

     

    //se la barra appena conclusa è

    if (open = close)

    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi

    then high[1] = (((high + low + close + close)/2)-low)

    then low[1] = (((high + low + close + close)/2)-high)

    endif

     

    //per la barra che si sta formando dovrebbero esserci sopra e sotto  2 segmenti che mostrano i livelli futuri possibili, cioè high[1] e low[1] sopra calcolati

    #69821 quote
    Fabio P
    Participant
    New

    aggiungo una immagine perchè mi cambia i dati nel salvataggio

    #69822 quote
    Fabio P
    Participant
    New

    [attachment file=”Max – min.jpg”]

    #69823 quote
    Fabio P
    Participant
    New
    //se la barra appena conclusa è
    if (open < close)
    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi
    then high[1] = (((high + low + close + low)/2)-low)
    then low[1] = (((high + low + close + low)/2)-high)
    endif
    
    //se la barra appena conclusa è
    if (open > close)
    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi
    then high[1] = (((high + low + close + high)/2)-low)
    then low[1] = (((high + low + close + high)/2)-high)
    endif
    
    //se la barra appena conclusa è
    if (open = close)
    //allora la barra che si sta formando dovrebbe avere come proiezione di massimi e minimi
    then high[1] = (((high + low + close + close)/2)-low)
    then low[1] = (((high + low + close + close)/2)-high)
    endif
    
    //per la barra che si sta formando dovrebbero esserci sopra e sotto  2 segmenti che mostrano i livelli futuri possibili, cioè high[1] e low[1] sopra calcolati
    
    
    #69840 quote
    robertogozzi
    Moderator
    Master

    Devo precisare alcune cose:

    1. NON si possono modificare le costanti del sistema, quindi è impossibile assegnare ad HIGH, come alle altre, un valore, perché NON sono variabili, ma costanti che possono solo RESTITUIRE un valore, non assumerlo (se non dal mercato);
    2. NON si possono disegnare oggetti nel futuro (solo il codice interno della piattafiorma può farlo), per cui il segmento si può solo disegnare sulla barra di partenza e poi allungarlo ad ogni barra successiva
    3. NON si possono, da una strategia, leggere i valori degli oggetti sul grafico;
    4. THEN va scritto sulla riga di sopra, in pratica la riga inizia con IF e termina con THEN, salvo ci siano commenti.

    Quanto al punto 1. è così e non si può fare niente, può darsi che tu abbia inteso, alle righe 4-5 ecc…, solo farlo come esempio. Ad ogni modo ho capito cosa intendi, è un semplice calcolo, che invece di assegnarlo alla costantra HIGH lo assegneremo ad una variabile MioMassimo, o qualunque altro nome.

    Quanto al punto 2., la soluzione è quella indicata, cioè iniziare a stampare un segmento sulla barra corrente ed allungarlo, verso destra, ad ogni barra successiva, per ricominciare con un altro punto alla stessa ora dello stesso giorno della settimana successiva.

    Quanto al punto 3. ti scriverò il codice entro breve tempo.

    Quanto al punto 4. non c’è altro da dire.

    #69857 quote
    robertogozzi
    Moderator
    Master

    Spero di avere capito bene, questo è il tuo codice corretto ed adattato (devi installarlo/copiarlo in ProBuilder e poi metterlo sul prezzo, NON sotto):

    ONCE MassimoFuturo = 0
    ONCE MinimoFuturo  = 0
    if (open < close) then
       MassimoFuturo = (((high + low + close + low)/2)-low)
       MinimoFuturo  = (((high + low + close + low)/2)-high)
    elsif (open > close) then
       MassimoFuturo = (((high + low + close + high)/2)-low)
       MinimoFuturo  = (((high + low + close + high)/2)-high)
    elsif (open = close) then
       MassimoFuturo = (((high + low + close + close)/2)-low)
       MinimoFuturo  = (((high + low + close + close)/2)-high)
    endif
    RETURN MassimoFuturo coloured(0,255,0,255), MinimoFuturo coloured(255,0,0,255)
    Proiezioni.itf Proiezioni.jpg Proiezioni.jpg
    #69874 quote
    Fabio P
    Participant
    New

    Grazie Roberto. Fantastico!

    Faccio una correzione perché nella fretta ho commesso un errore:

    ONCE MassimoFuturo = 0
    ONCE MinimoFuturo  = 0
    if (open > close) then
       MassimoFuturo = (((high + low + close + low)/2)-low)
       MinimoFuturo  = (((high + low + close + low)/2)-high)
    elsif (open < close) then
       MassimoFuturo = (((high + low + close + high)/2)-low)
       MinimoFuturo  = (((high + low + close + high)/2)-high)
    elsif (open = close) then
       MassimoFuturo = (((high + low + close + close)/2)-low)
       MinimoFuturo  = (((high + low + close + close)/2)-high)
    endif
    RETURN MassimoFuturo coloured(0,255,0,255), MinimoFuturo coloured(255,0,0,255)

    Ora i valori sono corretti. Ma trovo che siano difficili da leggere a colpo d’occhio. Come si può fare? Forse solo con un puntino anziché una linea continua, oppure punto-linea, oppure…?

    Grazie e sinceri saluti

    #181635 quote
    robertogozzi
    Moderator
    Master

    Scusami se non ti ho più risposto, mi era proprio passato!  L’ho ritrovato per caso.

    Forse hai già risolto, in ogni caso ti allego una foto che ti mostra come cambiare il tipo di tratto ed il suo spessore, tramite le proprietà dell’indicatore.

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

Proiezione max – min della barra in corso


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Author
author-avatar
Fabio P @fabio-p Participant
Summary

This topic contains 8 replies,
has 1 voice, and was last updated by robertogozzi
4 years, 4 months ago.

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