Indicatore Engulfing su candlestick

Forums ProRealTime forum Italiano Supporto ProBuilder Indicatore Engulfing su candlestick

Viewing 14 posts - 1 through 14 (of 14 total)
  • #177108

    Ciao,

    Dopo una ricerca, senza aver trovato ciò che cerco, apro questo post.

    Mi serve un indicatore che mi segnali sulle candele la presenza di un Engulfing. Il pattern è valido se la candela chiude oltre l’intera candela precedente, e non solo il body.

    Allego uno screenshoot di quello che uso su Tradingview.

    Grazie mille

    #177115

    Dove deve aprire?

    #177121

    Che intendi? Il prezzo, a prescindere dall’apertura, deve violare il minimo della candela precedente e chiudere ad un prezzo maggiore del massimo, o viceversa.

    Spero di essere stato chiaro.

    Ti ringrazio in anticipo per l’aiuto

    #177130

    Se deve chiudere ad un prezzo > massimo, deve anche aprire ad un prezzo < al minimo (nel caso di bullish engulfing)? Te lo chiedo perché la definizione standard di ENGULFING prevede che solo i corpi siano presi in considerazione. Ad ogni modo te la faccio con (sempre esempio bullish) apertura < minimo prec. e chiusura > massimo prec:

    Il colore è BLU per quelle ribassiste e GIALLO per quelle rialziste, come nella tua foto.
    Tabella dei colori R,G,B (COLOURED prevede un quarto parametro opzionale che è la trasparenza):
    Tabella dei Colori

    #177132

    Si, la definizione classica prevede solo i corpi.

    Creo l’indicatore usando il codice, provo ad applicarlo al grafico, o al prezzo, ma non succede niente.

    Cosa sbaglio?

    #177140

    Occorre che tu guardi qualche video sul canale di ProRealTime Italia o qui sul forum, sugli indicatori. Sono cose molto emplici, sono video di pochissimi minuti.

    Ti allego il file ITF (contiene il codice dell’indicatore) che devi importare tra gli indicatori della piattaforma (ProBuilder), dopodiché lo aggiungi SUL prezzo come indicato sulla foto allegata.

    Questi sono i 3 passi necessari (dopo che hai importato il file):

    • clicca sulla voce PREZZO del grafico (poco sotto l’angolo superiore sinistro) e scegli AGGIUNGI INDICATORE
    • indica il nome, nella casella di ricerca in alto (se non lo vedi nell’elenco), in modo che ti compaia
    • clicca sul nome dell’indicatore che hai importato.

     

    #177148

    Ho già creato e/o importato diversi indicatori e so come aggiungerli al grafico.

    Seguo esattamente le tue indicazioni, ma quando aggiungo questo indicatore non succede nulla.

    #177151

    Non succede niente di particolare, ti colora in GIALLO o BLU’ le candele (poche) che rientrano nella condizione.

    La foto l’ho fatta al grafico DAX, Daily, e copre il periodo che fa dall’1/10/2014 al 30/11/2015.

    Puoi anche mettere l’indicatore sotto il grafico, in tal caso ti fa vedere solo le candele che rientrano nella condizione. Sul grafico è un pò più difficile, visto che sono poche.

    Questa versione ti stampa anche una freccia sopra la candela (vedi la seconda foto):

    #177155

    Si, non mi aspettavo niente di spettacolare, ma che si colorassero le candele 😀

    Credo di aver capito che il codice non rispecchia ciò che ho in mente, probabilmente mi sono spiegato male.

    Ecco uno screenshot in cui vi sono due esempi, che non vengono rilevati dal tuo codice.

    Potrei copiare il codice che uso su Tradingview? E’ possibile convertirlo?

     

    Grazie!

    #177163

    Puoi postare il codice, vedo se riesco a capire le condizioni.

    #177175

    Grazie! Eccolo, spero non sia troppo lungo

    ——————————————————————

    study(“Engulfing Look-back Alert”, overlay=true)

    //User Defined Inputs

    //TimeFrame to display engulfing candles on
    isMonthly = iff (input(title=”Display on Monthly TF?”, type=input.bool, defval=true), “M”, na)
    isWeekly = iff (input(title=”Display on Weekly TF?”, type=input.bool, defval=true), “W”, na)
    isDaily = iff (input(title=”Display on Daily TF?”, type=input.bool, defval=true), “D”, na)
    is4H = iff (input(title=”Display on 4H TF?”, type=input.bool, defval=true), “240”, na)
    is1H = iff (input(title=”Display on 1H TF?”, type=input.bool, defval=true), “60”, na)
    is15M = iff (input(title=”Display on 15M TF?”, type=input.bool, defval=true), “15”, na)

    //Display engulfing on current timeframe?
    timeframeEnabled = (timeframe.period==isMonthly or timeframe.period==isWeekly or timeframe.period==isDaily or timeframe.period==is4H or timeframe.period==is1H or timeframe.period==is15M)

    //===============================================
    //BULLISH ENGULFING
    //===============================================

    //# of bars back (left) to compare the Engulfing Candle’s high and low
    bullPeriodLookBackHighs = input(title=”BullEng Highs Look-back period”, minval=1, type=input.integer, defval=1)
    bullPeriodLookBackLows = input(title=”BullEng Lows Look-back period”, minval=1, type=input.integer, defval=1)

    // Calculate highest high comparing 1st historic candle with the look-back period
    bullHiHighs = highest(high, bullPeriodLookBackHighs)[2]

    // Calculate lowest low comparing 1st historic candle with the look-back period
    bullLowLows = lowest(low, bullPeriodLookBackLows)[2]

    //Candle must close above prev candle high AND candle low is lower than the lowest low for the look-back period (bullLowLows) AND candle high is higher than look-back period for the highest high (bullHiHighs)
    isBullishEngulfing() =>
    close[1] > high [2] and low[1] < bullLowLows and high[1] > bullHiHighs

    foundBullish = isBullishEngulfing()

    // Display on chart
    plotshape(foundBullish and timeframeEnabled,title=”BullEng Shape”, style=shape.triangleup, location=location.belowbar, color=#66ff00, text=”BullE”, size=size.auto, offset=-1)
    barcolor(foundBullish and timeframeEnabled? color.yellow : na, title=”BullEng Bar Colour”, offset=-1)

    //===============================================
    //BEARISH ENGULFING
    //===============================================

    //# of bars back (left) to compare the Engulfing Candle’s high and low
    bearPeriodLookBackHighs = input(title=”BearEng Highs Look-back period”, minval=1, type=input.integer, defval=1)
    bearPeriodLookBackLows = input(title=”BearEng Lows Look-back period”, minval=1, type=input.integer, defval=1)

    // Calculate highest high comparing 1st historic candle with the look-back period
    bearHiHighs = highest(high, bearPeriodLookBackHighs)[2]

    // Calculate lowest low comparing 1st historic candle with the look-back period
    bearLowLows = lowest(low, bearPeriodLookBackLows)[2]

    //Candle must close BELOW prev candle low AND candle high is higher than the highest high for the look-back period (bearHiHighs) AND candle low is lower than look-back period for the lowest low (bearLowLows)
    isBearishEngulfing() =>
    close[1] < low[2] and high[1] > bearHiHighs and low[1] < bearLowLows

    foundBearish = isBearishEngulfing()

    //Display on chart
    plotshape(foundBearish and timeframeEnabled, title=”BearEng Shape”, style=shape.triangledown, location=location.abovebar, color=color.red, text=”BearE”, size=size.auto, offset=-1)
    barcolor(foundBearish and timeframeEnabled? color.blue: na, title=”BearEng Bar Colour”, offset=-1)

    //===========================================
    //Display the current time-frame (in minutes) when the alert triggers
    //
    // Function below is courtesy of PineCoders MTF script
    // ————— Converts current “timeframe.multiplier” plus the TF into minutes of type float.
    f_resInMinutes() =>
    _resInMinutes = timeframe.multiplier * (
    timeframe.isseconds ? 1. / 60. :
    timeframe.isminutes ? 1. :
    timeframe.isdaily ? 1440. :
    timeframe.isweekly ? 10080. :
    timeframe.ismonthly ? 43800. : na)

    // Plot value of the marker’s number without disrupting indicator scale. This doesn’t plot anything in
    // CAVEAT: If multiple markers fire simultaneously, only one will be detected.
    markerNo = f_resInMinutes()
    plotchar(markerNo, “PeriodTF”, “”, location.top)

    //===============================================

    // Plot timeframe period in the alert
    alertcondition(foundBullish, title = “Bullish Eng”, message = ‘{{plot(“PeriodTF”)}} min ‘ + “BullEng”)
    alertcondition(foundBearish, title = “Bearish Eng”, message = ‘{{plot(“PeriodTF”)}} min ‘ + “BearEng”)
    alertcondition(open==close, title = “DOJI”, message = ‘{{plot(“PeriodTF”)}} min ‘ + ” Doji”)

    #177193

    Questi sono alcune traduzioni di vari trovati su TradingView.

    Primo (fa riferimento solo ai corpi):

    Secondo (fa riferimento solo ai corpi):

    Terzo (fa riferimento solo ai corpi):

    Il quarto, quello di cui hai postato il codice, credo sia quello che cerchi. E’ un engulfing molto particolare, basato anche sui periodi passati (per default 1, ma puoi cambiarlo tu con la variabile LookBack):

    Se vuoi stampare anche le frecce basta che togli i commenti dalle righe dove c’è l’istruzione DrawText.

    #177196

    Il quarto codice, quello che interessa a me, funziona perfettamente. Grazie ancora del supporto.

    Non so se questo è il posto giusto per chiedere, è possibile settare un allarme che mi avvisi ogni volta che l’engulfing si presenti?

    #177202

    Un indicatore non può emettere suoni o altri avvisi se non stampare qualcosa sul grafico, una freccia, un certo colore o una frase.

    Però si può trasformare l’indicatore in  uno screener che puoi vedere nel supporto ProScreener https://www.prorealcode.com/topic/unusual-engulfing-screener/

     

Viewing 14 posts - 1 through 14 (of 14 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login