CONVERSION INDICADOR TRADINGVIEW
Forums › ProRealTime foro Español › Soporte ProBuilder › CONVERSION INDICADOR TRADINGVIEW
- This topic has 15 replies, 4 voices, and was last updated 3 months ago by supertiti.
-
-
05/18/2024 at 5:46 PM #232783
Solicito, si es posible, convertir el indicador adjunto:
Aprendizaje automático: clasificación lorentziana
Un clasificador de distancia de Lorentz (LDC) es un algoritmo de clasificación de aprendizaje automático capaz de categorizar datos históricos de un espacio de características multidimensional. Este indicador demuestra cómo la clasificación de Lorentz también se puede utilizar para predecir la dirección de futuros movimientos de precios cuando se utiliza como métrica de distancia para una implementación novedosa de un algoritmo de vecinos más cercanos aproximados (ANN).
https://es.tradingview.com/script/WhBzgfDu-Machine-Learning-Lorentzian-Classification/
Este indicador me tiene maravillado y sería de gran ayuda para la comunidad empezar a ver en PROREALTIME indicadores de aprendizaje automático. Es un indicador muy complejo para traducir y espero que sea factible su traducción.
A ver si Iván el moderador lo puede traducir.
Muchas gracias.05/22/2024 at 8:00 AM #23290207/09/2024 at 3:57 PM #234992Empieza a coger forma:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164defparam calculateonlastbars = 1000neighborsCount = 8 // Número de vecinos a considerarmaxBarsBack = 700 // Máximo número de barras hacia atrásfeatureCount = 5 // Número de característicasuseEmaFilter=0emaPeriod=700useSmaFilter=0smaPeriod=200useKernelFilter=1hh=8 //Lookback Windowr=8 //Relative Weightingx=25 //Regression levellag=2 //Lag//----------------------------------------------------------------////----Next Bar Classification-------------------------------------//src=closedirectionShort = -1directionLong = 1directionNeutral = 0if src[4]<src[0] thenyTrainSeries=directionShortelsif src[4]>src[0] thenyTrainSeries=directionLongelseyTrainSeries=directionNeutralendif//----------------------------------------------------------------////----Core ML logic-----------------------------------------------//lastDistance=-1size=min(maxBarsBack-1,barindex-1)sizeloop=min(maxBarsBack-1,size)f1 = RSI[14]ap=(high+low+close)/3esa=average[10,1](ap)d1=average[10,1](abs(ap-esa))ci=(ap-esa)/(0.015*d1)f2=average[11,1](ci)f3 = CCI[20]f4 = ADX[20]f5 =RSI[9]if barindex >= maxBarsBack then$distances[0]=0$predictions[0]=0n=0for i=0 to sizeloop dod = LOG(1+ABS(f1[i]-f1))+LOG(1+ABS(f2[i]-f2))+LOG(1+ABS(f3[i]-f3))+LOG(1+ABS(f4[i]-f4))+LOG(1+ABS(f5[i]-f5))if d >= lastdistance and i MOD 4 = 0 THENlastdistance=d$distances[n+1]=d$predictions[n+1]=round(yTrainSeries[i])n=n+1IF n > neighborsCount THENlastDistance = $distances[round(neighborsCount * 3 / 4)]$predictions[n]=0$distances[n]=0endifendifnextprediction=0for j=n downto 0 doprediction=prediction+$predictions[j]nextendif//----------------------------------------------------------------////-----Prediction Filters-----------------------------------------////-----Ema Trend filterif useEmaFilter thenisEmaUptrend=close>average[emaPeriod,1](close)isEmaDowntrend=close<average[emaPeriod,1](close)elseisEmaUptrend=1isEmaDowntrend=1endif//-----Sma Trend filterif useSmaFilter thenisSmaUptrend=close>average[smaPeriod,0](close)isSmaDowntrend=close<average[smaPeriod,0](close)elseisSmaUptrend=1isSmaDowntrend=1endifif prediction>0 thensignal=1elsif prediction<0 thensignal=-1elsesignal=signalendif//-----Bar-Count Filterif signal<>signal[1] thenbarsHeld=0elsebarsHeld=barsHeld+1endifisHeldFourBars=barsHeld=4isHeldLessThanFourBars=BarsHeld>0 and BarsHeld<4//-----Fractal FiltersisDifferentSignalType=signal<>signal[1]isEarlySignalFlip=signal<>signal[1] and (isDifferentSignalType[1] or isDifferentSignalType[2] or isDifferentSignalType[3])isBuySignal= signal=1 and isEmaUpTrend and isSmaUptrendisSellSignal= signal=-1 and isEmadownTrend and isSmaDownTrendisNewBuySignal=isDifferentSignalType and isBuySignalisNewSellSignal=isDifferentSignalType and isSellSignal//-----Kernel Regression Filter//Nadaraya-Watson Envelopehh=8 //Lookback Windowr=8 //Relative Weightingx=25 //Regression levellag=2 //LagcurrentWeight=0cumulativeWeight=0for i = 0 to hh+x doy=src[i]w = pow(1+(pow(i,2)/(pow(hh,2)*2*r)),-r)currentWeight = currentWeight+y*wcumulativeWeight = cumulativeWeight+wnextyhat1 = currentWeight/cumulativeWeightisBullish = yhat1>yhat1[1]isBearish = yhat1<yhat1[1]if isBullish thenr=0g=255b=255elsif isBearish thenr=255g=51b=255endif//-----Entry ConditionsstartLongTrade=isNewBuysignal and isBullish and isEmaUpTrend and isSmaUpTrendstartShortTrade=isNewSellSignal and isBearish and isEmaDowntrend and isSmaDownTrendmaxPrediction=highest[300](prediction)ratmax=round(255/maxPrediction)transparencymax=prediction*ratmaxminPrediction=lowest[300](prediction)ratmin=round(255/minPrediction)transparencymin=prediction*ratminif startLongTrade thendrawarrowUp(barindex,low-range)coloured(102,255,102,transparencymax)drawtext("#prediction#",barindex,low-1.5*range)coloured(102,255,102)elsif startShortTrade thendrawarrowdown(barindex,high+range)coloured("red",transparencymin)drawtext("#prediction#",barindex,high+1.5*range)coloured("red")endifreturn yhat1 as "Kernel Regression Estimate"style(line,2)coloured(r,g,b)07/10/2024 at 9:00 AM #23500207/10/2024 at 3:24 PM #23502007/10/2024 at 4:06 PM #235021Buenas!
Las flechas están, lo que ocurre es que aparecen más que en el código orignal. Falta filtrar.
Si te fijas en el color de las flechas, verás que la intesidad cambia en función de la predicción.
Cuando hay una mayor puntuación en la predicción hay mayor intensidad en el color de las flechas.
En las primeras señales, al no haber con quién comparar, la intensidad es máxima pero a partir de varias predicciones ya se nota que la intensidad del color varía en cada flecha.Tengo que terminar de depurarlo un poco más.
07/10/2024 at 5:09 PM #23502607/11/2024 at 8:34 AM #23504007/11/2024 at 10:01 AM #23505007/11/2024 at 10:10 AM #23505507/11/2024 at 10:19 AM #23505907/11/2024 at 10:32 AM #23506207/11/2024 at 4:29 PM #23510607/11/2024 at 10:52 PM #235126Muchas gracias Iván !!Estaba seguro de que sólo un crack como tú lo podía conseguir!!Pensaba que era imposible la traducción por su dificultad…y dos meses después lo has conseguido!! Espero que valga de inspiración y sea útil a otros usuarios. Y si a alguien se le ocurre cómo mejorarlo, se agradece. Yo voy a probarlo y testearlo a ver qué tal…….. Ojalá que poco a poco se vayan incorporando más indicadores en PRT basados en aprendizaje automático.
07/12/2024 at 2:00 PM #235165 -
AuthorPosts
Find exclusive trading pro-tools on