Trading System basato su Indicatore Nadaraya – Watson
Forums › ProRealTime forum Italiano › Supporto ProOrder › Trading System basato su Indicatore Nadaraya – Watson
- This topic has 4 replies, 2 voices, and was last updated 11 months ago by robertogozzi.
-
-
11/21/2023 at 5:29 PM #224081
Ciao a tutti,
vi chiedo aiuto perchè non riesco a trovare una soluzione al mio problema qui sul forum.
Vorrei provare a studiare alcuni trading system basati sull’indicatore Nadaraya Watson che ho trovato qui sul forum e che vi allego.
Vorrei Riuscire a trasformare i punti dell’indicatore in una linea da sfruttare come trigger di ingresso per dei TS (un po come se fossero bande di Bollinger), prevalentemente come trigger counter trend, ma perchè no, anche come segnale di rottura forte.
Siccome i TS non saranno troppo complessi preferirei avere il calcolo dell’indicatore Nadaraya Watson all’interno del codice, visto che dovrebbe essere anche più veloce in fase di backtest (è corretto?).
Grazie mille
123456789101112131415161718192021222324252627282930313233343536//Nadaraya-Watson Envelopelength = 21 //Window Sizehh = 8 //Bandwidthmult = 2once init = 1src = customclosen = barindexIf init = 1 thenden = 0For i = 0 to length-1 do$coefs[i]=exp(-(i*i)/(hh*hh*2))den = den + $coefs[i]Nextinit = 0Endifout = 0For i = 0 to length-1 doout = out + src[i]*$coefs[i]Nextout = out/denmae = exponentialAverage[length](abs(src-out)) * multupper = out + maelower = out - maeDRAWPOINT(barindex, lower, 2) coloured(0,255,0,200)DRAWPOINT(barindex, upper, 2) coloured(255,0,0,255)Return11/24/2023 at 11:15 AM #224238Basta cambuare le ultime 3 righe così per ottenere le righe:
1234//DRAWPOINT(barindex, lower, 2) coloured(0,255,0,200)//DRAWPOINT(barindex, upper, 2) coloured(255,0,0,255)Return upper AS "Linea Superiore",lower as "Linea Inferiore"e nel TS fai riferimento ad UPPER and LOWER come se fossero Bande di Bolluinger ecc…
11/24/2023 at 1:16 PM #224247Grazie mille,
quindi poi dovrei richimare con la funzione Call il mio indicatore nel TS, giusto? non posso tenerlo nel codice del TS?
Intanto ho provato a fare come mi hai consigliato ma trovo discrepanza tra i punti e la linea, ti allego screen. Come posso avere una linea che replichi correttamente i punti?
Grazie
11/24/2023 at 1:20 PM #224249mi scuso ma ho copiato un codice errato.
ti metto quello corretto, magari riesci così ad aiutarmi, grazie
1234567891011121314151617181920212223242526272829303132//Nadaraya-Watson Envelopedefparam drawonlastbaronly = truelength = Min(1000,BarIndex)//Window Sizehh = 8 //Bandwidthmult = 0.3src = Closen = barindexk = 2if IsLastBarUpdate theny2 = 0sume = 0for i = 0 to length-1sum = 0sumw = 0for j = 0 to length-1w = EXP(-pow(i-j,2)/(hh*hh*2))sum = sum+src[j]*wsumw = sumw+wnexty2 = sum/sumwsume = sume+abs(src[i] - y2)$a[barindex-i]=y2//DRAWPOINT(barindex-i, y2, 1)nextmae = sume/(length*mult)for i=0 to length-1DRAWpoint(barindex-i, $a[barindex-i]-mae, 2) coloured(0,255,0,100)DRAWPOINT(barindex-i, $a[barindex-i]+mae, 2) coloured(255,0,0,100)nextendifreturn11/24/2023 at 5:46 PM #224263Commenta le due righe DRAWPOINT e metti come ultime 3 righe:
123Upper = y2+maeLower = y2-maereturn Upper,Lowere fai sempre riferimento ad UPPER and LOWER.
-
AuthorPosts
Find exclusive trading pro-tools on