This indicator, in the stand-alone option, allows you to build a histogram for a given number of bars, representing the distribution of “Close” values that are grouped together in class. Each class of the same dimension corresponds to an interval in which the values of the “Close” are stored. The amplitude of the classes is defined by the user (5 possible samples by class is a quite good choice)
By inserting this indicator in the price chart, it is possible to draw two parallel lines corresponding to the upper and lower bounds of a selected class.
It can be useful to:
– check if the distribution has the form of a Gaussian curve for those who want to calculate a statistic according to the formulas of the normal distribution
– identify profit objectives and risk of losses based on statistical analysis
– identify areas of resistance, support, range based on statistical analysis
– ……….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
// Quino Statistics Plotter // By Quino // 26/08/2021 //=================================================================================== // NbrOfSamples : Number of consecutive close // NbrOfClasses : Number of intervals of values in which we store the values of "close // InformationDisplay : // - false : display of the curve only // - true : display of limit values for each class and % of occurrence // ClassTracer : // - false : indicator that can be used stand-alone (curve and information) // - true : indicator usable in the price indicator. By locating the class of the last "close" or another class. Class boundaries are represented by two horizontal lines on the price chart. // ClassIndex : manual search for the class number corresponding to the last "close" or another class. Alignment of the cue point under the value of the last close (in red) //Typical use : NbrOfSamples=150 ; NbrOfClasses=30 //=================================================================================== //---------------------------------- if islastbarupdate then for k =0 to NbrOfSamples-1 do $v[k]=close[k] next for i= NbrOfSamples-1 downto 0 do $d[i]=arraymax($v) for j=NbrOfSamples-1 downto 0 do if $v[j]=$d[i] then $v[j]=0 break endif next next Bin=(arraymax($d)-arraymin($d))/(NbrOfClasses) For i=0 to NbrOfClasses do $R[i]=0 next BinA=arraymin($d) for j=0 to NbrOfClasses do Dtemp=0 for i=0 to NbrOfSamples-1 do if j < NbrOfClasses then if $d[i]>=BinA+ j*Bin and $d[i] <BinA+(j+1)*Bin then Dtemp=Dtemp+1 else if $d[i]>=BinA+ j*Bin and $d[i] =<BinA+(j+1)*Bin then Dtemp=Dtemp+1 endif endif endif next $r[j]=Dtemp next for i= 0 to NbrOfClasses-1 do if ClassTracer then ValCaseMax=(BinA+ClassIndex*Bin) ValCaseMin=(BinA+(ClassIndex-1)*Bin) drawsegment(barindex[NbrOfSamples-1-i],ValCaseMax,barindex[NbrOfClasses-i-1],ValCaseMax)coloured (51,153,255) drawsegment(barindex[NbrOfSamples-1-i],ValCaseMin,barindex[NbrOfClasses-i-1],ValCaseMin)coloured (0,51,1530) if i=ClassIndex then tag=1 else tag=undefined endif else drawsegment(barindex[NbrOfClasses-i],$r[i],barindex[NbrOfClasses-i],0)coloured (0,0,0) drawsegment(barindex[NbrOfClasses-i],$r[i],barindex[NbrOfClasses-i+1],$r[i])coloured (0,0,0) drawsegment(barindex[NbrOfClasses-i+1],0,barindex[NbrOfClasses-i+1],$r[i]) coloured (0,0,0) drawpoint(barindex[NbrOfClasses-ClassIndex+1],tag)coloured (0,0,50) if InformationDisplay then Scale=arraymax($r) for i= 0 to NbrOfClasses-1 do temp=round(($r[i]/(NbrOfSamples))*10000)/100 temp1=round((BinA+(i-0)*Bin),2) temp2=round((BinA+(i+1)*Bin),2) drawtext("%= #temp#",barindex[NbrOfClasses-i],Scale+6)coloured (0,0,255) if close >= temp1 and close < temp2 then drawtext("#temp1#",barindex[NbrOfClasses-i],Scale+2)coloured (255,0,0) drawtext("#temp2#",barindex[NbrOfClasses-i],Scale+4)coloured (255,0,0) else drawtext("#temp1#",barindex[NbrOfClasses-i],Scale+2)coloured (0,0,0) drawtext("#temp2#",barindex[NbrOfClasses-i],Scale+4)coloured (0,0,0) endif next endif endif next endif Scale=arraymax($r)+6 if not ClassTracer then zero=0 else zero=undefined Scale=undefined endif return Scale as "Vertical Reference",zero as "Zéro" |
Share this
No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.
ProRealTime ITF files and other attachments :PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials