Rappresentazione grafica distibuzione valori (MODA)
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Rappresentazione grafica distibuzione valori (MODA)
- This topic has 2 replies, 2 voices, and was last updated 1 year ago by effegi.
-
-
03/27/2023 at 4:45 PM #212234
Salve. Per chi può essere interessato, condivido questo semplice codice per analizzare in modo grafico la distribuzione dei valori di qualche variabile di interesse, cosa che trovo utile quando si ricerca parametri di settings per indicatori o trading systems.
Non sono un matematico, ma cercavo qualcosa di equivalente alla MODA che potesse aiutare a fare statistiche in modo veloce, dando immediatamente idea della frequenza con cui si presentano determinati valori. Può servire solo per valori NORMALIZZATI e poco per valori assoluti (valori positivi>0)
Ho escluso dal calcolo la candela 0 in quanto ancora in formazione. Per andare oltre le 500 candele modificare CalculateOnLastBars.
Inserire la variabile di interesse come VIA nel timeframe desiderato (per es, la distribuzione della differenza fra close e la sua media a 50 periodi, il valore dello stocastico, ecc)Esempio #1: distribuzione range barra giornaliera in % rispetto all’ATR14 daily, nelle ultime 200 candele, nel range 0-200%, diviso a step del 25%
Esempio #2: distribuzione range barra giornaliera in % rispetto all’ATR14 daily, nelle ultime 400 candele, nel range 0-200%, diviso a step del 5%
Esempio #3: distrubuzione del valore di RSI14 su barre 15M, nelle ultime 300 candele, nel range 0-100, diviso a step di 10PS: Ho provato a pubblicare l’indicatore in libreria, ma non funzionano i pulsanti per aggiungere il file itf e gli screenshot
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253//T.F. 27-03-2023 - MODA Indicator//Sharing on ProRealCodeDEFPARAM CalculateOnLastBars = 500DEFPARAM DRAWONLASTBARONLY = true//Parameters://CDB=200 //Candle Back//NOB=20 //Number Of Bands//BW=10 //Band Width//VZOOM=5 //Vertical Zoom - for graphics only//Variable in Analysis - 1rangeD=rangeAtrD=AverageTrueRange[14](close)rangeP=rangeD/atrD*100//Variable in Analysis - 2myrsi=RSI[14](close)[1]//MODAVIA=Rangep //Variable in analysis - 1rem VIA=myrsi //Variable in analysis - 2offset=Highest[30](high)+200*pipsize //for graphics onlyMaxCOVINB=0 //for graphics onlyif dayofweek=currentdayofweek then //to reduce calculation timefor i=1 to NOB doCOVINB=0 //Count Of Values in Bandfor z=1 to CDB doif VIA[z]>=(BW*(i-1)) and VIA[z]<(BW*i) thenCOVINB=COVINB+1endifnextbwx=BW*i //for graphics onlydrawpoint(barindex-i,COVINB*pipsize*VZOOM+offset,2) coloured(0,0,200) //Y pointdrawtext("#COVINB#",barindex-i,COVINB*pipsize*VZOOM+30*pipsize+offset) //Y valuedrawtext("#BWx#>",barindex-i,offset-30*pipsize) //X scaleIf COVINB>MaxCOVINB THEN //for graphics onlyMaxCOVINB=COVINBENDIFnextdrawrectangle (barindex,offset,barindex-NOB-1,MaxCOVINB*pipsize*VZOOM+50*pipsize+offset) coloured(0,0,200)drawtext ("MODA - #NOB#Bands - #BW#Bandwidth - On last #CDB#Candles", barindex-round(NOB/2)-1,MaxCOVINB*pipsize*VZOOM+70*pipsize+offset)//Value Table for OCR - Optionalfor i=1 to CDB doxx=round(via[i],1)drawtext ("C#i#= #xx#", barindex,low-i*20*pipsize-10*pipsize)nextendifreturn03/27/2023 at 5:23 PM #212241Non essendo un matematico neppure io, puoi spiegarmi cosa significa MODA?
In ogni caso, grazie per avere condiviso la tua idea.
03/27/2023 at 7:02 PM #212257Mi perdonino i veri matematici per la spiegazione semplicistica: la MODA dovrebbe dare l’idea di quale (o quali) siano stati i valori più frequenti in una serie di dati. Quello che interessava a me era una rappresentazione grafica in stile “volume profile” per analizzare in modo automatico quanto frequenti siano stati alcuni valori in un set di variabili analizzando un pezzo più o meno lungo di storia passata – la “probabilità”, con tutti i limiti del caso.
https://it.wikipedia.org/wiki/Moda_(statistica)
In modo grafico, veloce e senza usare excel, cambiando solo i parametri dell’indicatore e il pezzo di codice che calcola la variabile da analizzare.
Nell’esempio 1 di cui sopra, analizzare le ultime 200 candele daily DAX e capire quante stiano nell’intervallo fra 0-25% rispetto all’ATR14, quanto fra 25-50%, ecc
Nell’esempio 2, uguale: analizzare le ultime 400 candele daily DAX e verificare la frequenza con cui capitano nell’intervallo fra 0-5%, 5-10%, 10-15% ecc rispetto all’ATR14
Nell’esempio 3, analizzare le ultime 300 candele 15M DAX e verificare la frequenza con cui l’RSI14 capiti nell’intervallo fra 0-10, 10-20, 20-30, ecc. (l’RSI14 del dax 15M, nelle ultime 300 candele 15M, solo una volta è stato>70 e 19 volte <30. Nelle rimanenti 280 candele è rimasto nella fascia 30-70)
Sostituendo nella variabile VIA qualsiasi cosa di intenda analizzare nel tempo (un oscillatore, un indicatore, un pezzo di calcolo in un codice personalizzato), si può vedere la rappresentazione grafica di quanto sono stati frequenti i valori di interesse.
Ad esempio: quali valori di close-sma50 nelle ultime XX candele nel timeframe YY sono stati più frequenti, quante volte sia stato superato il valore ZZ, eccetera.
Buona serata 🙂
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on