Coding of treading view stratge
Forums › ProRealTime English forum › ProBuilder support › Coding of treading view stratge
-
-
12/15/2024 at 12:20 PM #241433
Hi,
Appreacte your support to coding the below strategy:
SOURCE = input(hlc3)
RSILENGTH = input(14, title = “RSI LENGTH”)
RSICENTERLINE = input(52, title = “RSI CENTER LINE”)
MACDFASTLENGTH = input(7, title = “MACD FAST LENGTH”)
MACDSLOWLENGTH = input(12, title = “MACD SLOW LENGTH”)
MACDSIGNALSMOOTHING = input(12, title = “MACD SIGNAL SMOOTHING”)
a = input(10, title = “Key Vaule. ‘This changes the sensitivity'”)
SmoothK = input(3)
SmoothD = input(3)
LengthRSI = input(14)
LengthStoch = input(14)
RSISource = input(close)
c = input(10, title=”ATR Period”)
xATR = atr(c)
nLoss = a * xATR
xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close – nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close – nLoss, close + nLoss)))
pos = iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
color = pos == -1 ? red: pos == 1 ? green : blue
ema= ema(close,1)
above = crossover(ema,xATRTrailingStop )
below = crossover(xATRTrailingStop,ema)
buy = close > xATRTrailingStop and above
sell = close < xATRTrailingStop and below
barbuy = close > xATRTrailingStop
barsell = close < xATRTrailingStop
plotshape(buy, title = “Buy”, text = ‘Buy’, style = shape.labelup, location = location.belowbar, color= green,textcolor = white, transp = 0, size = size.tiny)
plotshape(sell, title = “Sell”, text = ‘Sell’, style = shape.labeldown, location = location.abovebar, color= red,textcolor = white, transp = 0, size = size.tiny)
barcolor(barbuy? green:na)
barcolor(barsell? red:na)
//alertcondition(buy, title=’Buy’, message=’Buy’)
//alertcondition(sell, title=’Sell’, message=’Sell’)if (buy)
strategy.entry(“UTBotBuy”,strategy.long, when=testPeriod)
if (sell)
strategy.entry(“UTBotSell”,strategy.short, when=testPeriod)12/16/2024 at 4:14 PM #24146512/17/2024 at 8:40 AM #241489Below , Thanks
//@version=2
strategy(title=”UTBot Strategy”, overlay = true, initial_capital = 300, pyramiding = 100, calc_on_order_fills = false, calc_on_every_tick = false,
default_qty_type = strategy.cash, default_qty_value = 1000, commission_value = 0.075)// CREDITS to @HPotter for the orginal code.
// CREDITS to @Yo_adriiiiaan for recently publishing the UT Bot study based on the original code –
// CREDITS to @TradersAITradingPlans for making this Strategy.
// Strategy fixed with Time period by Kirk65.
// I am using this UT bot with 2 hours time frame with god resultss. Alert with “Once per bar” and stoploss 1.5%. If Alerts triggered and price goes against Alert. Stoploss will catch it. Wait until next Alert.
// While @Yo_adriiiiaan mentions it works best on a 4-hour timeframe or above, witch is a lot less risky, but less profitable.testStartYear = input(2019, “BACKTEST START YEAR”, minval = 1980, maxval = 2222)
testStartMonth = input(01, “BACKTEST START MONTH”, minval = 1, maxval = 12)
testStartDay = input(01, “BACKTEST START DAY”, minval = 1, maxval = 31)
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2222, “BACKTEST STOP YEAR”, minval=1980, maxval = 2222)
testStopMonth = input(12, “BACKTEST STOP MONTH”, minval=1, maxval=12)
testStopDay = input(31, “BACKTEST STOP DAY”, minval=1, maxval=31)
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)testPeriod = time >= testPeriodStart and time <= testPeriodStop ? true : false
SOURCE = input(hlc3)
RSILENGTH = input(14, title = “RSI LENGTH”)
RSICENTERLINE = input(52, title = “RSI CENTER LINE”)
MACDFASTLENGTH = input(7, title = “MACD FAST LENGTH”)
MACDSLOWLENGTH = input(12, title = “MACD SLOW LENGTH”)
MACDSIGNALSMOOTHING = input(12, title = “MACD SIGNAL SMOOTHING”)
a = input(10, title = “Key Vaule. ‘This changes the sensitivity'”)
SmoothK = input(3)
SmoothD = input(3)
LengthRSI = input(14)
LengthStoch = input(14)
RSISource = input(close)
c = input(10, title=”ATR Period”)
xATR = atr(c)
nLoss = a * xATR
xATRTrailingStop = iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close – nLoss),
iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss),
iff(close > nz(xATRTrailingStop[1], 0), close – nLoss, close + nLoss)))
pos = iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1,
iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0)))
color = pos == -1 ? red: pos == 1 ? green : blue
ema= ema(close,1)
above = crossover(ema,xATRTrailingStop )
below = crossover(xATRTrailingStop,ema)
buy = close > xATRTrailingStop and above
sell = close < xATRTrailingStop and below
barbuy = close > xATRTrailingStop
barsell = close < xATRTrailingStop
plotshape(buy, title = “Buy”, text = ‘Buy’, style = shape.labelup, location = location.belowbar, color= green,textcolor = white, transp = 0, size = size.tiny)
plotshape(sell, title = “Sell”, text = ‘Sell’, style = shape.labeldown, location = location.abovebar, color= red,textcolor = white, transp = 0, size = size.tiny)
barcolor(barbuy? green:na)
barcolor(barsell? red:na)
//alertcondition(buy, title=’Buy’, message=’Buy’)
//alertcondition(sell, title=’Sell’, message=’Sell’)if (buy)
strategy.entry(“UTBotBuy”,strategy.long, when=testPeriod)
if (sell)
strategy.entry(“UTBotSell”,strategy.short, when=testPeriod)12/17/2024 at 10:34 AM #241494Hi. Here you have the indicator:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566//-----------------------------------------------////PRC_UTBot trailingStop//version = 0//17.12.2024//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//-----------------------------------------------////Inputs//-----------------------------------------------//a=10 //c=10 //atr periodp=1 //ema periodcolorCandle=0//-----------------------------------------------////Exponential moving average//-----------------------------------------------//ema=average[p,1](close)//-----------------------------------------------////Average True Range//-----------------------------------------------//atr=averagetruerange[c](close)nLoss=a*atr//-----------------------------------------------////Trailing Stop//-----------------------------------------------//once trailingStop=closeif close>trailingStop[1] and close[1]>trailingStop[1] thentrailingStop=max(trailingStop,close-nLoss)elsif close<trailingStop[1] and close[1]<trailingStop[1] thentrailingStop=min(trailingStop,close+nLoss)elsif close>trailingStop[1] thentrailingStop=close-nLosselsetrailingStop=close+nLossendif//-----------------------------------------------////Plot Signals//-----------------------------------------------//above=ema crosses over trailingStopbelow=ema crosses under trailingStopif close>trailingStop and above thendrawarrowup(barindex,low-atr)coloured("green")elsif close<trailingStop and below thendrawarrowdown(barindex,high+atr)coloured("red")endif//-----------------------------------------------////Color Candles and trailStop//-----------------------------------------------//if close>trailingStop thenif colorCandle thendrawcandle(open,high,low,close)coloured("green")endifr=0g=255b=0elseif colorCandle thendrawcandle(open,high,low,close)coloured("red")endifr=255g=0b=0endif//-----------------------------------------------//return trailingStop coloured(r,g,b)style(point)And the strategy:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859//-----------------------------------------------////PRC_UTBot trailingStop//version = 0//17.12.2024//Iván González @ www.prorealcode.com//Sharing ProRealTime knowledge//-----------------------------------------------////Inputs//-----------------------------------------------//a=10 //c=10 //atr periodp=1 //ema period//-----------------------------------------------////Exponential moving average//-----------------------------------------------//ema=average[p,1](close)//-----------------------------------------------////Average True Range//-----------------------------------------------//atr=averagetruerange[c](close)nLoss=a*atr//-----------------------------------------------////Trailing Stop//-----------------------------------------------//once trailingStop=closeif close>trailingStop[1] and close[1]>trailingStop[1] thentrailingStop=max(trailingStop,close-nLoss)elsif close<trailingStop[1] and close[1]<trailingStop[1] thentrailingStop=min(trailingStop,close+nLoss)elsif close>trailingStop[1] thentrailingStop=close-nLosselsetrailingStop=close+nLossendif//-----------------------------------------------////Plot Signals//-----------------------------------------------//above=ema crosses over trailingStopbelow=ema crosses under trailingStopif close>trailingStop and above thenbuy 1 contract at marketelsif close<trailingStop and below thensellshort 1 contract at marketendif//-----------------------------------------------////Color Candles and trailStop//-----------------------------------------------//if close>trailingStop thenr=0g=255b=0elser=255g=0b=0endif//-----------------------------------------------//graphonprice trailingStop coloured(r,g,b) -
AuthorPosts
Find exclusive trading pro-tools on