Sustiutir DPO
Forums › ProRealTime foro Español › Soporte ProBuilder › Sustiutir DPO
- This topic has 13 replies, 5 voices, and was last updated 4 years ago by pp_playaflamenca.
-
-
10/13/2017 at 5:10 PM #49305
Hola Nicolas,
¿Puede ayudarme a sustituir en el código original el “DPO” por el DPO con datos del pasado?
RAF Channel12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364for i = 1 to 3// Blue (Long term)if i = 1 thenk = bluedet = DPO[k*2](close)if det=det[1] and det[1]=det[2] and det[2]<>det[3] thenflag = 1endifn = (k*2)-4p = (n/2)-1d100 = DPO[n](close)moy100 = close-d100co = (moy100-moy100[1]+(close[p])/n)*nh100 = dpo[n](high)moyh = high-h100hi = (moyh-moyh[1]+(high[p])/n)*nl100 = dpo[n](low)moyl = low-l100lo = (moyl-moyl[1]+(low[p])/n)*nif flag=1 and flag[1]=0 thensomx = 0somy = 0somxx = 0somxy = 0for i=1 to ksomx = somx+inextfor i=0 to k-1somy=somy+co[i]nextfor i=1 to ksomxx=somxx+(i*i)nextfor i=0 to k-1somxy=somxy+(co[i]*(k-i))nexta = (k*somxy-somx*somy)/(k*somxx-somx*somx)b = (somy-a*somx)/kfor i=0 to k-1ecah = hi[i]-a*(k-i)-bmaxh = max(maxh,ecah)ecal = a*(k-i)+b-lo[i]maxl = max(maxl,ecal)nextendifif flag=0 thenreg = undefinedelsej = j + 1reg = a * j + bendifraffBlue = max(maxh,maxl)rafflBlue = reg-raffBlueraffhBlue = reg+raffBlueriffBlue = min(maxh,maxl)riffhBlue = reg+riffBluerifflBlue = reg-riffBlue// (optional) - let's take an average of the riff and raffBlueResistance = (raffhBlue + riffhBlue) / 2BlueSupport = (rafflBlue + rifflBlue) / 210/13/2017 at 5:12 PM #49306He estado intentándolo pero no lo consigo…………
Modificado DPO123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778avg = average[p](customclose)avgH = average[p](HIGH)avgL = average[p](LOW)r = round(p/2) +1b = customclose - avg[r]C=HIGH-AVGH[R]D=LOW-AVGL[R]myDPO = bMYDPOH=CMYDPOL=DP=14K=48for i = 1 to 3// Blue (Long term)if i = 1 thenk = bluedet = MYDPO[k*2]if det=det[1] and det[1]=det[2] and det[2]<>det[3] thenflag = 1endifn = (k*2)-4p = (n/2)-1d100 = MYDPO[n]moy100 = close-d100co = (moy100-moy100[1]+(close[p])/n)*nh100 = MYdpoH[n]moyh = high-h100hi = (moyh-moyh[1]+(high[p])/n)*nl100 = MYdpoL[n]moyl = low-l100lo = (moyl-moyl[1]+(low[p])/n)*nif flag=1 and flag[1]=0 thensomx = 0somy = 0somxx = 0somxy = 0for i=1 to ksomx = somx+inextfor i=0 to k-1somy=somy+co[i]nextfor i=1 to ksomxx=somxx+(i*i)nextfor i=0 to k-1somxy=somxy+(co[i]*(k-i))nexta = (k*somxy-somx*somy)/(k*somxx-somx*somx)b = (somy-a*somx)/kfor i=0 to k-1ecah = hi[i]-a*(k-i)-bmaxh = max(maxh,ecah)ecal = a*(k-i)+b-lo[i]maxl = max(maxl,ecal)nextendifif flag=0 thenreg = undefinedelsej = j + 1reg = a * j + bendifraffBlue = max(maxh,maxl)rafflBlue = reg-raffBlueraffhBlue = reg+raffBlueriffBlue = min(maxh,maxl)riffhBlue = reg+riffBluerifflBlue = reg-riffBlue// (optional) - let's take an average of the riff and raffBlueResistance = (raffhBlue + riffhBlue) / 2BlueSupport = (rafflBlue + rifflBlue) / 2.¿Dónde está el error?
10/15/2017 at 6:02 PM #4943510/15/2017 at 7:38 PM #49439¿Por qué quiere usted pintar este en el pasado?
Sería más fácil si usted sólo muestra sus modificaciones comparado al original, ejemplo:
1234// P=14 // original// K=48 // originalP=14K=48El código original es demasiado largo sólo para encontrar un error en la modificación.
10/15/2017 at 10:45 PM #49443Hola Avt,es sólo la parte donde sale “dpo”:
original123456789101112131415161718for i = 1 to 3// Blue (Long term)if i = 1 thenk = bluedet = DPO[k*2](close)if det=det[1] and det[1]=det[2] and det[2]<>det[3] thenflag = 1endifn = (k*2)-4p = (n/2)-1d100 = DPO[n](close)moy100 = close-d100co = (moy100-moy100[1]+(close[p])/n)*nh100 = dpo[n](high)moyh = high-h100hi = (moyh-moyh[1]+(high[p])/n)*nl100 = dpo[n](low)10/15/2017 at 10:47 PM #4944410/15/2017 at 10:49 PM #49445Esto es lo que yo he modificado pero no funciona, a ver si alguien me puede ayudar …
Mi modificación12345678910111213141516171819202122232425262728293031323334avg = average[p](customclose)avgH = average[p](HIGH)avgL = average[p](LOW)r = round(p/2) +1b = customclose - avg[r]C=HIGH-AVGH[R]D=LOW-AVGL[R]myDPO = bMYDPOH=CMYDPOL=DP=14K=48for i = 1 to 3// Blue (Long term)if i = 1 thenk = bluedet = MYDPO[k*2]if det=det[1] and det[1]=det[2] and det[2]<>det[3] thenflag = 1endifn = (k*2)-4p = (n/2)-1d100 = MYDPO[n]moy100 = close-d100co = (moy100-moy100[1]+(close[p])/n)*nh100 = MYdpoH[n]moyh = high-h100hi = (moyh-moyh[1]+(high[p])/n)*nl100 = MYdpoL[n]moyl = low-l100lo = (moyl-moyl[1]+(low[p])/n)*n10/16/2017 at 2:55 PM #49581DPO o se ajusta a la fórmula de datos:
12345678910// **** DPO of past moving average and not future ones :p = 14avg = average[p](customclose)r = round(p/2) +1b = customclose - avg[r]myDPO = bRETURN myDPO as "Detrented Price Oscillator of past datas", 0 coloured(10,10,255) as "0"10/16/2017 at 7:48 PM #49620NO FUNCIONA SUSTITUIR DPO POR MYDPO123456789101112131415161718192021222324252627// **** DPO of past moving average and not future ones :p = 14avg = average[p](customclose)r = round(p/2) +1b = customclose - avg[r]myDPO = b//////////////////////////////////for i = 1 to 1// Blue (Long term)if i = 1 thenk = bluedet = myDPO[k*2]if det=det[1] and det[1]=det[2] and det[2]<>det[3] thenflag = 1endifn = (k*2)-4p = (n/2)-1d100 = myDPO[n]moy100 = close-d100co = (moy100-moy100[1]+(close[p])/n)*nh100 = myDPO[n](high)moyh = high-h100hi = (moyh-moyh[1]+(high[p])/n)*nl100 = myDPO[n](low)NO FUNCIONA SUSTITUÉNDOLO POR MYDPO
10/17/2017 at 11:23 AM #49672Lo que está tratando de hacer aquí NUNCA FUNCIONARÁ. Si el autor original del canal Raff ha utilizado el indicador DPO es porque usa datos futuros, por lo que matemáticamente hablando es posible conocer el futuro y saber cómo dibujar correctamente el canal. Pero no funciona en absoluto con DPO como el indicador para dibujar el canal, por lo que usar los datos pasados DPO no será útil en este caso.
06/14/2018 at 4:34 PM #7322606/15/2018 at 7:58 AM #73265DPO non è compatibile con ProOrder perché questo indicatore utilizza dati futuri! Come ti ho già detto, ti preghiamo di considerare che non sarai in grado di usarlo in tempo reale! Puoi provare la versione di DPO con dati reali che ho postato qui: https://www.prorealcode.com/topic/sustiutir-dpo/#post-49581
11/30/2019 at 1:16 AM #113930Sin embargo Nicolás, la versión casera MYDPO hecha con tu receta no parece coincidir exactamente con la original DPO, tal y como se puede apreciar en la foto que acompaña. En concreto me pregunto ¿cómo la DPO original puede comenzar en la 5ª vela del gráfico?, siendo que la versión casera comienza en la vela 21 ( necesita 14 velas previas para calcular la Average[14](close) + aún 7 velas anteriores previas más, para restarle al cierre actual la Average[14](close[7]))
Cómo conseguir pues que coincidan exáctamente??? Gracias por tus esfuerzos.
<hr />
Nicolás´ homemade MYDPO seems not to be exactly match with the original DPO…. How can original DPO begin with 5th candle in the chart? Meanwhile homemade MYDPO needs to begin with 21th candle in chart? (14 previous candles for Average[14](close) purposes in adittion 7 even previous candles more, for substracting past data Average from actual close)
How could we do in order to get they exactly match each other please?? Any ideas welcome. Thank you in advance
11/30/2019 at 1:36 AM #113933A ver, yo encuentro que la MYDPO casera calculada con tu receta (que es la misma de Nicolás) no parece coincidir exáctamente con la DPO original, tal y como se puede ver en la foto que adjunto. Nada más al comienzo del gráfico la DPO original empieza a dibujarse a partir de la quinta vela, mientras que la MYDPO casera empieza a pintarse a partir de la 21ª vela. Me gustaía averiguar como conseguir coincidieran exactamente las dos.
-
AuthorPosts
Find exclusive trading pro-tools on