Hello , Please I made this code but pro Order do not accept it and I really need help ,
It’s a code only buying position no short.
// ===============================
// PARAMETRES
// ===============================
DEFPARAM CumulateOrders = False
DEFPARAM PreLoadBars = 1000
capitalPerTrade = 1000
tradeCount = 0
positionSize = 0
// ===============================
// VARIABLES
// ===============================
atrValue = 0
emaShort = 0
rsiValue = 0
volumeAvg = 0
vwapValue = 0
atrMultiplier = 0
trailATRMultiplier = 1
currentHour = 0
hourStart1 = 9.5
hourEnd1 = 11.5
hourStart2 = 14
hourEnd2 = 16
maxTradesPerDay = 0
inTradingHours = 0
longCondition = 0
liquidCondition = 0
// ===============================
// INDICATEURS
// ===============================
atrValue = ATR[14](high, low, close)
emaShort = EMA[9](close)
rsiValue = RSI[14](close)
volumeAvg = SMA[20](volume)
vwapValue = VWAP[0]
// ===============================
// FILTRE LIQUIDITE
// ===============================
liquidCondition = IFF(volumeAvg >= 500000, 1, 0)
// ===============================
// HORAIRES US
// ===============================
currentHour = HOUR + MINUTE / 60
inTradingHours = IFF(((currentHour >= hourStart1) AND (currentHour <= hourEnd1)) OR ((currentHour >= hourStart2) AND (currentHour <= hourEnd2)), 1, 0)
// ===============================
// LIMITE DYNAMIQUE TRADES
// ===============================
IF atrValue < 1 THEN
maxTradesPerDay = 2
ELSIF atrValue < 2 THEN
maxTradesPerDay = 3
ELSE
maxTradesPerDay = 5
ENDIF
// ===============================
// TAILLE POSITION
// ===============================
positionSize = FLOOR(capitalPerTrade / close)
IF positionSize < 1 THEN
positionSize = 1
ENDIF
// ===============================
// CONDITION LONG
// ===============================
longCondition = IFF(close > vwapValue AND low <= vwapValue AND close > open AND close > emaShort AND volume > volumeAvg AND rsiValue < 70 AND liquidCondition AND inTradingHours, 1, 0)
IF longCondition = 1 AND tradeCount < maxTradesPerDay AND NOT ONMARKET THEN
BUY positionSize SHARES AT MARKET
tradeCount = tradeCount + 1
ENDIF
// ===============================
// STOP & TARGET ATR
// ===============================
IF atrValue < 1 THEN
atrMultiplier = 2
ELSIF atrValue < 2 THEN
atrMultiplier = 2.5
ELSE
atrMultiplier = 3
ENDIF
SET STOP atrValue
SET TARGET atrValue * atrMultiplier
// ===============================
// BREAK EVEN
// ===============================
IF ONMARKET AND (close – ENTRYPRICE) >= (atrValue / 2) THEN
MODIFY STOP ENTRYPRICE
ENDIF
// ===============================
// TRAILING STOP
// ===============================
IF ONMARKET AND (close – ENTRYPRICE) >= atrValue THEN
MODIFY STOP (close – atrValue * trailATRMultiplier)
ENDIF