probabile errore di logica nel codice

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #190079 quote
    eningi
    Participant
    New

    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 quote
    robertogozzi
    Moderator
    Master

    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)
  • You must be logged in to reply to this topic.

probabile errore di logica nel codice


ProScreener: Scansione Mercati & Screener

New Reply
Author
author-avatar
eningi @eningi Participant
Summary

This topic contains 1 reply,
has 2 voices, and was last updated by robertogozzi
3 years, 12 months ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 03/16/2022
Status: Active
Attachments: No files
Logo Logo
Loading...