Strategi ini mengintegrasikan MACD, purata bergerak, buaya dan banyak lagi untuk mengenal pasti arah trend untuk trend berikut.
Logikanya ialah:
Mengira garis pendek, panjang dan histogram MACD
Gunakan arah histogram untuk menentukan trend jangka pendek
Menggambar purata bergerak berganda untuk mengukur kedudukan harga
Garis buaya menilai kekuatan trend keseluruhan
Menggabungkan penunjuk di atas, pergi panjang / pendek apabila diselaraskan
Stop loss apabila penunjuk bertukar untuk pembalikan awal
Dengan mensintesis beberapa penunjuk, ia bertujuan untuk berdagang trend yang kuat dan mengurangkan kerugian awal apabila pembalikan berlaku.
MACD menilai trend jangka pendek dan kekuatan
Posisi MA menentukan trend jangka menengah hingga panjang
Alligator menunjukkan kekuatan trend keseluruhan
Pelbagai penunjuk meningkatkan ketepatan
Pengoptimuman parameter yang luas diperlukan
Isyarat bertentangan yang sukar ditafsirkan
Masalah ketinggalan dengan MA dan sebagainya
Strategi ini cuba menentukan arah trend secara komprehensif menggunakan pelbagai penunjuk. Tetapi masalah yang tertinggal dan konflik isyarat memerlukan berhati-hati walaupun pengoptimuman.
/*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")