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]
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.