Эта стратегия объединяет MACD, скользящие средние, аллигатора и многое другое, чтобы определить направление тренда для следования тренду.
Логика такова:
Расчет коротких, длинных и гистограммных линий MACD
Используйте направление гистограммы для определения краткосрочной тенденции
Графика множественных скользящих средних для оценки ценовой позиции
Линии аллигатора определяют общую силу тренда
Комбинируя вышеперечисленные показатели, при выравнивании перейти на длинный/короткий курс
Стоп-лосс при переходе индикаторов для раннего перехода
С помощью синтеза нескольких индикаторов, он стремится торговать сильными тенденциями и сокращать потери на ранней стадии, когда происходят переломы.
MACD оценивает краткосрочную тенденцию и силу
Позиции MA определяют среднесрочные и долгосрочные тенденции
Аллигатор показывает общую силу тренда
Многочисленные показатели повышают точность
Необходима широкая оптимизация параметров
Конфликтные сигналы трудно интерпретировать
Проблемы с отставанием с МО и т.д.
Эта стратегия пытается всесторонне определить направление тренда с использованием нескольких индикаторов. Но проблемы с отставанием и конфликты сигналов требуют осторожности, несмотря на оптимизацию.
/*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")