Strategi ini mengintegrasikan MACD, rata-rata bergerak, buaya dan banyak lagi untuk mengidentifikasi arah tren untuk mengikuti tren.
Logikanya adalah:
Menghitung garis pendek, panjang dan histogram MACD
Gunakan arah histogram untuk menentukan tren jangka pendek
Menggambar beberapa moving average untuk mengukur posisi harga
Garis buaya menilai kekuatan tren secara keseluruhan
Menggabungkan indikator di atas, pergi panjang / pendek ketika sejajar
Stop loss ketika indikator berbalik untuk pembalikan awal
Dengan mensintesis beberapa indikator, itu bertujuan untuk memperdagangkan tren yang kuat dan memotong kerugian lebih awal ketika pembalikan terjadi.
MACD menilai tren dan kekuatan jangka pendek
Posisi MA menentukan tren jangka menengah hingga panjang
Alligator menunjukkan kekuatan tren secara keseluruhan
Berbagai indikator meningkatkan akurasi
Optimasi parameter yang luas diperlukan
Sinyal yang bertentangan sulit untuk ditafsirkan
Masalah keterlambatan dengan MAs dll
Strategi ini mencoba untuk secara komprehensif menentukan arah tren menggunakan beberapa indikator.
/*backtest start: 2023-09-06 00:00:00 end: 2023-09-13 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5MSM VISHNU", overlay=true,process_orders_on_close=true) //indicator(title="mahakaal", shorttitle="mahakaal", timeframe="", timeframe_gaps=true) green = #26A69A red = #FF0000 Yellow = #fcf932 // Getting inputs fast_length = input(title="Fast Length", defval=12) slow_length = input(title="Slow Length", defval=26) src3 = input(title="Source", defval=close) signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 50, defval = 9) sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"]) sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"]) // Plot colors col_macd = input(#2962FF, "MACD Line ", group="Color Settings", inline="MACD") col_signal = input(#FF6D00, "Signal Line ", group="Color Settings", inline="Signal") col_grow_above = input(#26A69A, "Above Grow", group="Histogram", inline="Above") col_fall_above = input(#B2DFDB, "Fall", group="Histogram", inline="Above") col_grow_below = input(#FFCDD2, "Below Grow", group="Histogram", inline="Below") col_fall_below = input(#FF5252, "Fall", group="Histogram", inline="Below") // Calculating fast_ma = sma_source == "SMA" ? ta.sma(src3, fast_length) : ta.ema(src3, fast_length) slow_ma = sma_source == "SMA" ? ta.sma(src3, slow_length) : ta.ema(src3, slow_length) macd = fast_ma - slow_ma signal = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length) hist = macd - signal //hline(0, "Zero Line", color=color.new(#787B86, 50)) //@version=5 //indicator(title="Moving Average Exponential", shorttitle="EMA", overlay=true, timeframe="", timeframe_gaps=true) len = input.int(200, minval=1, title="Length") src2 = input(close, title="Source") offset = input.int(title="Offset", defval=0, minval=-500, maxval=500) Bahubali = ta.ema(src2, len) //plot(out, title="EMA", color=color.blue, offset=offset) //@version=5 //indicator(title="Williams Alligator", shorttitle="Alligator", overlay=true, timeframe="", timeframe_gaps=true) smma(src, length) => smma = 0.0 smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length smma jawLength = input.int(13, minval=1, title="Jaw Length") teethLength = input.int(8, minval=1, title="Teeth Length") lipsLength = input.int(5, minval=1, title="Lips Length") jawOffset = input(8, title="Jaw Offset") teethOffset = input(5, title="Teeth Offset") lipsOffset = input(3, title="Lips Offset") jaw = smma(hl2, jawLength) teeth = smma(hl2, teethLength) lips = smma(hl2, lipsLength) //plot(jaw, "Jaw", offset = jawOffset, color=#2962FF) if (hist > 9) hist := 10 if (hist < -9) hist := -10 // Compose alert message // Entry alert_msg_long_entry = "BUY 🟢 {{ticker}} CE " + str.tostring(math.floor((close - 100)/100)*100) + "\n" + "####################\n\n" + "{{strategy.order.id}}💹 Target 1: " + str.tostring(math.round(close + 35)) + "\n" + "{{strategy.order.id}}💹 Target 2: " + str.tostring(math.round(close + 45)) + "\n" + "\n" + "{{strategy.order.id}} Stop Loss: " + str.tostring(math.round(close - 30)) + "\n\n" + "\n" + "ENTRY PRICE: " + str.tostring(math.round(close)) + "\n\n" + "Current time: {{timenow}} \n" + "Education purpose only" // Entry alert_msg_short_entry = "BUY 🟢 {{ticker}} PE " + str.tostring(math.floor((close + 100)/100)*100) + "\n" + "####################\n\n" + "{{strategy.order.id}}💹 Target 1: " + str.tostring(math.round(close - 35)) + "\n" + "{{strategy.order.id}}💹 Target 2: " + str.tostring(math.round(close - 45)) + "\n" + "\n" + "ENTRY PRICE: " + str.tostring(math.round(close)) + "\n\n" + "{{strategy.order.id}} Stop Loss: " + str.tostring(math.round(close + 30)) + "\n\n" + "Current time: {{timenow}} \n" + "Education purpose only" // EXIT alert_msg_long_exit = "🛑 EXIT {{ticker}} CE LONG POSITION ! \n" + "EXIT PRICE: " + str.tostring(math.round(close)) + "\n" + "\n" + "Dont wait for exit msg in this 🆓 CHANNEL !! \n" + "For 💯% accurate & profitable 💰💰💰 EXIT: \n" + "BUY our 'triDEV' tradingview indicator strategy\n" + "https://wa.me/917020641496" // EXIT alert_msg_short_exit = "🛑 EXIT {{ticker}} PE Short POSITION ! \n" + "EXIT PRICE: " + str.tostring(math.round(close)) + "\n" + "\n" + "Dont wait for exit msg in this 🆓 CHANNEL !! \n" + "For 💯% accurate & profitable 💰💰💰 EXIT: \n" + "BUY our 'triDEV' tradingview indicator strategy\n" + "https://wa.me/917020641496" tyme = time("1440", "0920-1515") bullishtrend = ((hist > 0) and (close > lips ) and (low > lips ) and (close > Bahubali) and (lips > jaw) and tyme) bearishtrend = ((hist < 0) and (close < lips ) and (high < lips ) and (close < Bahubali) and (lips < jaw) and tyme) //plot(hist, title="Histogram", style=plot.style_columns, color=(hist > 0 ? ( bullishtrend ? green : Yellow ) : ( bearishtrend ? red : Yellow ) )) strategy.entry("long", strategy.long, when = bullishtrend , alert_message = alert_msg_long_entry ) strategy.entry("short",strategy.short,when = bearishtrend , alert_message = alert_msg_short_entry) longexit = (close < lips) or time("1440", "1515-1530") or (hist <= 0) //or (close < Bahubali) shortexit = (close > lips) or time("1440", "1515-1530")or (hist >= 0) //or (close > Bahubali) //strategy.exit("long tsl", "long", trail_points = close * 0.01 / syminfo.mintick, trail_offset = close * 0.01 / syminfo.mintick) //strategy.exit("shoty tsl", "short", trail_points = close * 0.01 / syminfo.mintick, trail_offset = close * 0.01 / syminfo.mintick) strategy.exit("long TSL", "long", limit = lips ,when = (longexit), alert_message = alert_msg_long_exit) strategy.exit("short TSL","short",limit = lips ,when = (shortexit), alert_message = alert_msg_short_exit) //PLOT FIXED SLTP LINE // LONG POSITION long_take_level_1 = strategy.position_avg_price + 35 long_take_level_2 = strategy.position_avg_price + 40 long_stop_level = strategy.position_avg_price - 30 plot(strategy.position_size > 0 ? long_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st Long Take Profit") plot(strategy.position_size > 0 ? long_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd Long Take Profit") plot(strategy.position_size > 0 ? long_stop_level : na, style=plot.style_linebr, color=color.red, linewidth=1, title="Long Stop Loss") //PLOT FIXED SLTP LINE // SHORT POSITION SHORT_take_level_1 = strategy.position_avg_price - 35 SHORT_take_level_2 = strategy.position_avg_price - 40 SHORT_stop_level = strategy.position_avg_price + 30 plot(strategy.position_size < 0 ? SHORT_take_level_1 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="1st SHORT Take Profit") plot(strategy.position_size < 0 ? SHORT_take_level_2 : na, style=plot.style_linebr, color=color.green, linewidth=1, title="2nd SHORT Take Profit") plot(strategy.position_size < 0 ? SHORT_stop_level : na, style=plot.style_linebr, color=color.red, linewidth=1, title="SHORT Stop Loss")