[go: up one dir, main page]

0% found this document useful (0 votes)
531 views4 pages

Golden Trader AI

The document outlines a trading strategy called 'Golden Trader AI' implemented in Pine Script for use on trading platforms. It includes entry conditions for long and short positions based on the current open price relative to previous high and low prices, as well as various technical indicators like EMA, SMA, and Supertrend. Additionally, it features user inputs for sensitivity and options for visual aids such as EMA clouds and support/resistance levels.

Uploaded by

Kamo Kani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
531 views4 pages

Golden Trader AI

The document outlines a trading strategy called 'Golden Trader AI' implemented in Pine Script for use on trading platforms. It includes entry conditions for long and short positions based on the current open price relative to previous high and low prices, as well as various technical indicators like EMA, SMA, and Supertrend. Additionally, it features user inputs for sensitivity and options for visual aids such as EMA clouds and support/resistance levels.

Uploaded by

Kamo Kani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

//@version=5

strategy("Golden Trader AI", overlay=true, precision=0, explicit_plot_zorder=true,


max_labels_count=500)

if open > high[1]


strategy.entry("enter long", strategy.long, 1) // enter long by market if
current open great then previous high
if open < low[1]
strategy.entry("enter short", strategy.short, 1) // enter short by market if
current open less then previous low
// Get user input

// Get user input

sensitivity = input.float(4, "Sensitivity (0.5 - 4)", 0.5, 4, step=0.1)

emaCloud = input.bool(false, "EMA Cloud")

suppRes = input.bool(false, "Support & Resistance")

breaks = input.bool(false, "Breaks")

usePsar = input.bool(false, "PSAR")

emaEnergy = input.bool(true, "EMA Energy")

// Functions

supertrend(_src, factor, atrLen) =>


atr = ta.atr(atrLen)
upperBand = _src + factor * atr
lowerBand = _src - factor * atr
prevLowerBand = nz(lowerBand[1])
prevUpperBand = nz(upperBand[1])

lowerBand := (lowerBand > prevLowerBand or close[1] < prevLowerBand) ?


lowerBand : prevLowerBand
upperBand := (upperBand < prevUpperBand or close[1] > prevUpperBand) ?
upperBand : prevUpperBand

var int direction = na

var float superTrend = na


prevSuperTrend = superTrend[1]

if na(atr[1])
direction := 1
else if prevSuperTrend == prevUpperBand
direction := close > upperBand ? -1 : 1
else
direction := close < lowerBand ? 1 : -1

superTrend := direction == -1 ? lowerBand : upperBand


[superTrend, direction]

// Get Components
ocAvg = math.avg(open, close)

ema1 = ta.ema(high, 9)

ema2 = ta.ema(high, 12)

ema3 = ta.ema(high, 15)

ema4 = ta.ema(high, 18)

sma1 = ta.sma(close, 5)

sma2 = ta.sma(close, 6)

sma3 = ta.sma(close, 7)

sma4 = ta.sma(close, 8)

sma5 = ta.sma(close, 9)

sma6 = ta.sma(close, 10)

sma7 = ta.sma(close, 11)

sma8 = ta.sma(close, 12)

sma9 = ta.sma(close, 13)

sma10 = ta.sma(close, 14)

sma11 = ta.sma(close, 15)

sma12 = ta.sma(close, 16)

sma13 = ta.sma(close, 17)

sma14 = ta.sma(close, 18)

sma15 = ta.sma(close, 19)


sma16 = ta.sma(close, 20)

psar = ta.sar(0.02, 0.02, 0.2)

[supertrend, direction] = supertrend(close, sensitivity, 11)

barsL = 10

barsR = 10

pivotHigh = fixnan(ta.pivothigh(barsL, barsR)[1])

pivotLow = fixnan(ta.pivotlow(barsL, barsR)[1])

// Colors

green = #0290f6, green2 = #0290f6

red = #cf2dfc, red2 = #cf2dfc


emaCloudColor = emaCloud ? (close > supertrend ? #0290f6 : #cf2dfc) : na

emaEnergyColor(ma) => emaEnergy ? (close >= ma ? green : red) : na

// Plots

p1 = plot(ema1, "", na, editable=false)

p2 = plot(ema2, "", emaCloudColor, editable=false)

p3 = plot(ema3, "", emaCloudColor, editable=false)

p4 = plot(ema4, "", na, editable=false)

fill(p1, p2, emaCloud ? (ema2 > ema3 ? color.new(#cf2dfc, 80) : color.new(#0290f6,


80)) : na)

fill(p4, p3, emaCloud ? (ema2 < ema3 ? color.new(#cf2dfc, 80) : color.new(#0290f6,


80)) : na)

fill(p2, p3, emaCloud ? color.new(emaCloudColor, 35) : na)

plot(sma1, "", emaEnergyColor(sma1), editable=false)

plot(sma2, "", emaEnergyColor(sma2), editable=false)

plot(sma3, "", emaEnergyColor(sma3), editable=false)

plot(sma4, "", emaEnergyColor(sma4), editable=false)

plot(sma5, "", emaEnergyColor(sma5), editable=false)

plot(sma6, "", emaEnergyColor(sma6), editable=false)

plot(sma7, "", emaEnergyColor(sma7), editable=false)

plot(sma8, "", emaEnergyColor(sma8), editable=false)


plot(sma9, "", emaEnergyColor(sma9), editable=false)

plot(sma10, "", emaEnergyColor(sma10), editable=false)

plot(sma11, "", emaEnergyColor(sma11), editable=false)

plot(sma12, "", emaEnergyColor(sma12), editable=false)

plot(sma13, "", emaEnergyColor(sma13), editable=false)

plot(sma14, "", emaEnergyColor(sma14), editable=false)

plot(sma15, "", emaEnergyColor(sma15), editable=false)

plot(sma16, "", emaEnergyColor(sma16), editable=false)

barcolor(close > supertrend ? #0290f6 : red2)

p5 = plot(ocAvg, "", na, editable=false)

p6 = plot(psar, "PSAR", usePsar ? (psar < ocAvg ? green : red) : na, 1,


plot.style_circles, editable=false)
fill(p5, p6, usePsar ? (psar < ocAvg ? color.new(green, 90) : color.new(red, 90)) :
na, editable=false)

y1 = low - (ta.atr(30) * 2)

y2 = high + (ta.atr(30) * 2)

bull = ta.crossover(close, supertrend) and close >= sma9

bear = ta.crossunder(close, supertrend) and close <= sma9

buy = bull ? label.new(bar_index, y1, "BUY", xloc.bar_index, yloc.price, #0290f6,


label.style_label_up, color.white, size.normal) : na

sell = bear ? label.new(bar_index, y2, "SELL", xloc.bar_index, yloc.price, red2,


label.style_label_down, color.white, size.normal) : na

plot(pivotHigh, "Resistance", not suppRes or ta.change(pivotHigh) ? na : red, 2,


offset=-(barsR + 1), editable=false)

plot(pivotLow, "Support", not suppRes or ta.change(pivotLow) ? na : green, 2,


offset=-(barsR + 1), editable=false)

plotshape(breaks and ta.crossover(close, pivotHigh), "Break", shape.labelup,


location.belowbar, green, 0, "B", color.white, false, size.small)

plotshape(breaks and ta.crossunder(close, pivotLow), "Break", shape.labeldown,


location.abovebar, red, 0, "B", color.white, false, size.small)

// Alerts

alertcondition(bull or bear or ta.crossover(close, pivotHigh) or


ta.crossunder(close, pivotLow), "Alert Any", "AI Signals Gold\nAlert Triggered on
{{ticker}} @ {{close}}")

alertcondition(bull, "Alert Buy", "AI Signals Gold\nBuy {{ticker}} @ {{close}}")


alertcondition(bear, "Alert Sell", "AI Signals Gold\nSell {{ticker}} @ {{close}}")

alertcondition(ta.crossover(close, pivotHigh), "Broke Resistance", "AI Signals


Gold\nBroke Resistance on {{ticker}} @ {{close}}")

alertcondition(ta.crossunder(close, pivotLow), "Broke Support", "AI Signals Gold\


nBroke Support on {{ticker}} @ {{close}}")

You might also like