SCREENER UTILIZZANDO MACD

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #99913 quote
    Emanuela Savini
    Participant
    Junior

    Buongiorno, è possibile creare uno screener con il MACD utilizzandolo incroci al rialzo/ribasso con  possibili segnali di entrata e uscita tramite freccia sul grafico?

    #99919 quote
    robertogozzi
    Moderator
    Master

    ProScreener non consente di stampare sul grafico, però si possono creare sia uno screener che un indicatore, identici nel funzi0namento, li esegui entrambi ed ottieni il risultato desiderato. L’indicatore ovrai metterlo SUI prezzi, non sotto come il comune MACD.

    Esempi:

    Offset = 10 * pipsize
    // formula MACD 12,26,9
    //
    MyMACD       = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    MySignalLine = ExponentialAverage[9](MyMACD)
    //MyHisto    = MyMACD - MySignalLine
    //
    Up = MyMACD CROSSES OVER  MySignalLine
    Dn = MyMACD CROSSES UNDER MySignalLine
    IF Up THEN
       DRAWARROWUP(barindex,low-offset)coloured(0,128,0,255)
    ELSIF Dn THEN
       DRAWARROWDOWN(barindex,high+offset)coloured(255,0,0,255)
    ENDIF
    RETURN
    // formula MACD 12,26,9
    //
    MyMACD       = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    MySignalLine = ExponentialAverage[9](MyMACD)
    //MyHisto    = MyMACD - MySignalLine
    //
    Up = MyMACD CROSSES OVER  MySignalLine
    Dn = MyMACD CROSSES UNDER MySignalLine
    Risultato = 0
    IF Up THEN
       Risultato = 1
    ELSIF Dn THEN
       Risultato = 2
    ENDIF
    SCREENER [Risultato](Risultato as "1=↑, 2=↓")
    Nicolas thanked this post
    x.jpg x.jpg
    #99930 quote
    Emanuela Savini
    Participant
    Junior

    Sei un grande Roberto grazie 1000

    #113481 quote
    massimogp
    Participant
    Senior
    Buona sera Roberto, facendo seguito a un’altra richiesta qui sul forum sulla quale avevi risposto con il seguente procreener, chiedevo se fosse possibile aggiungere un macd  (60,130,45) (pari al macd giornsliero x 5) cosi da cercare i titoli che incrociano sul macd in linea con un trend  settimanale, cioè estraggo tutti i titoli dove ambedue i macd incrociano come da allegato. Grazie mille per la risposta. buona serata
    MyMACD       = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    MySignalLine = ExponentialAverage[9](MyMACD)
    //MyHisto    = MyMACD - MySignalLine
    //
    Up = MyMACD CROSSES OVER  MySignalLine
    Dn = MyMACD CROSSES UNDER MySignalLine
    Risultato = 0
    IF Up THEN
       Risultato = 1
    ELSIF Dn THEN
       Risultato = 2
    ENDIF
    SCREENER [Risultato](Risultato as "1=↑, 2=↓")

     

    MACD-DAILY-E-WEEKLY.png MACD-DAILY-E-WEEKLY.png
    #113495 quote
    robertogozzi
    Moderator
    Master

    >> Per chiarezza dei messaggi sul Forum di Prorealcode, separate le parti del vostro codice usando il pulsante per l’inserimento del testo del codice. <<
    Grazie 😊

    #113496 quote
    robertogozzi
    Moderator
    Master

    Moltiplicando i periodi giornalieri per 5, di qualunque indicatore, NON si ottiene quello settimanale, come pure moltiplicando i periodi del 5 minuti per 12 NON si ottiene l’orario.

    Può forse fare un’eccezione la media semplice perché è una semplice  somma.

    Se vuoi te lo faccio, però ProScreener permette permette di usare time frame multipli, per cui il Macd settimanale si può calcolare in modo ordinario separatamente dal giornaliero ecc…

    Se fai un backtest di questa strategia potrai vedere, nella finestra delle variabili, i valori diversi dei due MACD:

    Timeframe(daily)
    MacdDW = ExponentialAverage[60](close) - ExponentialAverage[130](close)
    LineDW = ExponentialAverage[45](MacdDW)
    //
    Timeframe(weekly)
    MacdW = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    LineW = ExponentialAverage[9](MacdW)
    //
    Timeframe(default)
    buy at -close limit
    Graph MacdDW coloured(255,0,0,255)
    Graph MacdW    coloured(0,255,0,255)
    #113497 quote
    robertogozzi
    Moderator
    Master

    Ad ogni modo, questo è quello con i valori moltiplicati:

    MacdW = ExponentialAverage[60](close) - ExponentialAverage[130](close)
    LineW = ExponentialAverage[45](MacdW)
    UPcrossW = MacdW CROSSES OVER  LineW
    DNcrossW = MacdW CROSSES UNDER LineW
    //
    MacdD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    LineD = ExponentialAverage[9](MacdD)
    //
    UPcrossD = MacdD CROSSES OVER  LineD
    DNcrossD = MacdD CROSSES UNDER LineD
    //
    Risultato = 0
    If UPcrossW > 0 and UPcrossD > 0 Then
       Risultato = 1
    Elsif DNcrossW > 0 and DNcrossD > 0 Then
       Risultato = 2
    Endif
    SCREENER [Risultato](Risultato as "1=↑, 2=↓")
    #113498 quote
    robertogozzi
    Moderator
    Master

    E questo è quello utilizzando il supporto MTF, multi time frame (ed è quello con i risultati corretti):

    Timeframe(daily)
    MacdD = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    LineD = ExponentialAverage[9](MacdD)
    //
    Timeframe(weekly)
    MacdW = ExponentialAverage[12](close) - ExponentialAverage[26](close)
    LineW = ExponentialAverage[9](MacdW)
    //
    Timeframe(default)
    UPcrossD = MacdD CROSSES OVER  LineD
    DNcrossD = MacdD CROSSES UNDER LineD
    UPcrossW = MacdW CROSSES OVER  LineW
    DNcrossW = MacdW CROSSES UNDER LineW
    //
    Risultato = 0
    If UPcrossW > 0 and UPcrossD > 0 Then
       Risultato = 1
    Elsif DNcrossW > 0 and DNcrossD > 0 Then
       Risultato = 2
    Endif
    SCREENER [Risultato](Risultato as "1=↑, 2=↓")
    #113582 quote
    massimogp
    Participant
    Senior
    Buona sera Roberto, facendo seguito a un’altra richiesta qui sul forum sulla quale avevi risposto con il seguente procreener, chiedevo se fosse possibile aggiungere un macd  (60,130,45) (pari al macd giornsliero x 5) cosi da cercare i titoli che incrociano sul macd in linea con un trend  settimanale, cioè estraggo tutti i titoli dove ambedue i macd incrociano come da allegato. Grazie mille per la risposta. buona serata
    MyMACD       = ExponentialAverage[12](close) – ExponentialAverage[26](close)
    MySignalLine = ExponentialAverage[9](MyMACD)
    //MyHisto    = MyMACD – MySignalLine
    //
    Up = MyMACD CROSSES OVER  MySignalLine
    Dn = MyMACD CROSSES UNDER MySignalLine
    Risultato = 0
    IF Up THEN
       Risultato = 1
    ELSIF Dn THEN
       Risultato = 2
    ENDIF
    SCREENER [Risultato](Risultato as “1=↑, 2=↓”)

     

    MACD-DAILY-E-WEEKLY-1.png MACD-DAILY-E-WEEKLY-1.png
    #113584 quote
    massimogp
    Participant
    Senior

    Grazie mille Roberto, provo il tutto .scusa per il nuovo invio della richiesta ma ho sbagliato. buona serata  e grazie ancora per la pazienza.

    #113586 quote
    robertogozzi
    Moderator
    Master

    Avevi già postato la richiesta e non capisco perché tu l’abbia duplicato, anche perché ti ho già risposto.

    Tra l’altro hai scritto senza leggere, avendo ripetuto l’errore di non utilizzare l’apposito pulsante per l’inserimento del codice “Insert PRT code”.

    Ti prego di fare più attenzione.

    Grazie 🙂

    #113587 quote
    robertogozzi
    Moderator
    Master

    Ok, buona serata.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

SCREENER UTILIZZANDO MACD


ProScreener: Scansione Mercati & Screener

New Reply
Author
Summary

This topic contains 11 replies,
has 3 voices, and was last updated by robertogozzi
6 years, 3 months ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 06/04/2019
Status: Active
Attachments: 3 files
Logo Logo
Loading...