ESTUDIAR COMO FUNCIONA LA ESTRATEGIA - BEST SUPERTREND STRATEGY

Como opcion de automatizar el trading https://es.tradingview.com/script/6knHPR6c-BEST-Supertrend-Strategy/
CODIGO //@version=4 //@author=Daveatt strategy(title="BEST Supertrend Strategy", shorttitle="Supertrend Strategy", overlay=true, pyramiding=0, default_qty_value=100, precision=7, currency=currency.USD, commission_value=0.2,commission_type=strategy.commission.percent, initial_capital=1000000) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////// Strategy Component ///////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// orderType = input("Longs+Shorts",title="What type of Orders", options=["Longs+Shorts","LongsOnly","ShortsOnly"]) isLong = (orderType != "ShortsOnly") isShort = (orderType != "LongsOnly") // SMA fastLength = input(7, title="Fast Length SMA") slowLength = input(20, title="Slow Length SMA") /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// ///////////////////////////// SUPERTREND ///////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// Factor=input(3,title="[ST] Factor", minval=1,maxval = 100, type=input.float) Pd=input(3, title="[ST] PD", minval=1,maxval = 100) TF=input("daily", title="Supertrend timeframe", options=["daily","weekly","monthly","quartly","yearly"]) ////////////////////////// //* COLOR CONSTANTS *// ////////////////////////// AQUA = #00FFFFFF BLUE = #0000FFFF RED = #FF0000FF LIME = #00FF00FF GRAY = #808080FF DARKRED = #8B0000FF DARKGREEN = #006400FF GOLD = #FFD700 WHITE = color.white // Plots GREEN_LIGHT = color.new(color.green, 40) RED_LIGHT = color.new(color.red, 40) BLUE_LIGHT = color.new(color.aqua, 40) PURPLE_LIGHT = color.new(color.purple, 40) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////// SUPERTREND DETECTION ////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// f_supertrend(Factor, Pd) => Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp = 0.0 TrendUp := close[1]>TrendUp[1] ? max(Up,TrendUp[1]) : Up TrendDown = 0.0 TrendDown := close[1] TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) Tsl = Trend==1? TrendUp: TrendDown Tsl st_tsl = f_supertrend(Factor, Pd) /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// ////////////////////////// MULTI TIMEFRAMES CALCS ///////////////////////////// /////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////// f_securitys(_ticker, _source)=> daily = security(_ticker, 'D', _source[1], lookahead=true) weekly = security(_ticker, 'W', _source[1], lookahead=true) montly = security(_ticker, 'M', _source[1], lookahead=true) quarterly = security(_ticker, '3M', _source[1], lookahead=true) yearly = security(_ticker, '12M', _source[1], lookahead=true) [daily, weekly, montly, quarterly, yearly] [st_daily, st_weekly, st_monthly, st_quarterly, st_yearly] = f_securitys(syminfo.tickerid, st_tsl) lapos_x = timenow + round(change(time)*50) lapos_y = close down_arrows_text = "▼" + " " + "▼" + " " + "▼" + " " + "▼" + " " + "▼" + " " + "▼" + " " + "▼" + "\n" // Drawing function designed by RicardoSantos. f_draw_infopanel(_x, _y, _color, _line, _text)=> _rep_text = "" for _l = 0 to _line _rep_text := _rep_text + "\n" _rep_text := _rep_text + _text var label _la = na label.delete(_la) _la := label.new(x=_x, y=_y, text=_rep_text, xloc=xloc.bar_time, yloc=yloc.price, color=#C1CADE, style=label.style_labelup, textcolor=_color, size=size.normal) // Using the JustUncleL reverse order trick f_draw_infopanel(lapos_x, lapos_y, color.olive, 12, "╚═══════════════════════╝") f_draw_infopanel(lapos_x, lapos_y, color.new(color.red, 20), 10, "Yearly : " + tostring(round(st_yearly))) f_draw_infopanel(lapos_x, lapos_y, color.new(color.purple, 20), 8, "Quarterly : " + tostring(round(st_quarterly))) f_draw_infopanel(lapos_x, lapos_y, color.new(color.green, 20), 6, "Monthly : " + tostring(round(st_monthly))) f_draw_infopanel(lapos_x, lapos_y, color.new(color.blue, 20), 4, "Weekly : " + tostring(round(st_weekly))) f_draw_infopanel(lapos_x, lapos_y, color.new(color.green, 20), 2, "Daily : " + tostring(round(st_daily))) f_draw_infopanel(lapos_x, lapos_y, color.olive, 0, "╔═════ Supertrend (" + tostring(Factor) + "," + tostring(Pd) + ") ═════╗") IS_DAILY = TF == "daily" IS_WEEKLY = TF == "weekly" IS_MONTHLY = TF == "monthly" IS_QUARTERLY = TF == "quarterly" IS_YEARLY = TF == "yearly" // select right supertrend st_tsl_TF = iff(IS_DAILY, st_daily, iff(IS_WEEKLY, st_weekly, iff(IS_MONTHLY, st_monthly, iff(IS_QUARTERLY, st_quarterly, iff(IS_YEARLY, st_yearly, st_daily))))) // hard exit sma_fast = sma(close, fastLength) sma_slow = sma(close, slowLength) long_exit = crossunder(sma_fast,sma_slow) short_exit = crossover(sma_fast,sma_slow) // MA Cross curr = 0 - barssince(long_exit) + barssince(short_exit) cross_buy = curr < 0 ? 1 : 0 cross_sell = curr > 0 ? 1 : 0 bull = close >= st_tsl_TF and cross_buy bear = close <= st_tsl_TF and cross_sell entry_price = valuewhen(bull or bear, close, 0) plot(sma_fast, "SMA fastLength", color=color.aqua, linewidth=2) plot(sma_slow, "SMA slowLength", color=color.purple, linewidth=2) plotshape(crossover(sma_fast,sma_slow), color=color.aqua, style=shape.circle, size=size.small) plotshape(crossunder(sma_fast,sma_slow), color=color.purple, style=shape.circle, size=size.small) // Plot the ST linecolor = close >= st_tsl_TF ? color.green : color.red plot(st_tsl_TF, color = linecolor , linewidth = 4,title = "SuperTrend", transp=0) // Strategy entries/exits if isLong strategy.entry("Long", 1, when=bull) strategy.close("Long", when=long_exit) if isShort strategy.entry("Short", 0, when=bear) strategy.close("Short", when=short_exit )

Comentarios