Eccolo (l’ho provato sul DAX, H1, 200K unità):
DEFPARAM CumulateOrders = false
//
body = close-open
abody = abs(body)
if range > 0 then
ratio = abody / range
else
ratio = 0
endif
bodytop = max(open, close)
bodybottom = min(open, close)
shadowtop = high-bodytop
shadowbottom = bodybottom-low
longcandle = (ratio > 0.6)
//
Hammer = (body[1]<0 and longcandle[1] and low<low[1] and shadowbottom>2*abody and shadowtop<0.3*abody)
ShootingStar = (body[1]>0 and longcandle[1] and high>high[1] and shadowtop>2*abody and shadowbottom<0.3*abody)
//
Ema21 = average[21,1](close)
Ema200 = average[200,1](close)
//
// Condizioni LONG
CondL1 = Ema21 > Ema200
CondL2 = low <= Ema21
CondL3 = close > Ema21
CondL = CondL1 AND CondL2 AND CondL3 AND Not LongOnMarket AND Hammer
//
// Condizioni SHORT
CondS1 = Ema21 < Ema200
CondS2 = high >= Ema21
CondS3 = close < Ema21
CondS = CondS1 AND CondS2 AND CondS3 AND Not ShortOnMarket AND ShootingStar
//
IF CondL THEN
BUY 1 CONTRACT AT MARKET
ELSIF CondS THEN
SELLSHORT 1 CONTRACT AT MARKET
ENDIF
Ciao, grazie.
Gentilissimo sempre.
Purtroppo mi dice che ci sono condizioni “Cumulate”, “Buy”, etc…che valgono solo per la sezione ProBacktest e non per Proscreener.
Mi puoi aiutare?
Grazie, ciao
Non avevo fatto caso al fatto che hai pubblicato nel forum ProScreener, ho solo letto la tua richiesta di una strategia e l’ho creata.
Appena possibile la converto in uno screener.
Eccolo:
body = close-open
abody = abs(body)
if range > 0 then
ratio = abody / range
else
ratio = 0
endif
bodytop = max(open, close)
bodybottom = min(open, close)
shadowtop = high-bodytop
shadowbottom = bodybottom-low
longcandle = (ratio > 0.6)
//
Hammer = (body[1]<0 and longcandle[1] and low<low[1] and shadowbottom>2*abody and shadowtop<0.3*abody)
ShootingStar = (body[1]>0 and longcandle[1] and high>high[1] and shadowtop>2*abody and shadowbottom<0.3*abody)
//
Ema21 = average[21,1](close)
Ema200 = average[200,1](close)
//
// Condizioni LONG
CondL1 = Ema21 > Ema200
CondL2 = low <= Ema21
CondL3 = close > Ema21
CondL = CondL1 AND CondL2 AND CondL3 AND Hammer
//
// Condizioni SHORT
CondS1 = Ema21 < Ema200
CondS2 = high >= Ema21
CondS3 = close < Ema21
CondS = CondS1 AND CondS2 AND CondS3 AND ShootingStar
//
x = 0
IF CondL THEN
x = 1
ELSIF CondS THEN
x = 2
ENDIF
SCREENER[x](x AS "1=Ham,2=Shoot")
Grazie davvero tanto Roberto.
Mi ritorna perfettamente il settaggio.
Grazie davvero.
A presto, Fausto