Screener Vidya periodi 15 e 40
Forums › ProRealTime forum Italiano › Supporto ProScreener › Screener Vidya periodi 15 e 40
- This topic has 14 replies, 2 voices, and was last updated 3 years ago by Frenkys.
Tagged: vidya
-
-
07/18/2021 at 8:40 PM #173777
Buongiorno,
Lo screener che ho in mente è quello di visualizzare tutti i titoli che nel momento in cui ridiscendono, vanno a toccare con il loro minimo (o corpo della candela)
la MM Vidya da 15 o 40 periodi, purtroppo non ci sto riuscendo nemmeno con la modalità assistita, questo è il codice:
c1=CALL “Vidya New”[15,5]
c2=CALL “Vidya New”[40,40]
c3=low
c4=c3 crosses under c1
c5=c3 crosses under c2
screener [c4 or c5]ho provato anche con una sola Vidya:
ONCE SC = 2/(40+1)
AbsCMO = (Abs(Chandle[40](Close)))/100
IF BarIndex <= 40 THEN
Vidya = Close
ELSE
Vidya = (SC*AbsCMO*Close)+(1-(SC*AbsCMO))*Vidya
ENDIF
c1= Vidya
c2= low crosses under c1
screener [c2]la cosa immediatamente dopo, risolto questo problema, è dare un minimo di range al tocco del prezzo minimo sulla vidya, in pratica lo screener si dovrebbe attivare quando il minimo sta per toccare la Vidya dando uno scarto dello 0,30%.
Ho provato in diverse maniere, la modalita assistita scrive questo codice:
low CROSSES UNDER CALL “Vidya New[15,15](Giornaliero)
ma non mi da il risultato atteso
Grazie
07/19/2021 at 11:46 AM #173804IL primo non l’ho provato.
Il secondo (con la Vidya incorporata, invece che chiamata) funziona, ma devi usare lo smoothing, non i periodi, con ONCE:
1ONCE SC = 2/(5+1)Questo funziona (con lo 0.3% di margine):
1234567891011ONCE SC = 2/(5+1)AbsCMO = (Abs(Chandle[40](Close)))/100IF BarIndex <= 40 THENVidya = CloseELSEVidya = (SC*AbsCMO*Close)+(1-(SC*AbsCMO))*VidyaENDIFc1 = Vidya * 1.003c2 = (low[1] > Vidya[1]) AND (low <= c1)//c2 = (low[1] > c1[1]) AND (low <= c1)screener [c2]ti ho messo due righe per la variabile C2, una che verifica il LOW precedente con la VIDYA precedente (senza commento), l’altra (commentata) che verifica il LOW precedente con il VIDYA precedente maggiorato.
Fai delle prove per vedere quele ti è più utile.07/20/2021 at 6:52 PM #173909Ciao Roberto e grazie per l’aiuto, cosa intendi quando dici di utilizzare lo smoothing?
Ho provato a utilizzare il tuo codice che dovrebbe darmi i titoli che con il minimo toccano la Vidya a 40 periodi (periodi 40, smoothing periodi 40,,, questo è il settaggio della Vidya gialla sul grafico)
lo screener dovrebbe essere cosi:
ONCE SC = 2/(40+1)
AbsCMO = (Abs(Chandle[40](Close)))/100
IF BarIndex <= 40 THEN
Vidya = Close
ELSE
Vidya = (SC*AbsCMO*Close)+(1-(SC*AbsCMO))*Vidya
ENDIF
c1 = Vidya * 1.003
c2 = (low[1] > Vidya[1]) AND (low <= c1)
//c2 = (low[1] > c1[1]) AND (low <= c1)
screener [c2]spesso il risultato è quello dell’immagine, non capisco dove sbaglio…..
07/20/2021 at 8:37 PM #173922Come ho fatto io, non hai visto ONCE?
07/20/2021 at 8:58 PM #173930si lo visto, ma forse non riesco a capirne l’utilizzo, lo smoothing non dovrebbe essere
ONCE SC = 2/(40+1)
perche ?
ONCE SC = 2/(5+1)
lo sto utilizzando male o c’è qualcosa che non riesco a capire su ONCE?
io in pratica ho fatto il copia e incolla del tuo codice.
07/20/2021 at 10:17 PM #173934Dove hai preso il codice Vidya dovrebbe esserci scritto.
Ad ogni modo la VIDYA è formata da due parametri, il primo sono i Periodi, il secondo è lo Smoothing. E’ quest’ultimo che va indicato con la divisione.
Può essere anche 40, sia ben chiaro. Se vuoi usare una VIDYA[40,40] va bene, però dalla tua prima riga del tuo codice hai usato 5 come secondo parametro ed è quello da usare.
07/21/2021 at 7:23 PM #173968scusa robero mi hai fatto notare che la prima riga del codice che ho scritto, il secondo parametro è errato non doveva essere 5 ma bensi
15, speso uso la 15-15 o la 40-40 comunque ora faccio altri tentativi poi ti faccio sapere,,, speriamo di arrivare a sta cosa…
07/22/2021 at 1:51 PM #173996In effetti solo su un sito che ho trovato (oltre al file Average Filter Regression https://www.prorealcode.com/topic/indicateur-afr-average-filter-regression/) usa anche lo Smoothing.
Ad ogni modo, basta che quando fai la CALL metti entrambi i valori uguali (se ne ha due) ed hai risosto il problema senza dovere modificare il codice.
07/24/2021 at 8:50 PM #174100Ho visto la Vidya del link che mi hai dato (forse un po più semplificata), comunque io ho provato in diverse maniere ma il risultato finale non è quello atteso,
lo screener prende il codice ma il risultato è spesso come quello nella foto sopra, probabile che non digerisca bene lo smooth, ma sinceramente non saprei come altro fare (le mie conoscenze sulla programmazione sono molto limitate), non ho capito una cosa Roberto ma a te funziona? Ti filtra i titoli con il minimo sulla vidya?
07/25/2021 at 3:12 PM #174124L’errore è che stai usando la riga 9, con la VIDYA senza maggiorazione.
Usa la riga 10.
07/25/2021 at 6:36 PM #174137Le sto usando tutte,,,, ho cercato anche di trovare qualcosa che possa sostituire la riga, ONCE SC = 2/(40+1) che secondo me è quella con cui lo screener fa fatica,
diciamo che in media riesce a mostrare circa il 30% dei titoli con una certa precisione, il resto che propone sono letteralmente sbagliati specie se uso Vidya con periodi più alti
come 90 o 180 periodi….
07/27/2021 at 9:14 AM #174215Con 40 periodi mi da risultati scorretti, a volte.
Mentre con 10 e 20 periodi sono sempre giusti.
Penso sia il problema del limite delle 254 barre degli screener.
Ad esempio se usi una SMA puoi usare fino a 254 barre, ma se usi un’EMA devi limitarti a 80-100 circa perché nel calcolo l’EMA necessita di molte più barre di quanti siano i periodi.
Può darsi che l’indicatore CHANDE abbia bisogno di molte più barre per i suoi calcoli interni.
L’unica certezza sul motivo può dartela PRT.
07/27/2021 at 7:03 PM #174261ok, questo limite delle barre non lo sapevo, anche se mi ero accorto che su un 15 periodi i risultati erano molto migliori.
Una cosa Roberto, come posso integrare del codice che mi filtra le aziende di media e alta capitalizzazione?
07/27/2021 at 7:15 PM #174262La capitalizzazione può essere espressa mediante il PREZZO (close) moltiplicato oper il VOLUME scambiato:
12345Cap = close * volumeIF Cap > X THEN..ENDIFnell’esempio si calcola il prezzo * volume scam,biato in quella barra ed in quella unità di tempo (che sia Daily, ovvero 1 orea, ecc…). Dopodiché quel valore co confronti col tuo filtro, chia sia 50000 o 1000000, ecc… per determinare se quel titolo deve essere considerato o meno.
07/27/2021 at 7:32 PM #174265ok ci provo, Roberto sei veramente un aiuto prezioso….
1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on