Screener pattern di prezzo

Forums ProRealTime forum Italiano Supporto ProScreener Screener pattern di prezzo

Viewing 5 posts - 1 through 5 (of 5 total)
  • #227550

    Buongiornoi,

    con le mie pressoché nulle capacità di programmazione ho provato a realizzare uno screener che andasse a rintracciare determinati pattern di prezzo. Pur non restituendo errori nella compilazione, però, non gira (errore – Linea1: uno dei seguenti caratteri sarebbe più appropriato di “fine del codice”: ENDIF). Di certo sarà qualcosa di estremamente banale, ma non riesco a capire cosa. Allego il codice, spero sappiate aiutarmi…

    #227558

    ciao ecco il codice corretto:

    //restituisce i seguenti valori:
    //
    // 1 = hammer
    // 2 = boomer
    // 3 = bullish eng
    // 4 = bearish eng
    // 5 = dark cloud cover
    // 6 = double inside
    // 7 = evening star
    // 8 = morning star
    // 9 = piercing line
    // 10 = shooting star
    // 11 = OOOPS
    // 12 = 3d rialzista
    // 13 = 3d ribassista
    // 14 = bullish hikkake
    // 15 = bearish hikkake
    // 16 = down 5c
    // 17 = inside NR7
    // 18 = three black crows
    // 19 = three white soldiers

    // hammer
    indicator1 = low < lowest[10]
    indicator2 = close > (high – ((high – low)/3))
    indicator3 = open > (high-((high-low)/3))
    indicator4 = Volume > Average[5](Volume)
    indicator5 = abs(close – open)<((high<low)/3)
    //hammer
    hammer = indicator1 AND indicator2 and indicator3 and indicator4 AND indicator5

    // Boomer
    indicator6 = low > low [1]
    indicator7 = high < high[1]
    indicator8 = high[1] < high[2]
    indicator9 = low[1] > low [2]

    // boomer
    boomer = indicator6 AND indicator7 and indicator8 and indicator9

    // Bullish Engulfing Pattern Screener
    indicator10 = close > open [1]
    indicator11 = close > open
    indicator12 = open < close[1]
    indicator13 = Volume > Volume [1]
    indicator14 = close < (high+((high-low)/3))
    engulfing1 = (low < low[1]) AND (high > high[1])
    // La candela bullish ingloba completamente la bearish

    // Condizione finale per identificare il pattern Bullish Engulfing
    Bueng = indicator10 AND indicator11 and indicator12 and indicator13 and indicator14 and engulfing1

    // Bearish Engulfing Pattern Screener
    indicator15 = close < open [1]
    indicator16 = close < open
    indicator17 = open > close[1]
    indicator18 = Volume > Volume [1]
    indicator19 = close < (low+((high-low)/3))
    engulfing = (low > low[1]) AND (high > high[1])
    // La candela bearish ingloba completamente la bearish

    // Condizione finale per identificare il pattern Bearish Engulfing
    Beeng = indicator15 AND indicator16 and indicator17 and indicator18 AND indicator19 and engulfing

    // Dark Cloud Cover
    indicator20 = open > High [1]
    indicator21 = low > low [1]
    indicator22 = close [1] > open[1]
    indicator23 = close < (close[1]-open[1])*0.5+open[1]

    // Dark Cloud Cover
    Dcc = indicator20 AND indicator21 and indicator22 and indicator23

    // doubleinside
    indicator24 = high < High[2]
    indicator25 = high[1] < high[12]
    indicator26 = low > high[2]
    indicator27 = low[1] > low [2]

    // doubleinside
    doins = indicator24 AND indicator25 and indicator26 and indicator27

    // Evening Star Pattern Screener
    indicator28 = close < open
    indicator29 = close[2] > open[2]
    indicator30 = open < min(open[1],close[1])
    indicator31 = close[2] < min(open[1],close[1])

    // Condizione finale per identificare il pattern Evening Star
    Evst = indicator28 AND indicator29 and indicator30 and indicator31

    // Morning Star Pattern Screener
    indicator32 = close > open
    indicator33 = close[2] < open[2]
    indicator34 = open > max(open[1],close[1])
    indicator35 = close[2] > max(open[1],close[1])

    // Condizione finale per identificare il pattern Morning Star
    Most = indicator32 aND indicator33 and indicator34 and indicator35

    // piercing line
    indicator36 = open < Low [1]
    indicator37 = high < high [1]
    indicator38 = close [1] < open[1]
    indicator39 = close > (open[1]-close[1])*0.5+close[1]

    // piercingline
    Pili = indicator36 AND indicator37 and indicator38 and indicator39

    // shooting star
    indicator40 = highest[10]
    indicator41 = close < (low + ((high – low)/3))
    indicator42 = open < (low+((high-low)/3))
    indicator43 = Volume > Average[5](Volume)
    indicator44 = abs(close – open)<((high<low)/3)
    //shootingstar
    shst = indicator40 AND indicator41 and indicator42 and indicator43 AND indicator44

    // oooops
    indicator45 = open < low[1]

    ooops = indicator45

    // threeDRUP
    indicator46 = close > 0
    indicator47 = close[1]< open[1]
    indicator48 = close[2] < open[2]
    indicator49 = close[3] < open[3]

    // Condizione finale per identificare il pattern 3DR
    tDRup = indicator46 AND indicator47 and indicator48 and indicator49

    // threeDRDW
    indicator50 = close < 0
    indicator51 = close[1]> open[1]
    indicator52 = close[2] > open[2]
    indicator53 = close[3] > open[3]

    // Condizione finale per identificare il pattern 3DR
    tDRdw = indicator50 AND indicator51 and indicator52 and indicator53

    // Bullish Hikkake
    indicator54 = high < high[1]
    indicator55 = high[1] < high[2]
    indicator56 = low < low[1]
    indicator57 = low[1] > low[2]

    //BullishHikkake
    BuHi = indicator54 AND indicator55 and indicator56 and indicator57

    // Indicatore Hikkake ribassista58
    = alto > alto[1]
    indicatore59 = alto[1] < alto[2]
    indicatore60 = basso > basso[1]
    indicatore61 = basso[1] > basso[2]

    //BearishHikkake
    BeHi = indicatore58 AND indicatore59 e indicatore60 e indicatore61

    // down5c
    indicatore62 = chiudi < chiudi[1]
    indicatore63 = chiudi[1] < chiudi[2]
    indicatore64 = chiudi[2] < chiudi[3]
    indicatore65 = chiudi[3] < chiudi[4]

    // Condizione finale per identificare il pattern down5c
    down5c = indicator62 AND indicator63 and indicator64 and indicator65

    //InsideNR7
    MinPreviousRange = MIN(MIN(MIN(MIN(MIN((Alto[1] – Basso[1]), (Alto[2] – Basso[2])), (Alto[3] – Basso[3] )), (Alto[4] – Basso[4])), (Alto[5] – Basso[5])), (Alto[6] – Basso[6]))

    // Definisce la differenza tra il massimo e il minimo della sessione corrente
    CurrentRange = High – Low

    // Verifica se la differenza corrente è minore della minima differenza trovata nelle sei sessioni precedenti
    InNR7 = CurrentRange < MinPreviousRange

    // Indicatore Screener modello ThreeBlackCrows66
    = chiudi <
    indicatore di apertura67 = chiudi[1] <indicatore di apertura[1]
    68 = chiudi[2] <indicatore di apertura[2]
    69 = alto < alto[1]
    indicatore70 = alto[1] <alto[2 ]
    indicatore71 = basso < basso[1]
    indicatore72 = basso[1] < basso[2]

    // Condizione finale per identificare il pattern ThreeBlackCrows
    TBC = indicator66 AND indicator67 and indicator68 and indicator69 AND indicator70 and indicator71 and indicator72

    // Indicatore di screening del modello dei tre soldati bianchi73
    = chiudi >
    indicatore di apertura74 = chiudi[1] > indicatore di apertura[1]
    75 = chiudi[2] > indicatore di apertura[2]
    76 = alto > alto[1]
    indicatore77 = alto[1] > alto [2]
    indicatore78 = basso > basso[1]
    indicatore79 = basso[1] > basso[2]

    // Condizione finale per identificare il pattern Three White Soldiers
    TWS = indicatore73 AND indicatore74 and indicatore75 and indicatore76 AND indicatore77 and indicatore78 and indicatore79
    Segnale = 0
    IF hammer THEN
    Segnale = 1
    ELSIF boomer THEN
    Segnale = 2
    ELSIF Bueng THEN
    Segnale = 3
    ELSIF Beeng THEN
    Segnale = 4
    ELSIF Dcc THEN
    Segnale = 5
    ELSIF doins THEN
    Segnale = 6
    ELSIF Evst THEN
    Segnale = 7
    ELSIF Most THEN
    Segnale = 8
    ELSIF Pili THEN
    Segnale = 9
    ELSIF shst THEN
    Segnale = 10
    ELSIF ooops THEN
    Segnale = 11
    ELSIF tDRup THEN
    Segnale = 12
    ELSIF tDRdw THEN
    Segnale = 13
    ELSIF BuHi THEN
    Segnale = 14
    ELSIF BeHi THEN
    Segnale = 15
    ELSIF down5c THEN
    Segnale = 16
    ELSIF InNR7 THEN
    Segnale = 17
    ELSIF TBC THEN
    Segnale = 18
    ELSIF TWS THEN
    Segnale = 19
    ENDIF

    SCREENER[Segnale](Segnale AS”1=hammer,2=boomer,3=Bueng,4=Beeng,5=Dcc,6=doins,7=Evst,8=Most,9=Pili,10=shst,11= ooops,12=tDRup,13=tDRdw,14=BuHi,15=BeHi,16=down5c,17=InNR7,2=DN,18=TBC,19=TWS”)

    #227572

    Ciao

    Ecco il codice. Bisogna tenere conto del fatto che oltre ai problemi con l’IF, c’erano 2 indicatori che non sono stati utilizzati ed è per questo che anche lo screener dà errore.

    riga 190. l’indicatore 68 viene ripetuto e l’indicatore 69 non viene richiamato.
    Riga 202. L’indicatore 79 è ripetuto e non c’è alcun riferimento all’indicatore 78.

    Tenendo conto di ciò, il codice è il seguente:

    #227578

    Ciao, grazie mille a entrambi! Eventualmente, se volessi che nel mio screen tutti gli strumenti che non soddisfano i pattern di prezzo non venissero eliminati ma evidenziati con un ulteriore numero (sarebbe perfetto uno 0), come potrei fare?

    #227588

    Per esempio

    SCREENER[Segnale=0](Segnale AS”0=nofigur”)

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

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