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
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
aggiungo una immagine perchè mi cambia i dati nel salvataggio
[attachment file=”Max – min.jpg”]
//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
Devo precisare alcune cose:
- 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);
- 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
- NON si possono, da una strategia, leggere i valori degli oggetti sul grafico;
- 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.
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)
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
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.