Proscreener che non mi fa vedere quello che voglio
Forums › ProRealTime forum Italiano › Supporto ProScreener › Proscreener che non mi fa vedere quello che voglio
- This topic has 11 replies, 3 voices, and was last updated 1 month ago by
robertogozzi.
-
-
10/08/2025 at 4:26 PM #252347
Ho realizzato uno screener basato su un mio indicatore che funziona abbastanza bene ma non riesco a far vedere il valore della variabile Direction come vorrei.
Allego codici e immagine
10/09/2025 at 9:21 AM #252384Buongiorno! Ho eliminato l’istruzione “call” e al suo posto ho inserito l’indicatore.
I risultati a prima vista sembrano corretti.123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687////----------------------------------------------------------------// Screener - Delphic Combo// Tmeframe 1H// PeriodFast = 12// PeriodSlow = 22// MA = SMA//////----------------------------------------------------------------ScreenerID = 0Segnale = 0Timeframe(daily)C2=Volume[1]>MinVolumeC3=Supertrend[STMulti,STPeriod]Timeframe(default)// Setup indici x la ricerca D1// Step1 -----------------------------------------------------------//----------------------------------------------------------------once Signal=0PeriodFast=18PeriodSlow=40MAType=0SMAFast=average[PeriodFast](TotalPrice)SMASlow=average[PeriodSlow](TotalPrice)miRSI = RSI[PeriodSlow](TotalPrice)iRSISmoothed=(Average[PeriodFast,MAType](miRSI))-50once CLong=0once CShort=0//Conditions to signal Longif CLong=0 and SMAFast crosses over SMASlow and totalprice>SMAFast thenCLong=1C1Bar=BarIndexendifif Clong=1 and SMAFast>SMASlow and low<SMAFast and BarIndex>C1Bar and C1Bar<>0 thenCLong=CLong+10C2Bar=BarIndexendifif Clong=11 and SMAFast>SMASlow and close>SMAFast and BarIndex>C2Bar and C2Bar<>0 thenCLong=CLong+100endifif SMAFast crosses under SMASlow thenCLong=0endif//Conditions to signal Shortif CShort=0 and SMAFast crosses under SMASlow and totalprice<SMAFast thenCShort=1C1Bar=BarIndexendifif CShort=1 and SMAFast<SMASlow and High>SMAFast and BarIndex>C1Bar and C1Bar<>0 thenCShort=CShort+10C2Bar=BarIndexendifif CShort =11 and SMAFast<SMASlow and close<SMAFast and BarIndex>C2Bar and C2Bar<>0 thenCShort=CShort+100endifif SMAFast crosses over SMASlow thenCShort=0endif//Build the Signalif CLong=111 and iRSISmoothed>0 thenSignal=1elsif CShort=111 and iRSISmoothed<0 thenSignal=-1elsif CLong=0 or CShort=0 thenSignal=0endifZeroline=0//------------------------------------------------C1=TotalPrice>MinPriceif Signal[0]=1 and Signal[1]<1 and Zeroline=0 and C1 and C2 and TotalPrice>C3 thenScreenerID = 1Segnale = 1elsif Signal[0]=-1 and Signal[1]>-1 and Zeroline=0 and C1 and C2 and TotalPrice<C3 thenScreenerID = -1Segnale = 2endifbars = barssince(Segnale)Screener [bars<=3 and bars>=0](ScreenerID as "Direction")10/09/2025 at 9:37 AM #252390Non capisco cosa cambia. Lo screener funziona anche con la call ma a me da solo risultati con Direction = 0 era questo il problema. Il resto funzionava bene.
Infatti anche nel tuo esempio ci sono Direction = 0 che non dovrebbero esserci. La Direction deve essere solo 1 o -1.
C’è qualcosa che non va….
10/09/2025 at 10:18 AM #252395Io l’ho eseguito senza cambiare niente e vedo i valori regolarmente, come da foto allegata.
Solo che è lentissimo ad esaminare gli strumenti.
10/09/2025 at 10:32 AM #252398Non va bene Roberto, Direction=0 non ci dovrebbe essere. Lo scopo del codice è trovare titoli che abbiano il segnale entro 3 barre e che presentino la stessa direzione dell’indice nasdaq.
quindi la direzione può essere solo 1 (Long) o -1(Short) in base all’andamento del Nasdaq sulla barra relativa.
Cosa ho sbagliato ?
10/09/2025 at 10:48 AM #252400Basta che cambi l’ultima riga, aggiungendo la condizione che ScreenerID sia <> 0:
1Screener [bars<=3 and bars>=0 and ScreenerID<>0](ScreenerID as "Direction")1 user thanked author for this post.
10/09/2025 at 4:28 PM #252412vi invio l’ultima versione dello screener. Funziona abbastanza bene ma ci sono ancora cose che non sono apposto.
Ad esempio per come l’ho concepito dovrebbe far vedere solo titoli che hanno un trend uguale a quello del NASDAQ ma invece tira fuori sia titoli che stanno andando short che titoli che vanno long.
Mi ci date una occhiata ?
Grazie
10/09/2025 at 5:48 PM #252417Ti sei dimenticato di allegare il codice.
10/09/2025 at 8:17 PM #252420Sorry, la fretta ….
10/11/2025 at 3:52 PM #252486Questo è il codice di uno screener per fare il confronto tra Azioni dello stesso Indice:
123456789101112131415161718192021// Confronto tra azioni dello stesso indice//TIMEFRAME(daily)CloseVal = Close////EQUITYFRAME("Azioni - US (NASDAQ","AMZN")EQUITYFRAME("Indices - MIB","Indices - MIB")CloseInd = CloseEQUITYFRAME(default)Ratio = (CloseVal / CloseInd) *100//TIMEFRAME(default)RelativeStrength = (Ratio - Ratio[1]) *100MyAvg = average[20,0](RelativeStrength) //Media Semplice a 20 periodiCond = 0IF RelativeStrength CROSSES OVER MyAvg AND (close > 150) THENcond = 1ELSIF RelativeStrength CROSSES UNDER MyAvg AND (close > 150) THENcond = 2ENDIFSCREENER [Cond](Cond AS "1=↑,2=↓")//(RelativeStrength AS "RelativeStrength")Questo è il codice di uno screener perfare il confronto tra un indice e le azioni che lo compongono:
123456789101112131415161718192021222324// confronto tra un indice e le azioni che lo compongono//////////////////////////////////////////////////////////////////EQUITYFRAME("Indices - MIB","MIB")Indice = (close - close[1]) * 100 / close //es.: 2.277%//EQUITYFRAME(default)Stock = (close - close[1]) * 100 / close //es.: 2.277%//-------------------------------------------------------Cond = (Stock > Indice)SCREENER[Cond](Stock AS "Performance")//////////////////////////////////////////////////////////////////////////////// confornto tra Valute FX//EQUITYFRAME("Currencies","EURUSD")eurusd=close//EQUITYFRAME("Currencies","GBPUSD")gbpusd=close//result=eurusd/gbpusdscreener[1](result)se mi spieghi meglio le condizioni che desideri ed i timeframe utiluizzati, posso provare a verificarlo meglio o a riscriverlo.
10/12/2025 at 10:34 AM #252501Provo a spiegare come vorrei che funzionasse il tutto.
Io ho sviluppato un indicatore che mi dice con buona approssimazione quando inizia un trend Long o Short su un titolo. L’indicatore è quello che ti ho allegato Delphic-TP-Combo.
I parametri sono 18, 40 per analisi daily e 12, 20 per quelle Hourly.
Ho provato ad usare l’indicatore in uno screener DelphicComboScreener che ti ho allegato nel messaggio precedente dove cerco di fare la cosa seguente:
Scansisco le liste PRT Titoli Tecnologici e non Tecnologici, dovrebbero essere circa 1200 titoli, con le seguenti condizioni:
- Il segnale (Short o Long) deve stare nelle ultime 3 barre.
- Il volume deve essere superiore a x (lo vario a seconda del timeframe)
- Il prezzo deve essere superiore a 10$
- Il segnale deve avere lo stesso trend attuale del NASDAQ rispetto al giorno precedente. Cioè se il NASDAQ sale rispetto alla sessione precedente, Long, altrimenti Short. Se durante la sessione cambia lo scan deve ripartire
Vorrei che nella visualizzazione ci fosse anche un indicatore della direzione tipo 1=Long, -1=Short. In realtà questo dovrebbe essere superfluo ma serve anche da verifica.
Lo screneer fatto da me funziona abbastanza bene ma :
- Tira fuori anche titoli con direzione 0(indefinita) che poi ho dovuto filtrare in uscita (Direction <>0) ma questo rallenta molto la scansione
- Non riesco a ordinarli in base al trend del NASDAQ
Vorrei che mi aiutassi a farlo funzionare ottimizzando anche la performance
Grazie
10/15/2025 at 6:21 PM #252642Riporto alcuni tuoi rilievi:
Tira fuori anche titoli con direzione 0(indefinita) che poi ho dovuto filtrare in uscita (Direction <>0) ma questo rallenta molto la scansione
non si può fare diversamente, prova a scrivere come condizione SCREENER[bars<=3 and bars>=0 AND and abs(ScreenerID)], ma non dovrebbe cambiare molto. Non ci sono alternative.Non riesco a trovare qual’è la condizione che ti indica l’andamento del NASDAQ.
-
AuthorPosts
Find exclusive trading pro-tools on 