// Definition of code parameters
DEFPARAM CumulateOrders = False // Cumulating positions deactivated
ONCE UKAMopenstart = 093000
ONCE UKAMopenfinish =123000
ONCE UKAMexit =143000
ONCE USPMopenstart = 173000
ONCE USPMopenfinish =201500
// Conditions to enter long positions
indicator1 = ADX[14]
c1 = (indicator1[1] > 20.46)
indicator2 = Average[3](close)
indicator3 = ExponentialAverage[9](close)
c2 = (indicator2[1] > indicator3[1])
indicator4 = ExponentialAverage[9](close)
indicator5 = Average[20](close)
c3 = (indicator4[1] > indicator5[1])
IF (time>=UKAMopenstart AND time<=UKAMopenfinish) OR (time>=USPMopenstart AND time<=USPMopenfinish)AND c1 AND c2 AND c3 THEN
BUY 1 PERPOINT AT MARKET
ENDIF
// Conditions to exit long positions
indicator6 = Average[3](close)
indicator7 = ExponentialAverage[9](close)
c4 = (indicator6[1] < indicator7[1])
IF c4 THEN
SELL AT MARKET
ENDIF
// Conditions to enter short positions
indicator8= ADX[14]
c5 = (indicator8[1] > 20.46)
indicator9 = Average[3](close)
indicator10 = ExponentialAverage[9](close)
c6 = (indicator9[1] < indicator10[1])
indicator11 = ExponentialAverage[9](close)
indicator12 = Average[20](close)
c7 = (indicator11[1] < indicator12[1])
IF (time>=UKAMopenstart AND time<=UKAMopenfinish) OR (time>=USPMopenstart AND time<=USPMopenfinish)AND c5 AND c6 AND c7 THEN
SELLSHORT 1 PERPOINT AT MARKET
ENDIF
// Conditions to exit short positions
indicator13 = Average[3](close)
indicator14 = ExponentialAverage[9](close)
c8 = (indicator13[1] crosses over indicator14[1])
IF c8 THEN
EXITSHORT AT MARKET
ENDIF