You are on page 1of 2

//@version=5

strategy('Trade Tactics Triple Confirmation', overlay=true)


strategy.risk.allow_entry_in(strategy.direction.short) // There will be no short
entries, only exits from long.

sma18 = ta.ema(close, 18)

[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)


// macd signals
macd_sell_sig = ta.crossover(signalLine, macdLine)
macd_buy_sig = ta.crossover(macdLine, signalLine)
plotshape(macd_sell_sig, style=shape.xcross, color=color.new(color.red, 0))
plotshape(macd_buy_sig, style=shape.xcross, color=color.new(color.green, 0))

fastperiod = input.int(title='50 MA', defval=50, minval=1)


emaperiod = input.int(title='100 MA', defval=100, minval=1)

toc = math.max(open, close)


boc = math.min(open, close)

effclose = if close >= open


toc
else
boc

midline = nz(ta.ema(effclose, emaperiod))


plot(midline, color=color.new(color.red, 0), title='mid line', linewidth=2)

dev = ta.stdev(effclose, emaperiod)

plusdevmult = if toc > midline


(toc - midline) / dev
else
0

minusdevmult = if boc < midline


(midline - boc) / dev
else
0

maxmult = math.max(minusdevmult, plusdevmult)

lm = ta.ema(maxmult, emaperiod)
lm2 = lm / 2
lm3 = lm2 * 0.38196601
lm4 = lm * 1.38196601
lm5 = lm * 1.61803399
lm6 = (lm + lm2) / 2

greencolor = #2DD204

import loxx/loxxjuriktools/1 as jf

src = input.source(close, "Source", group = "Basic Settings")


depth = input.int(15, "Depth", group = "Basic Settings")
phase = input.float(0, "Signal - Juirk Smoothing Phase", group = "Basic Settings")
lensmdd = input.int(300, "Signal - Period", group = "Basic Settings")
colorbars = input.bool(true, "Color bars?", group = "UI Options")
showSigs = input.bool(true, "Show signals?", group= "UI Options")

jcfbaux = jf.jcfbaux(src, depth)

signal = jf.jurik_filt(jcfbaux, lensmdd, phase)

barcolor(colorbars ? jcfbaux >= signal ? greencolor : color.gray : na)

goVol = ta.crossover(jcfbaux, signal)

alertcondition(goVol, title = "Volatility Rising", message = "JCFBaux Volatility


[Loxx]: Long\nSymbol: {{ticker}}\nPrice: {{close}}")

// enter long by market if macd crossed up


if sma18 < high and (close>midline or (volume > signal))
strategy.order('buy', strategy.long, when=macd_buy_sig)
if not macd_buy_sig[1]
strategy.order('sell', strategy.short, when=macd_sell_sig and
strategy.position_size > 0)

You might also like