Programmazione Prorealtime Prorealtime:formule, indicatori, oscillatori, tsi ...

E' possibile far tracciare a PRT delle trendline in automatico partendo da 2 punti?

Es.
Ho individuato due minimi e vorrei tracciare una trend che tocca i due minimi e si estende man mano che il grafico prosegue.

questo non è impossibile a farsi, definiti i due punti si calcola l'escursione di prezzo e il numero di barre che li divide. La retta che vogliamo disegnare avrà un' incremento pari all'escusione di prezzo diviso il numero di barre.
Ricorda che in PRT non è possibile disegnare nel passato quindi se è necessario aspettare il punto B per disegnare la retta AB allora questa non partirà da A ma da B avendo comunque la giusta inclinazione .... chiaro no ???:D

Oppure ancora meglio, parte da un minimo prefissato e si posiziona inizialmente con un'inclinazione di 45°, poi individuando dei minimi relativi si posiziona con l'inclinazione del trend in corso.
definisci 45° su una chart prezzo tempo (zoommabile) ;) se riesci a chiarirmi questo ti sarò grato io per primo e con me una decina di altri utenti che stanno aspettando che lo risolvo io il problema :D

E' possibile creare un indicatore che mi dice quando a partire da un intervallo tempo prefissato coincidente con l'inizio della barra in corso, i volumi superano nel tempo di "x" minuti un valore prefissato? Quest'ultimo è una sorta di indicatore che misura l'accelerazione dei volumi.

Es.
Time frame 5' Ore 9.15
Io vorrei che l'indicatore cambi di stato (tipo 0-1) se dopo 1' i volumi hanno superato quota 300.
........
 
Ciao jx

come hai visto già in passato abbiamo trattato lo stesso argomento. Il tuo caso è molto simile a quello del ForceIndex trattato al post 240 ovvero un indicatore che oscilla con ampiezza varibile intorno all'asse dello zero


Per poterlo plottare sul prezzo devi creare le due variabili (nel passarto esempio le avevo chiamate zero e moltiplicatore) ed aggiungere due righe al codice tipo:

.....
miavel=zero+(vel*moltiplicatore)
miamvel=zero+(mvel*moltiplicatore)
return miavel,miamvel

Imposti lo zero e giochi un po' con la variabile moltiplicatore che funziona come uno zoom


:up:


Ciao, grazie TETSUO, ci sono riuscito, allego il codice per chi ne' avesse bisogno.
Buon Natale a tutti.

mcorta=Average[n,a](close)
mlunga=Average[m,a](close)
picchio=mcorta-mlunga

vel=picchio-picchio[1]
mvel=Average[l,a](vel)
miavel=zero+(vel*moltiplicatore)
miamvel=zero+(mvel*moltiplicatore)
return miavel,miamvel
 
questo non è impossibile a farsi, definiti i due punti si calcola l'escursione di prezzo e il numero di barre che li divide. La retta che vogliamo disegnare avrà un' incremento pari all'escusione di prezzo diviso il numero di barre.
Ricorda che in PRT non è possibile disegnare nel passato quindi se è necessario aspettare il punto B per disegnare la retta AB allora questa non partirà da A ma da B avendo comunque la giusta inclinazione .... chiaro no ???:D

definisci 45° su una chart prezzo tempo (zoommabile) ;) se riesci a chiarirmi questo ti sarò grato io per primo e con me una decina di altri utenti che stanno aspettando che lo risolvo io il problema :D

........

In merito al secondo quesito, quello dove hai messo i puntini, :eek: sai meglio di me che è possibile farlo in maniera semiautomatica, impostando un alert sul volume, però bisogna inserire il grafico del volume come indicatore e tenere gli occhi fissi sull’orologio per capire se, quando si sente il suono che segnala il superamento della prefissata soglia di volumi, il tempo è inferiore uguale alla soglia con la tolleranza prefissata.

Per non parlare del fatto che la finestra degli alert della T3, la piatta che uso io, è piuttosto criptica e se ci sono più alert le cose si complicano ancora. L’algoritmo per fare questo indicatore sarebbe abbastanza semplice:

IF tempo prefissato <= Ora attuale – Ora inizio barra corrente < tempo prefissato + tolleranza AND Volume >=xxxx THEN
Indicatore=1
ELSE
Indicatore=0
ENDIF
RETURN Indicatore

Come vedi è sufficiente completare la parte arancione. :D:D:D
 
questo non è impossibile a farsi, definiti i due punti si calcola l'escursione di prezzo e il numero di barre che li divide. La retta che vogliamo disegnare avrà un' incremento pari all'escusione di prezzo diviso il numero di barre.
Ricorda che in PRT non è possibile disegnare nel passato quindi se è necessario aspettare il punto B per disegnare la retta AB allora questa non partirà da A ma da B avendo comunque la giusta inclinazione .... chiaro no ???:D

definisci 45° su una chart prezzo tempo (zoommabile) ;) se riesci a chiarirmi questo ti sarò grato io per primo e con me una decina di altri utenti che stanno aspettando che lo risolvo io il problema :D

........


Il primo quesito è stato formulato per evitare di tracciare le trendline in maniera manuale che spesso costringono a zommare il grafico più volte, per farle passar nei punti desiderati. Quindi, questo è un oggetto statico.
Sappiamo che una trendline che passa per 2 punti altro non è che l’equazione di una retta.
Supponiamo che i punti siano già individuati sul grafico. Io conosco le ordinate. Ma come individuo in maniera automatica le ascisse, ovvero il numero di barre comprese fra i due punti, per definire il coefficiente angolare della retta? Cioè come faccio capire a PRT che deve iniziare a contare dal 1° punto di interesse che inserisco come variabile?

L’evoluzione sarebbe quella di tracciare una trendline ascendente o discendente quando si individua un nuovo trend ad esempio per effetto di un parametro che potrebbe essere, una media, sar o quello che vuoi e questo è un oggetto dinamico.
[FONT=&quot]Supponiamo di voler tracciare una trendline rialzista, la trend avrebbe inizialmente una inclinazione di 45°, fin quando un controllo sul coefficiente angolare della salita non individua un minimo relativo. Anche qui bisognerebbe forse fare dei distinguo. Un uptrend ha una configurazione diversa da un down trend. L’inclinazione iniziale di 45° potrebbe andar bene per un uptrend, viceversa, un down trend potrebbe avere una inclinazione iniziale diversa, ad esempio di -30°/-40°.[/FONT]

Adesso ti ho praticamente risolto il problema.:D:D:D
Tralasciando le battute, spero di essere stato più chiaro rispetto al post precedente.
Ancora un grazie per la disponibilità.:bow::bow::bow:

P.S. la scritta in piccolo non è voluta
 
....
Supponiamo che i punti siano già individuati sul grafico. Io conosco le ordinate. Ma come individuo in maniera automatica le ascisse, ovvero il numero di barre comprese fra i due punti, per definire il coefficiente angolare della retta? Cioè come faccio capire a PRT che deve iniziare a contare dal 1° punto di interesse che inserisco come variabile?
......


Ciao Clic

tempo fa giocando con il pattern di wolfe avevo scritto il codice per uno screener che tracciava in automatico le rette 1-3-5 e 2-4 del wolfe.

http://www.investireoggi.it/forum/1303208-post17.html

In quel caso usavo il sistema dello zig-zag per riuscire ad individuare gli swing e con piccoli accorgimenti portavo anche il conto del numero di barra dove si verificavano. A quel punto avendo tutte le cordinate disegnare la retta era proprio facile.
Prova a dare un occhio al file e se qualche parte non ti è chiara nel funzionamento chiedi pure:up:

[FONT=&quot]Supponiamo di voler tracciare una trendline rialzista, la trend avrebbe inizialmente una inclinazione di 45°, [/FONT]
a cosa corrispondono sti 45° ...detta così sembra facile ma a me invece sa di impossibile .... non abbiamo a che fare con carta millimetrata, e come ricavare un agolo in gradi avendo in ascissa il prezzo ed in ordinata il tempo non è proprio chiaro.
A parte tutto ho letto diverse discussioni dove in tanti si sono scornati intorno a questo argomento presentando le più disparate teorie ma nessuno è riuscito a soddisfare la richiesta....oppure sono io che sono tonto e non sono riuscito a capirla. :D Calcolare l'angolo di una media, calcolare l'inclinazione di un trend, disegnare una retta con angolo x° sono tutte domande che non hanno risposta perchè......:-o

...se qualcuno ha la pazienza di spiegare come fare a livello matematico io poi a metterlo in codice ci impiego poco ...:D
 
Parabole

Salve

tempo addietro Tetsuo ha postato codice parabola.

/////////////LA PARABOLA DI TETSUO//////////////////

n=n+1

xx1=x1*x1
xx2=x2*x2
xx3=x3*x3

D=(xx1*x2)+(x1*xx3)+(xx2*x3)-(x2*xx3)-(x1*xx2)-(xx1*x3)
DA=(y1*x2)+(x1*y3)+(y2*x3)-(x2*y3)-(x1*y2)-(y1*x3)
DB=(xx1*y2)+(y1*xx3)+(xx2*y3)-(y2*xx3)-(y1*xx2)-(xx1*y3)
DC=(xx1*x2*y3)+(x1*y2*xx3)+(y1*xx2*x3)-(y1*x2*xx3)-(y3*x1*xx2)-(y2*xx1*x3)

a=DA/D
b=DB/D
c=DC/D

y=(a*(n*n))+(b*n)+c

return y

//////////////////////FINE////////////////////////////////

si creano 6 variabili: x1,y1,x2,y2,x3,y3
le variabili y devono poter essere decimali

chiaramente si deve creare un ulteriore indicatore Il Conta Barre:

////////CONTABARRE/////////

n=n+1

return n

//////////FINE///////////

________________________________________________________

Per rendere la cosa più semplice si potrebbe crearlo seguendo questa logica ?
Si potrebbe creare definendo
Anno-Mese-Giorno-Ora-Minuto del primo punto; Limite = X è la barra finale di costruzione della parabola; P1 è il prezzo del primo punto; P2 è il prezzo del secondo punto; P3 è il prezzo del terzo punto; dist2 è la distanza in BARRE del secondo punto dal primo punto; dist3 è la distanza in BARRE del terzo punto dal primo punto

Se qualcuno ci riesce ben venga.....
 
Ultima modifica:
Salve

tempo addietro Tetsuo ha postato codice parabola.

/////////////LA PARABOLA DI TETSUO//////////////////

n=n+1

xx1=x1*x1
xx2=x2*x2
xx3=x3*x3

D=(xx1*x2)+(x1*xx3)+(xx2*x3)-(x2*xx3)-(x1*xx2)-(xx1*x3)
DA=(y1*x2)+(x1*y3)+(y2*x3)-(x2*y3)-(x1*y2)-(y1*x3)
DB=(xx1*y2)+(y1*xx3)+(xx2*y3)-(y2*xx3)-(y1*xx2)-(xx1*y3)
DC=(xx1*x2*y3)+(x1*y2*xx3)+(y1*xx2*x3)-(y1*x2*xx3)-(y3*x1*xx2)-(y2*xx1*x3)

a=DA/D
b=DB/D
c=DC/D

y=(a*(n*n))+(b*n)+c

return y

//////////////////////FINE////////////////////////////////

si creano 6 variabili: x1,y1,x2,y2,x3,y3
le variabili y devono poter essere decimali

chiaramente si deve creare un ulteriore indicatore Il Conta Barre:

////////CONTABARRE/////////

n=n+1

return n

//////////FINE///////////

________________________________________________________

Per rendere la cosa più semplice si potrebbe crearlo seguendo questa logica ?
Si potrebbe creare definendo
Anno-Mese-Giorno-Ora-Minuto del primo punto; Limite = X è la barra finale di costruzione della parabola; P1 è il prezzo del primo punto; P2 è il prezzo del secondo punto; P3 è il prezzo del terzo punto; dist2 è la distanza in BARRE del secondo punto dal primo punto; dist3 è la distanza in BARRE del terzo punto dal primo punto

Se qualcuno ci riesce ben venga.....



mi sembra mi avevi chiesto una cosa simile anche per mp io poi non ti ho mai risposto .... mi son sempre dimenticato .... sorry ..

Con la tua modifica magari ottieni il vantaggio di sganciarti dall'uso dell'indicatore contabarre ma al prezzo di ben 5 variabili in più da definire :-?

Comunque dovrebbe essere fattibile tipo


if anno=year and mese=month and giorno=day and ora=hour and minuto=minute then

x1=barindex+1
x2=x1+dist2
x3=x2+dist3
x4=x1+limite
flag=1
endif

if barindex>x4 then
flag=0
endif


n=n+1

xx1=x1*x1
xx2=x2*x2
xx3=x3*x3

D=(xx1*x2)+(x1*xx3)+(xx2*x3)-(x2*xx3)-(x1*xx2)-(xx1*x3)
DA=(y1*x2)+(x1*y3)+(y2*x3)-(x2*y3)-(x1*y2)-(y1*x3)
DB=(xx1*y2)+(y1*xx3)+(xx2*y3)-(y2*xx3)-(y1*xx2)-(xx1*y3)
DC=(xx1*x2*y3)+(x1*y2*xx3)+(y1*xx2*x3)-(y1*x2*xx3)-(y3*x1*xx2)-(y2*xx1*x3)

a=DA/D
b=DB/D
c=DC/D

if flag=1 then

y=(a*(n*n))+(b*n)+c
else
y=Undefined

endif

return y
////////////////////////////////////////
 
Eppure se conosci la barra di partenza per un mago del PRT come te dovrebbe essere abbastanza semplice.
Supponiamo di voler costruire un trend ascendente:
L'equazione di una retta ha l'espressione y=ax+b
a è il coefficiente angolare ed individua l'inclinazione della retta e b il termine noto ed individua l'intersezione della retta con l'asse delle ordinate.
Io decido di tracciare la retta da un minimo che individuo sul grafico che supponiamo abbia valore 100.
[FONT=&quot]Pertanto b=100 e quella barra per me deve essere la barra "0".[/FONT]
a è pari ad 1 (coefficiente angolare della nostra trend) per il numero di barre, dove quest'ultime vengono conteggiate partendo dalla barra "0". Quella è una retta con inclinazione di 45° perchè ad ogni barra si incrementa di 1 unità.
Domanda:
Si riesce a far capire a PRT qual'è la barra "0"?



secondo me stai facendo un sacco di confusione .... :-?


una retta su una chart che aumenta di valore 1 per ogni barra (indifferentemente dal TF) è semplicemente una retta che aumenta di valore uno per ogni barra non di certo una retta a 45°!!!! E' una retta che ha un accellerazione pari a 1 prezzo/tempo.

In quanto anche se i valori scelti sono unitari e quindi "sembra che disegnano un triangolo rettangolo standard" è solo un illusione, perchè tu stai mischiando, come mi diceva la mia maestra pere con mele, prezzo e tempo sono due misure diverse!!!!

Clic se una macchina percorre √2 km in salita in un'ora, la pendenza della strada sarà pari a 45°?????? :wall:

La risposta la troverai in un MOMENTUM :lol:

Al massimo possiamo accettare questo che dici come un assioma per lo strumento in esame. Allora io prendo come regola che una retta che io chiamo arbitrariamente 45° ha sul mio strumento una crescita di un punto per barra (sarebbe bene specificare il TF in quanto poi se cambio TF devo adeguare il rapporto) e scrivere il codice è banale in quanto il coefficiente angolare a lo imposto come parametro!!!


Per quanto riguarda far trovare a PRT il punto "0" la cosa è altrettanto semplice o lo definisci tu tramite parametri quindi sempre a priori oppure devi dirmi che metodo vuoi usare per riuscire a far capire al programma come distinguere il punto 0.



Se tu conosci metodi o altri programmi che fanno quello che tu descrivi linkameli, io rimango scettico a riguardo ma aperto a clamorose smentite o nuove rivelazioni :D

ciao e buon pranzo
 
Variabili

mi sembra mi avevi chiesto una cosa simile anche per mp io poi non ti ho mai risposto .... mi son sempre dimenticato .... sorry ..

Con la tua modifica magari ottieni il vantaggio di sganciarti dall'uso dell'indicatore contabarre ma al prezzo di ben 5 variabili in più da definire :-?

Comunque dovrebbe essere fattibile tipo


if anno=year and mese=month and giorno=day and ora=hour and minuto=minute then

x1=barindex+1
x2=x1+dist2
x3=x2+dist3
x4=x1+limite
flag=1
endif

if barindex>x4 then
flag=0
endif


n=n+1

xx1=x1*x1
xx2=x2*x2
xx3=x3*x3

D=(xx1*x2)+(x1*xx3)+(xx2*x3)-(x2*xx3)-(x1*xx2)-(xx1*x3)
DA=(y1*x2)+(x1*y3)+(y2*x3)-(x2*y3)-(x1*y2)-(y1*x3)
DB=(xx1*y2)+(y1*xx3)+(xx2*y3)-(y2*xx3)-(y1*xx2)-(xx1*y3)
DC=(xx1*x2*y3)+(x1*y2*xx3)+(y1*xx2*x3)-(y1*x2*xx3)-(y3*x1*xx2)-(y2*xx1*x3)

a=DA/D
b=DB/D
c=DC/D

if flag=1 then

y=(a*(n*n))+(b*n)+c
else
y=Undefined

endif

return y
////////////////////////////////////////

Le variabili sono: Anno/Mese/Giorno/Ora/Minuto e basta ?
 
Le variabili sono: Anno/Mese/Giorno/Ora/Minuto e basta ?



ma no!!!!

sono 11 le variabili da creare in questo caso

3 per il prezzo come nella precedente versione, y1,y2,y3

5 per la barra per la data del primo punto Anno, mese, giorno, ora, minuto

2 per le distanze dei successivi punti dist2, dist3

1 per decidere dove far smettere il calcolo, limite

Ciao
 

Users who are viewing this thread

Back
Alto