Media mobile in salita

Viewing 15 posts - 1 through 15 (of 25 total)
  • Author
    Posts
  • #55917 quote
    tatankayotanka
    Participant
    Senior

    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]

    #55919 quote
    robertogozzi
    Moderator
    Master

    c1 = 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

    #56027 quote
    tatankayotanka
    Participant
    Senior
    Ciao 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
    indicator1 = 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
    c2= Average [200](close)>(close)[5]
    spero di essermi spiegato , allego una foto  dove la media a 200 e quello rossa
    CHSCP-Giornaliero.png CHSCP-Giornaliero.png
    #56135 quote
    robertogozzi
    Moderator
    Master
    Ho 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
    indicator1 = 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
    c2= 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
    c2 = 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
    IF 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
    #57411 quote
    tatankayotanka
    Participant
    Senior
    Ok 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?
    indicator1 = 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
    #57423 quote
    robertogozzi
    Moderator
    Master
    Così, 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)
    indicator1 = Average[50](close)
    indicator2 = Average[200](close)
    c1 = (indicator1 CROSSES OVER indicator2)
    c2 = summation[5](indicator2 > indicator2[1]) = 5
    SCREENER[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):
    indicator1 = Average[50](close)
    indicator2 = Average[200](close)
    c1 = (indicator1 CROSSES OVER indicator2)
    c2 = summation[5](close > close[1]) = 5
    SCREENER[c1 and c2]
    #57433 quote
    tatankayotanka
    Participant
    Senior
     
    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)> 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
    #57466 quote
    robertogozzi
    Moderator
    Master
    Curva rivolta verso l’alto significa che per le ultime n candele la media 200 è progressivamente in salita, quindi si può scrivere:
    ONCE 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 > B
    G = (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.
    #57474 quote
    tatankayotanka
    Participant
    Senior
    Perfetto ,grazie mille Roberto
    #57646 quote
    tatankayotanka
    Participant
    Senior
    Ho 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
    //N° di candele
    ONCE  n =20
    // La SMA 50 deve incrociare al rialzo SMA _200
    A = 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 fa
    D = (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 rialzo
    F= (close)> Average [200]
    G=(summation[n] (B>B[1])=n)
    //Breakout
    B1= (close<open[3])
    
    SCREENER[C  and D and E and F and G and B1 ]
    
    SPG-Giornaliero.png SPG-Giornaliero.png
    #57808 quote
    tatankayotanka
    Participant
    Senior
    buona sera sig. Roberto , mi potrebbe consigliare qualcosa ?
    #57811 quote
    robertogozzi
    Moderator
    Master
    Si, ma devo avere un pò di tempo per lavorarci perché questa richiesta è un pò più complicata.
    #57817 quote
    tatankayotanka
    Participant
    Senior
    Si si tranquillo per ora io sono arrivato a questo ma non mi convince
    //N° di candele
    ONCE  n =20
    // La SMA 50 deve incrociare al rialzo SMA _200
    A = 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 fa
    D = (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 rialzo
    F= (close)> Average [200]
    G=(summation[n] (B>B[1])=n)
    //Breakout
    I=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
    LUV-Giornaliero.png LUV-Giornaliero.png
    #57820 quote
    tatankayotanka
    Participant
    Senior
    Un altra domanda , come posso filtrare i titoli per la loro capitalizzazione?
    #58683 quote
    robertogozzi
    Moderator
    Master
    Prova 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.
    //N° di candele
    ONCE n           = 10
    ONCE Percentuale = 10
    ONCE BarraEvento = 0
    ONCE Massimo     = 0
    // La SMA 50 deve incrociare al rialzo SMA _200
    A = Average[20](close)
    B = Average[50](close)
    C = (A [n]CROSSES OVER B [n])
    IF C THEN
       BarraEvento = BarIndex
    ENDIF
    IF BarraEvento THEN
       Massimo = Max(high,Massimo)
    ENDIF
    //l utima candela deve avere la chiusura superiore all apertura della candela di n chiusure fa
    D = (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 rialzo
    F= (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.
Viewing 15 posts - 1 through 15 (of 25 total)
  • You must be logged in to reply to this topic.

Media mobile in salita


ProScreener: Scansione Mercati & Screener

New Reply
Author
Summary

This topic contains 24 replies,
has 2 voices, and was last updated by tatankayotanka
8 years, 1 month ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 12/18/2017
Status: Active
Attachments: 4 files
Logo Logo
Loading...