probabile errore di logica nel codice

Forums ProRealTime forum Italiano Supporto ProScreener probabile errore di logica nel codice

Viewing 2 posts - 1 through 2 (of 2 total)
  • #190079

    Ho scritto il codice per uno screener. Non c’è nessun errore di sintassi, ma forse c’è qualche errore di logica perchè non trova risultati. Potete aiutarmi a trovarli?<!–more–>

    xOpen = open

    xClose = (open + close + high + low) / 4

    if barindex > 0 then

    xOpen = (xOpen[1] + xClose[1]) / 2

    endif

    //

    xLow = min(low,min(xClose,xOpen))

    xHigh = max(high,max(xClose,xOpen))

    //xTypic = (xHigh + xLow + xClose) / 3

    //xMed = (xHigh + xLow) / 2

    //xRange = xHigh – xLow

    //

    Verde = xClose > xOpen

    Rossa = xClose < xOpen

    Trenda = Verde[3] AND Verde[4] AND Verde[5]

    Trendv = Rossa[3] AND Rossa[4] AND Rossa[5]

    Shadow1 = (xHigh[1] – Max (xClose[1],xOpen[1])) > Abs (xClose[1]-xOpen[1])

    Shadow2 = Min (xClose[1],xOpen[1]) – xLow[1] > Abs (xClose[1]-xOpen[1])

    Body = xClose AND xOpen

    a1 = Shadow2[1] AND Shadow2[2]

    a2 = Body[1] < xOpen[3]

    a3 = Body[2] < xOpen[3]

    a4 = Body[2] > xClose[3]

    a5 = Body[1] > xClose[3]

    v1 = Shadow1[1] AND Shadow1[2]

    v2 = Body[1] < xClose[3]

    v3 = Body[2] < xClose[3]

    v4 = Body[2] > xOpen[3]

    v5 = Body[1] > xOpen[3]

    acquisto = a1 AND a2 AND a3 AND a4 AND a5 AND Verde AND Trendv

    vendita = v1 AND v2 AND v3 AND v4 AND v5 AND Rossa AND Trenda

    SCREENER[acquisto OR vendita]

    #190082

    Puoi spiegarmi i dettagli di quello che vuoi ottenere?

    Non risco a capire bene, perché:

    • per le candele VERDE e ROSSA vedo che t’interessa verificare dalla quarta in poi, cioè salti le candele [0], [1] e [2], partendo dalla [3], è così che desideri?
    • per le shadow consideri quelle della candela precedente, che è [1], non quella corrente,che è [0] o niente, anche in questo caso è ciò che vuoi?
    • ma, principalmente, quello che non ti da risultati è la riga dove usi BODY, perché l’hai definito in maniera logica, cioè assegnandogli un valore VERO o FALSO (1 oppure 0), ma è sempre 1 perché xOpen e xClose sono per forza sempre diversi da zero; cosa deve essere BODY per te?    Solitamente è la differenza tra apertura e chiusura, ma anche se tu l’avessi scritto così, nelle righe successive dove fai il confronto, non puoi confrontare una differenza di prezzo con un prezzo; sul DAX sarebbe, ad esempio, come confrontare 50 pip (il corpo di una candela) con il prezzo d’apertura o chiusura che è circa 14000.

     

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

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