Media mobile in salita
Forums › ProRealTime forum Italiano › Supporto ProScreener › Media mobile in salita
- This topic has 24 replies, 2 voices, and was last updated 6 years ago by tatankayotanka.
-
-
12/18/2017 at 12:42 AM #55917
Buona sera volevo chiedervi un aiuto ,vorrei fare un semplice screener con l incrocio delle medie mobili 50 200 ma vorrei che la media 200 fosse in rialzo io ho provato cosi ma non mi sembra corretto,se qualcuno mi puo suggerire il metodo corretto gli sarei grato
indicator1 = Average[50](close)
indicator2 = Average[200](close)
c1 = (indicator1[3] CROSSES OVER indicator2[3])
c2= Average [200](close)>(close)[5]SCREENER[c1-c2]
12/18/2017 at 12:53 AM #55919c1 = vero (cioè 1) se vi è stato un incrocio rialzista 3 barre prima
c2 = vero se la media 200 attuale > del prezzo di chiusura di 5 barre prima
Alla fine restituisci la differenza tra c1 e c2.
E’ un codice che non ha senzo, il risultato della differenza tra 0 (oppure 1) ed il prezzo di chiusura di 5 barre fa non ha significato e produrrà quasi sempre un valore negativo.
Che vuoi fare esattamente?
ma vorrei che la media 200 fosse in rialzo
che significa che vuoi che il trend sia al rialzo, cioè il prezzo sopra la media 200 e che la media 50 incroci, al rialzo, la media 200?
Roberto
12/18/2017 at 11:10 PM #56027Ciao Roberto e grazie quello che io voglio è uno screener che selezioni un titolo dove la media mobile 50 incroci al rialzo la media mobile 200
123indicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1[3] CROSSES OVER indicator2[3])e fino a qui ci siamo
Poi vorrei avere un altra condizione e cioé che la media a 200 abbia un trend in salita da almeno 5 candele e questo era il mio tentativo per creare tale condizione
1c2= Average [200](close)>(close)[5]spero di essermi spiegato , allego una foto dove la media a 200 e quello rossa
12/20/2017 at 1:12 PM #56135Ho modificato il tuo post utilizzanto il pulsante “Insert PRT code” identificato da <> nella barra grigia quando scrivi un post, ti prego di farlo per facilitare la comprensione del codice. Grazie.
Ho capito che vuoi l’incrocio delle medie che è dato da
123indicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1 CROSSES OVER indicator2)perché avevi aggiunto il numero 3 tra parentesi qusdre? Questo serve per fare riferimento ad un incrocio avvenuto 3 barre prima.
Il tuo tentativo di cercare un trend in salita
1c2= Average [200](close)>(close)[5]non è detto che vada bene, perché tu confronti la media attuale con il prezzo di chiusura di 5 candele prima. Intanto può darsi che nel mezzo ci siano state anche candele più alte o basse, quindi non garantisce per il trend. Inoltre se la media a 200 periodi deve essere maggiore della chiusura attuale significa che il trend è al RIBASSO, non al rialzo, perché il prezzo sta sotto la media!
Da quello che ho capito vuoi che la chiusura delle ultime 5 (o altro numero da te desiderato) candele sia sempre più alta della precedente, in tal caso occorre
1c2 = Average[200](close)>Average[200](close)[1]dove confronti la media attuale con quella della candela precedente, dopodiché verifichi che la condizione sia vera per tutte le ultime 5 candele
1IF summation[5](c2) = 5 THEN.....la condizione sarà verificata quando il risultato sarà 5 su 5 candele, ovvero tutte le ultime 5 candele hanno una media a 200 periodi crescente.
Roberto
01/05/2018 at 5:53 PM #57411Ok grazie per info su insert prt code, si giusto [Da quello che ho capito vuoi che la chiusura delle ultime 5 (o altro numero da te desiderato) candele sia sempre più alta della precedente ] e quello che voglio , ma come finisco il code?
123456indicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1 CROSSES OVER indicator2)c2 = Average[200](close)>Average[200](close)[1]IF summation[5](c2) = 5 THEN.....SCREENER[c1 and c2]Scusa se ti ho risposto in ritardo
01/05/2018 at 7:23 PM #57423Così, se vuoi che la media a 200 SIA ogni volta superiore alla candela precedente, per le ultime 5 candele (ma forse non era esattamente quello che desideravi)
12345indicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1 CROSSES OVER indicator2)c2 = summation[5](indicator2 > indicator2[1]) = 5SCREENER[c1 and c2]così, invece, se vuoi che il prezzo di CHIUSURA sia superiore al precedente e questo per tutte le ultime 5 candele (forse è quello che desideravi tu):
12345indicator1 = Average[50](close)indicator2 = Average[200](close)c1 = (indicator1 CROSSES OVER indicator2)c2 = summation[5](close > close[1]) = 5SCREENER[c1 and c2]01/05/2018 at 8:15 PM #574331234567A = Average[50](close)B = Average[200](close)C = (A [3]CROSSES OVER B [3])D = (close>close[3])E= (open>open[3])F= (close)> Average [200]SCREENER[C and D and E and F ]Adesso ho generato questo codice che mi permette di avere la chiusura dell ultima candela superiore all’ apertura della candela di gg gg prima e che ci sia stato l ‘incrocio della SMA 50 /200 tre gg prima e che l’ ultima candela sia superiore all SMA 200, mi piacerebbe anche riuscire ad avere la curva della sma 200 rivolta verso l alto ma non so come fare
01/05/2018 at 11:37 PM #57466Curva rivolta verso l’alto significa che per le ultime n candele la media 200 è progressivamente in salita, quindi si può scrivere:
123456789ONCE n = 5 //ultime 5 candele (puoi mettere anche solo 1)A = Average[50](close)B = Average[200](close)C = A[3] CROSSES OVER B[3]D = close > close[3]E = open > open[3]F = close > BG = (summation[n](B > B[1]) = n)SCREENER[C and D and E and F and G]dove ho aggiunto la condizione G che verifica che nella ultime n candele la media a 200 sia sempre superiore a quella della candela precedente. Ovviamente se ti basta che sia superiore solo all’ultima precedente basta che all’inizio metta n = 1.
01/06/2018 at 12:40 AM #57474Perfetto ,grazie mille Roberto
01/07/2018 at 10:19 PM #57646Ho aggiunto un istruzione di breakout come ultima condizione ma mi piacerebbe avere in aggiunta la condizione che prevede che l ultima candela abbia fatto un ritraccio del 10% dal massimo dopo l incrocio delle medie mobili spero sia chiaro , allego anche foto
12345678910111213141516//N° di candeleONCE n =20// La SMA 50 deve incrociare al rialzo SMA _200A = Average[20](close)B = Average[50](close)C = (A [n]CROSSES OVER B [n])//l utima candela deve avere la chiusura superiore all apertura della candela di n chiusure faD = (close>close[n])E= (open>open[n])//Nelle ultime n candele la SMA 200 deve essere sempre superiore alla candela precedente per aver la curva della SMA al rialzoF= (close)> Average [200]G=(summation[n] (B>B[1])=n)//BreakoutB1= (close<open[3])SCREENER[C and D and E and F and G and B1 ]01/08/2018 at 8:24 PM #57808buona sera sig. Roberto , mi potrebbe consigliare qualcosa ?
01/08/2018 at 9:25 PM #57811Si, ma devo avere un pò di tempo per lavorarci perché questa richiesta è un pò più complicata.
01/08/2018 at 11:15 PM #57817Si si tranquillo per ora io sono arrivato a questo ma non mi convince
12345678910111213141516//N° di candeleONCE n =20// La SMA 50 deve incrociare al rialzo SMA _200A = Average[20](close)B = Average[50](close)C = (A [n]CROSSES OVER B [n])//l utima candela deve avere la chiusura superiore all apertura della candela di n chiusure faD = (close>close[n])E= (open>open[n])//Nelle ultime n candele la SMA 200 deve essere sempre superiore alla candela precedente per aver la curva della SMA al rialzoF= (close)> Average [200]G=(summation[n] (B>B[1])=n)//BreakoutI=close< (highest [20](high)- (range * 0.5))SCREENER[C and D and E and F and G and I ]allego la foto di un risultato
01/08/2018 at 11:36 PM #57820Un altra domanda , come posso filtrare i titoli per la loro capitalizzazione?
01/09/2018 at 4:08 PM #58683Prova questa verisione, dove ho aggiunto in alto una percentuale (che puoi cambiare) e in fondo il calcolo del massimo e della variabile H che verifica che il prezzo abbia ritracciato almeno di quella percentuale.
1234567891011121314151617181920212223242526//N° di candeleONCE n = 10ONCE Percentuale = 10ONCE BarraEvento = 0ONCE Massimo = 0// La SMA 50 deve incrociare al rialzo SMA _200A = Average[20](close)B = Average[50](close)C = (A [n]CROSSES OVER B [n])IF C THENBarraEvento = BarIndexENDIFIF BarraEvento THENMassimo = Max(high,Massimo)ENDIF//l utima candela deve avere la chiusura superiore all apertura della candela di n chiusure faD = (close>close[n])E = (open>open[n])//Nelle ultime n candele la SMA 200 deve essere sempre superiore alla candela precedente per aver la curva della SMA al rialzoF= (close)> Average [200]G=(summation[n] (B>B[1])=n)//Breakout// I=close< (highest [20](high)- (range * 0.5))I = close <= (Massimo * (1 - (Percentuale/100)))SCREENER[D and E and F and G and I]Per quanto riguarda il post sulla capitalizzazione, spiegami cos’è e da cosa è data.
-
AuthorPosts
Find exclusive trading pro-tools on