ProRealCode - Trading & Coding with ProRealTime™
Buongiorno,
ho appena visto questo codice molto interessante che colora le candele in funzione della posizione della candela rispetto all’Ema a 34 periodi.
Sarebbe possibile farlo funzionare avendo come riferimento l’indicatore Magic trend, modificando le prime due righe con le variabili a) e b)
Ovvero :
colore rosso : candela sotto Magic Trend
Colore blu: Candela tocca magic trend
Colore verde : candela sopra magic trend.
Da quello che ho capito servirebbe la funzione “call”.
Grazie per il prezioso supporto.
Raghee Horner Grab candles
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
a=exponentialaverage [34] (high)
b=exponentialaverage [34] (low)
if close > a Then
DRAWCANDLE(open, high, low, close)COLOURED(0,255,0)
endif
if close<b then
DRAWCANDLE(open, high, low, close)COLOURED(255,0,0)
endif
if ( close >b and close<a) then
DRAWCANDLE(open, high, low, close)coloured(0,0,255)
endif
RETURN
|
Eccolo:
MT = CALL "Magic Trend custom"[20, 14, 1, 5]
r = 255
g = 0
b = 0
t = 255 //ROSSA se la candela chiude sotto MT
IF low <= MT AND high >= MT THEN //BLU' se la candela è sia sopra che sotto MT
r = 0
b = 255
ELSIF close > MT THEN //VERDE se la candela chiude sopra MT
r = 0
g = 255
ELSIF close = MT THEN //GRIGIO se la candela chiude esattamente sulla linea MT
r = 169
g = 169
b = 169
ENDIF
DrawCandle(Open,High,Low,Close) coloured(r,g,b,t)
RETURN
Perfetto, grazie e mille!
Roberto,
buongiorno.
Vorrei fare un esperimento e proporre una piccola modifica all’indicatore che mi hai gentilmente modificato qualche mese fa.
Attualmente l’indicatore evidenzia in colore blu tutte le candele che toccano il Magic Trend, senza distinguere quelle che lo toccano semplicemente (magari con uno spike) da
quelle che crossano al rialzo o al ribasso , a seguito del quale le candele successive cambianocolore (rosso al ribasso, verde al rialzo).
Vorrei che l’indicatore evidenziasse con un colore vivace (arancione ad esempio), quanto si presenta la seguente condizione:
– candela che interseca l’indicatore magic trend, il cui corpo sia per la maggior parte ( diciamo 55-60%) :
– sotto il magic trend (in caso ribassista)
– sopra il magic trend ( in caso rialzista).
Per maggior comprensione allego screenshot, dove ho evidenziato con rettangolo giallo le candele che mi sembra rispettino le condizioni che ho in mente.
Grazie e mille e buona giornata
@Msport71
Ho guardato questo.
Modificato da quello di Roberto sopra.
Penso che segua le tue specifiche.
Ci sono alcune linee alternative su 13,18,23 per 14,19,24 che potresti provare.
Potrebbe essere necessario perfezionarlo ulteriormente.
saluti.
MT = CALL "Magic Trend custom"[20, 14, 1, 5]
once MTdir = -1
if MT > MT[1] then
MTdir = 1 //bull
elsif MT < MT[1] then
MTdir = 0 // bear
endif
t = 255 //ROSSA se la candela chiude sotto MT
percent = 57 // x% 55-60%
//bodyX = (range/100)* percent //alt
bodyX = (abs(open-close)/100)* percent
if MTdir <> -1 then
//if open < MT and close < MT then //alt
if high < MT and low < MT then
r = 255
g = 0
b = 0
//elsif open > MT and close > MT then //alt
elsif low > MT then
r = 0
g = 255
b = 0
else
r = 0
g = 0
b = 255
endif
if MTdir = 0 and (max(open,close)) >= MT+bodyX and min(open,close) <= MT then // bear
r = 255
g = 127
b = 0
elsif MTdir = 1 and (min(open,close)) <= MT-bodyX and max(open,close) >= MT then // bull
r = 255
g = 127
b = 0
endif
DrawCandle(Open,High,Low,Close) coloured(r,g,b,t)
//drawtext(MTdir,barindex, high+7)
//drawtext(bodyX,barindex, high+5)
endif
RETURN
//https://www.prorealcode.com/topic/modifica-codice-da-library-raghee-horner-grab-candles/
@Msport71
Osservando il prezzo prima che il trend [1] sembri “in rialzo”. Puoi facilmente vedere i pullback e le parti impulsive del trend. Il numero di barre nei pullback sembra inferiore al numero nell’impulso.
Quando il prezzo si ritira appena prima di [1], il numero/dimensione di queste candele è sufficiente per modificare il MT in modo da sopportare. Inoltre il 100EMA è rotto. E quando il prezzo inizia a tornare long e [1] incrocia MT, il numero/dimensione della candela è sufficiente per riportarlo al rialzo.
Ora, da un punto di vista commerciale [1] sembra l’ideale, fare trading con il trend, entrare subito dopo un pullback, il trend continua.
Altre cose su [1], pullback prima, test del livello di pivot dei giorni precedenti e il prezzo ripassa oltre 100EMA poco prima [1].
Sulla strada per [2] il MT è rialzista, ci sono una serie di pullback ma il numero/dimensione di queste candele non sono sufficienti per capovolgere il MT. [2] questa volta fa parte di un pullback. Un’altra nota su [2] il pullback si avvicina a 100EMA.
Quando il prezzo va long [3] si adatta alle specifiche di attraversare il MT con circa il 57% al di sotto del MT dal suo Toro. Quindi [3] è un falso segnale di orso poiché le specifiche non prevedono un incrocio allo stesso modo del MT.
Per quanto riguarda [4] questo non è arancione perché è codificato che il corpo deve attraversare la MT almeno del 55-60%. Il corpo di [4] ha attraversato il MT.
“– candela che interseca l’indicatore di tendenza magico, il cui corpo è per la maggior parte (diciamo 55-60%) :”
Capisco perché pensi che dovrebbe, perché dal momento che è blu, quindi deve intersecare il MT.
lo cambierò. Tuttavia [4] non sarebbe ancora arancione poiché non attraversa un MT orso.
Ma dopo aver cambiato il codice [5] sarebbe arancione, perché intercetta il MT dall’incrocio dal basso verso l’alto. rispetto a [1], il pullback appena prima che [5] incroci il MT, il MT diventa rialzista, con il trend, il trend continua.
Ho modificato il codice per includere l’intercettazione che hai indicato, questo ha lanciato molti segnali validi ma falsi
L’ho impostato in modo che solo il primo crossover dell’MT fosse valido.
Quindi si reimposta se cambia il MT o il prezzo ripassa completamente il MT nel caso in cui il MT non sia cambiato.
Inoltre ho cambiato il colore dei crossover dell’orso in rosa in modo da poter vedere la differenza tra loro.
Infine, [1] e [5] sembrano essere buoni segnali in questo caso, sia quando il MT è andato ribassista mentre si è verificato un pullback, poi cambiato in toro dopo il crossover.
Negoziando con la tendenza, la tendenza è continuata.
Non ho esaminato in modo approfondito dopo aver modificato il codice, segnala semplicemente eventuali problemi e li darò un’occhiata
saluti
MT = CALL "Magic Trend custom"[20, 14, 1, 5]
once MTdir = -1
if MT > MT[1] then
MTdir = 1 //bull
elsif MT < MT[1] then
MTdir = 0 // bear
endif
once orange = 0
if MTdir[1] <> MTdir then
orange = 0
endif
if orange = 10 and high < MT then
orange = 0
elsif orange = 11 and low > MT then
orange = 0
endif
t = 255 //ROSSA se la candela chiude sotto MT
//r = 0
//g = 0
//b = 0
percent = 57 // x% 55-60%
//bodyX = (range/100)* percent //alt
bodyX = (abs(open-close)/100)* percent
if MTdir <> -1 then
//if open < MT and close < MT then //alt
if high < MT and low < MT then
r = 255
g = 0
b = 0
//elsif open > MT and close > MT then //alt
elsif low > MT then
r = 0
g = 255
b = 0
else
r = 0
g = 0
b = 255
endif
if orange = 0 and MTdir = 0 and (max(open,close)) >= MT+bodyX and min(low,min(open,close)) <= MT then // bear
orange = 10
r = 255
g = 127
b = 0
elsif orange = 0 and MTdir = 1 and (min(open,close)) <= MT-bodyX and max(high,max(open,close)) >= MT then // bull
orange = 11
r = 255
g = 0
b = 255
endif
DrawCandle(Open,High,Low,Close) coloured(r,g,b,t)
//drawtext(MTdir,barindex, high+7)
//drawtext(bodyX,barindex, high+5)
endif
RETURN
@Msport71
1. Prendere questo segnale come ideale e come riferimento.
2. Il MT cambia nello stesso punto ma sento che il segnale avrebbe dovuto essere la candela blu prima di quella arancione. Potrebbe non essere stato un momento ideale per la fine delle barre poiché i periodi di tempo del grafico sono fissati rigidamente e potrebbero non essere allineati in modo ideale ogni volta.
Se l’ora di fine della barra fosse stata circa 5 minuti dopo, la candela blu potrebbe essere stata posizionata per essere il segnale. Il fatto che ci vorrebbe una barra in più per cambiare il MT potrebbe essere dovuto semplicemente al numero/dimensione delle candele dopo il pullback e poi il contrario.
3. Questo è un po’ diverso, anche se sembra un buon posto per uno scambio, le altre due erano candele rialziste che attraversavano un MT ribassista.
Questo è un toro che tocca il MT, la mossa è iniziata prima, mercoledì 30 agosto 2023, 11:00.
Ci penserò.
Sto lavorando su una nuova versione che cambia il modo in cui vengono identificati i segnali…
Ho sostituito il “55-60% body crossover” con la “prima candela da crossover”, quindi ho riportato la percentuale del corpo e l’ho usata per rimuovere eventuali candele appena sopra. Penso che sia praticamente lo stesso codice ma usato in modo diverso.
Se riduci la variabile ‘percent’ a 16 sulla tua versione, questo sposta il segnale di 2. e il precedente 3 sulla barra precedente.
Inoltre, nella nuova versione puoi attivare/disattivare i segnali quando il MT non cambia ma il prezzo continua a incrociarsi.
Non ancora finito verrà pubblicato il giorno successivo o giù di lì.
Hai qualche idea sulle posizioni di entrata/stop/target/uscita.
saluti
Donchian bias determinatorA livello trading, a grandi linee partirei con : entry: candela successiva alla candela arancio (long) – viola ( short) stop loss: 20 punti sotto la candela arancio (long) – viola ( short) 1st take profit : raggiungimento del pivot level o della prima resistenza o supporto a seconda della direzione del movimento. Spero di averti dato utili indicazioni. Saluti
@Msport71
di seguito, importa la nuova versione, dovrebbe mostrare gli stessi segnali con le stesse impostazioni, nell’impostazione dell’indicatore puoi modificare alcune variabili dalla finestra di impostazione dell’indicatore: –
1) onOff: cambia la combinazione di colori
2) riprova – mostra il segnale di attraversamento quando MT non cambia (punti!)
3) impostazioni percentuali ribassista/rialzista disegna anche la linea MT
Ho compilato una risposta più lunga riguardo ai tuoi commenti qui sopra ma, essendo scomparsa nel nulla, proveremo a recuperarla.
Roberto … Buon punto.
Per offrirti i miei rispetti, da ora in poi mi toglierò il “cappello” per te.
Quando si tratta di scrivere, sono dislessico e possono volerci ore per scrivere una risposta e, alla fine, per me sono come un’opera d’arte.
Non mi sembra di riuscire a fare cose chiare e concise, di solito finiscono per risultare lunghe, dettagliate e complicate. Ecco perché a volte pubblico semplicemente il codice, è logicamente più semplice.
Lo faremo, e ora, superando la barriera linguistica, è solo in cerca di guai.
Ho visto la @ usata in un altro post e, sebbene fosse una buona idea, non ci ho pensato molto.
Dev’essere una giornata lenta!, ora sei qui, fa tre, significa che posso continuare a usare @. lol.
Grazie per tutti i tuoi sforzi, ho imparato così tanto dalle tue risposte al codice.
Ti auguro il meglio.
Druby
modifica codice da library Raghee horner grab candles
This topic contains 22 replies,
has 3 voices, and was last updated by Msport71
2 years, 5 months ago.
| Forum: | ProBuilder: Indicatori & Strumenti Personalizzati |
| Language: | Italian |
| Started: | 02/17/2023 |
| Status: | Active |
| Attachments: | 13 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.