DEFPARAM CumulateOrders = FALSE
//
// definizione delle candele Heikin-Ashi
once xOpen = open
xClose = (open + close + high + low) / 4
if barindex > 0 then
xOpen = (xOpen + 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
xBullish = xClose > xOpen
xBearish = xClose < xOpen
//
NumeroHA = 3
SerieUP = (summation[NumeroHA](xBullish) = NumeroHA)
SerieDN = (summation[NumeroHA](xBearish) = NumeroHA)
//
ONCE CrossUP = 0
ONCE CrossDN = 0
IF IsLastBarUpdate THEN
Sma20 = Average[20,0](close)
Sma50 = Average[50,0](close)
IF CrossUP = 0 THEN
CrossUP = Sma20 CROSSES OVER Sma50
IF CrossUP THEN
CrossDN = 0
ENDIF
ENDIF
IF CrossDN = 0 THEN
CrossDN = Sma20 CROSSES UNDER Sma50
IF CrossDN THEN
CrossUP = 0
ENDIF
ENDIF
CambioDirezione = (CrossUP AND CrossDN[1]) OR (CrossUP[1] AND CrossDN)
ENDIF
// LONG
IF SerieUP AND CrossUP AND Not OnMarket THEN
BUY 1 Contract AT Market
ENDIF
IF LongOnMarket AND CambioDirezione THEN
SELL AT Market
ENDIF
// SHORT
IF SerieDN AND CrossDN AND Not OnMarket THEN
SELLSHORT 1 Contract AT Market
ENDIF
IF ShortOnMarket AND CambioDirezione THEN
EXITSHORT AT Market
ENDIF
//
SET TARGET pPROFIT 500
SET STOP pLOSS 100
//
graph SerieUP
graph SerieDN
graph CrossUP
graph CrossDN
graph CambioDirezione