커뮤니티

부틱드립니다

프로필 이미지
파생돌이
2025-10-09 00:02:04.0
104
글번호 194525
답변완료
수고하십니다 예스로 부탁드립니다 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © CustomIndicator //@version=5 indicator(title="Trend Channel SwiftEdge", shorttitle="AI Trend Dashboard", overlay=true) // Inputs for Main Indicator ma_type = input.string("EMA", title="AI Moving Average Type", options=["SMA", "EMA", "WMA"]) ma_length = input.int(14, minval=3, title="AI MA Length") source = input.source(close, title="AI Data Source") show_ribbon = input.bool(true, title="Show AI Ribbon") show_background = input.bool(true, title="Show AI Background Glow") start_year = input.int(1900, title="Start Year", minval=1900, maxval=2100) end_year = input.int(2100, title="End Year", minval=1900, maxval=2100) // Input for Signal Filter Timeframe signal_tf = input.string("15", title="AI Signal Filter Timeframe", options=["1", "5", "15", "60", "240", "D"]) // Function to Calculate Trend Direction for a Given Timeframe f_calculateTrend(_src, _length, _channel_period) => ma = ma_type == "SMA" ? ta.sma(_src, _length) : ma_type == "EMA" ? ta.ema(_src, _length) : ta.wma(_src, _length) upper_channel = ta.highest(ma, _channel_period) lower_channel = ta.lowest(ma, _channel_period) trend = _src > upper_channel[1] ? 1 : _src < lower_channel[1] ? -1 : 0 trend // Calculate Moving Average (Main Indicator) ma = ma_type == "SMA" ? ta.sma(source, ma_length) : ma_type == "EMA" ? ta.ema(source, ma_length) : ta.wma(source, ma_length) // Dynamic Price Channel (Main Indicator) channel_period = ma_length * 2 upper_channel = ta.highest(ma, channel_period) lower_channel = ta.lowest(ma, channel_period) // Trend Detection (Main Indicator) var int trend_direction = 0 trend_direction := source > upper_channel[1] ? 1 : source < lower_channel[1] ? -1 : trend_direction[1] // AI-Enhanced Colors with Neon Gradient Effect neon_green = #39FF14 neon_red = #FF073A neon_blue = #00BFFF neon_gray = #808080 ribbon_color = show_ribbon ? trend_direction == 1 ? neon_green : trend_direction == -1 ? neon_red : neon_gray : na bg_color_up = show_background and trend_direction == 1 ? color.new(neon_green, 85) : na bg_color_down = show_background and trend_direction == -1 ? color.new(neon_red, 85) : na channel_color = show_ribbon ? color.new(neon_blue, 40) : na // Plotting with Holographic Effect plot_ma = plot(ma, title="AI Moving Average", color=ribbon_color, linewidth=3, style=plot.style_stepline) plot_upper = plot(upper_channel, title="AI Upper Channel", color=channel_color, linewidth=2, style=plot.style_stepline) plot_lower = plot(lower_channel, title="AI Lower Channel", color=channel_color, linewidth=2, style=plot.style_stepline) // Background Glow with Gradient fill(plot_upper, plot_lower, color=bg_color_up, title="AI Bullish Glow") fill(plot_upper, plot_lower, color=bg_color_down, title="AI Bearish Glow") // Time Filter time_valid = time >= timestamp(start_year, 1, 1, 0, 0) and time <= timestamp(end_year, 12, 31, 23, 59) // Multi-Timeframe Trend Analysis src_1m = request.security(syminfo.tickerid, "1", source) src_5m = request.security(syminfo.tickerid, "5", source) src_15m = request.security(syminfo.tickerid, "15", source) src_1h = request.security(syminfo.tickerid, "60", source) src_4h = request.security(syminfo.tickerid, "240", source) src_1d = request.security(syminfo.tickerid, "D", source) trend_1m = f_calculateTrend(src_1m, ma_length, channel_period) trend_5m = f_calculateTrend(src_5m, ma_length, channel_period) trend_15m = f_calculateTrend(src_15m, ma_length, channel_period) trend_1h = f_calculateTrend(src_1h, ma_length, channel_period) trend_4h = f_calculateTrend(src_4h, ma_length, channel_period) trend_1d = f_calculateTrend(src_1d, ma_length, channel_period) // AI-Enhanced Dashboard var table trend_table = table.new(position.top_right, 2, 8, border_width=2, border_color=neon_blue, bgcolor=color.new(color.black, 80)) if barstate.islastconfirmedhistory table.cell(trend_table, 0, 0, "AI Trend", bgcolor=color.new(neon_blue, 60), text_color=color.white, text_size=size.normal) table.cell(trend_table, 1, 0, "Analysis", bgcolor=color.new(neon_blue, 60), text_color=color.white, text_size=size.normal) table.cell(trend_table, 0, 1, "Timeframe", bgcolor=color.new(color.gray, 80), text_color=neon_blue) table.cell(trend_table, 1, 1, "Trend", bgcolor=color.new(color.gray, 80), text_color=neon_blue) table.cell(trend_table, 0, 2, "1 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 2, trend_1m == 1 ? "UP" : trend_1m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1m == 1 ? color.new(neon_green, 60) : trend_1m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 3, "5 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 3, trend_5m == 1 ? "UP" : trend_5m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_5m == 1 ? color.new(neon_green, 60) : trend_5m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 4, "15 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 4, trend_15m == 1 ? "UP" : trend_15m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_15m == 1 ? color.new(neon_green, 60) : trend_15m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 5, "1 Hour", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 5, trend_1h == 1 ? "UP" : trend_1h == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1h == 1 ? color.new(neon_green, 60) : trend_1h == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 6, "4 Hour", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 6, trend_4h == 1 ? "UP" : trend_4h == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_4h == 1 ? color.new(neon_green, 60) : trend_4h == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 7, "1 Day", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 7, trend_1d == 1 ? "UP" : trend_1d == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1d == 1 ? color.new(neon_green, 60) : trend_1d == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) // Signal Filter Trend signal_trend = request.security(syminfo.tickerid, signal_tf, f_calculateTrend(source, ma_length, channel_period)) // Check Higher Timeframes for Trend Direction bool higher_tf_up = false bool higher_tf_down = false if signal_tf == "1" higher_tf_up := trend_5m == 1 and trend_15m == 1 and trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_5m == -1 and trend_15m == -1 and trend_1h == -1 and trend_4h == -1 else if signal_tf == "5" higher_tf_up := trend_15m == 1 and trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_15m == -1 and trend_1h == -1 and trend_4h == -1 else if signal_tf == "15" higher_tf_up := trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_1h == -1 and trend_4h == -1 else if signal_tf == "60" higher_tf_up := trend_4h == 1 and trend_1d == 1 higher_tf_down := trend_4h == -1 and trend_1d == -1 else if signal_tf == "240" higher_tf_up := trend_1d == 1 higher_tf_down := trend_1d == -1 else if signal_tf == "D" higher_tf_up := true // No higher timeframe to check higher_tf_down := true // Buy and Sell Signals based on Trend Cross in Signal Filter Timeframe, Main Trend, and Higher Timeframes buy_signal = ta.crossover(signal_trend, 0) and trend_direction == 1 and (signal_trend == 1 or (signal_trend == 0 and higher_tf_up)) and time_valid sell_signal = ta.crossunder(signal_trend, 0) and trend_direction == -1 and (signal_trend == -1 or (signal_trend == 0 and higher_tf_down)) and time_valid // AI-Enhanced Buy and Sell Signals with Futuristic Labels if buy_signal label.new(bar_index, low, "🚀 AI BUY", color=neon_green, style=label.style_label_up, textcolor=color.white, size=size.normal) if sell_signal label.new(bar_index, high, "🛑 AI SELL", color=neon_red, style=label.style_label_down, textcolor=color.white, size=size.normal)
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2025-10-10 11:19:00.0

안녕하세요 예스스탁입니다. 올려주신 내용은 수식내 타주기 데이터들을 요구하는 내용이 있는데 변환에 시간이 많이 소모되는 내용입니다. 일정 이상 시간이 요구되는 내용은 저희가 작성해 드리기 어렵습니다. 도움을 드리지 못해 죄송합니다. 즐거운 하루되세요 > 파생돌이 님이 쓴 글입니다. > 제목 : 부틱드립니다 > 수고하십니다 예스로 부탁드립니다 // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © CustomIndicator //@version=5 indicator(title="Trend Channel SwiftEdge", shorttitle="AI Trend Dashboard", overlay=true) // Inputs for Main Indicator ma_type = input.string("EMA", title="AI Moving Average Type", options=["SMA", "EMA", "WMA"]) ma_length = input.int(14, minval=3, title="AI MA Length") source = input.source(close, title="AI Data Source") show_ribbon = input.bool(true, title="Show AI Ribbon") show_background = input.bool(true, title="Show AI Background Glow") start_year = input.int(1900, title="Start Year", minval=1900, maxval=2100) end_year = input.int(2100, title="End Year", minval=1900, maxval=2100) // Input for Signal Filter Timeframe signal_tf = input.string("15", title="AI Signal Filter Timeframe", options=["1", "5", "15", "60", "240", "D"]) // Function to Calculate Trend Direction for a Given Timeframe f_calculateTrend(_src, _length, _channel_period) => ma = ma_type == "SMA" ? ta.sma(_src, _length) : ma_type == "EMA" ? ta.ema(_src, _length) : ta.wma(_src, _length) upper_channel = ta.highest(ma, _channel_period) lower_channel = ta.lowest(ma, _channel_period) trend = _src > upper_channel[1] ? 1 : _src < lower_channel[1] ? -1 : 0 trend // Calculate Moving Average (Main Indicator) ma = ma_type == "SMA" ? ta.sma(source, ma_length) : ma_type == "EMA" ? ta.ema(source, ma_length) : ta.wma(source, ma_length) // Dynamic Price Channel (Main Indicator) channel_period = ma_length * 2 upper_channel = ta.highest(ma, channel_period) lower_channel = ta.lowest(ma, channel_period) // Trend Detection (Main Indicator) var int trend_direction = 0 trend_direction := source > upper_channel[1] ? 1 : source < lower_channel[1] ? -1 : trend_direction[1] // AI-Enhanced Colors with Neon Gradient Effect neon_green = #39FF14 neon_red = #FF073A neon_blue = #00BFFF neon_gray = #808080 ribbon_color = show_ribbon ? trend_direction == 1 ? neon_green : trend_direction == -1 ? neon_red : neon_gray : na bg_color_up = show_background and trend_direction == 1 ? color.new(neon_green, 85) : na bg_color_down = show_background and trend_direction == -1 ? color.new(neon_red, 85) : na channel_color = show_ribbon ? color.new(neon_blue, 40) : na // Plotting with Holographic Effect plot_ma = plot(ma, title="AI Moving Average", color=ribbon_color, linewidth=3, style=plot.style_stepline) plot_upper = plot(upper_channel, title="AI Upper Channel", color=channel_color, linewidth=2, style=plot.style_stepline) plot_lower = plot(lower_channel, title="AI Lower Channel", color=channel_color, linewidth=2, style=plot.style_stepline) // Background Glow with Gradient fill(plot_upper, plot_lower, color=bg_color_up, title="AI Bullish Glow") fill(plot_upper, plot_lower, color=bg_color_down, title="AI Bearish Glow") // Time Filter time_valid = time >= timestamp(start_year, 1, 1, 0, 0) and time <= timestamp(end_year, 12, 31, 23, 59) // Multi-Timeframe Trend Analysis src_1m = request.security(syminfo.tickerid, "1", source) src_5m = request.security(syminfo.tickerid, "5", source) src_15m = request.security(syminfo.tickerid, "15", source) src_1h = request.security(syminfo.tickerid, "60", source) src_4h = request.security(syminfo.tickerid, "240", source) src_1d = request.security(syminfo.tickerid, "D", source) trend_1m = f_calculateTrend(src_1m, ma_length, channel_period) trend_5m = f_calculateTrend(src_5m, ma_length, channel_period) trend_15m = f_calculateTrend(src_15m, ma_length, channel_period) trend_1h = f_calculateTrend(src_1h, ma_length, channel_period) trend_4h = f_calculateTrend(src_4h, ma_length, channel_period) trend_1d = f_calculateTrend(src_1d, ma_length, channel_period) // AI-Enhanced Dashboard var table trend_table = table.new(position.top_right, 2, 8, border_width=2, border_color=neon_blue, bgcolor=color.new(color.black, 80)) if barstate.islastconfirmedhistory table.cell(trend_table, 0, 0, "AI Trend", bgcolor=color.new(neon_blue, 60), text_color=color.white, text_size=size.normal) table.cell(trend_table, 1, 0, "Analysis", bgcolor=color.new(neon_blue, 60), text_color=color.white, text_size=size.normal) table.cell(trend_table, 0, 1, "Timeframe", bgcolor=color.new(color.gray, 80), text_color=neon_blue) table.cell(trend_table, 1, 1, "Trend", bgcolor=color.new(color.gray, 80), text_color=neon_blue) table.cell(trend_table, 0, 2, "1 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 2, trend_1m == 1 ? "UP" : trend_1m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1m == 1 ? color.new(neon_green, 60) : trend_1m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 3, "5 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 3, trend_5m == 1 ? "UP" : trend_5m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_5m == 1 ? color.new(neon_green, 60) : trend_5m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 4, "15 Min", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 4, trend_15m == 1 ? "UP" : trend_15m == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_15m == 1 ? color.new(neon_green, 60) : trend_15m == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 5, "1 Hour", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 5, trend_1h == 1 ? "UP" : trend_1h == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1h == 1 ? color.new(neon_green, 60) : trend_1h == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 6, "4 Hour", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 6, trend_4h == 1 ? "UP" : trend_4h == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_4h == 1 ? color.new(neon_green, 60) : trend_4h == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) table.cell(trend_table, 0, 7, "1 Day", bgcolor=color.new(color.black, 90), text_color=neon_blue) table.cell(trend_table, 1, 7, trend_1d == 1 ? "UP" : trend_1d == -1 ? "DOWN" : "NEUTRAL", bgcolor=trend_1d == 1 ? color.new(neon_green, 60) : trend_1d == -1 ? color.new(neon_red, 60) : color.new(neon_gray, 60), text_color=color.white) // Signal Filter Trend signal_trend = request.security(syminfo.tickerid, signal_tf, f_calculateTrend(source, ma_length, channel_period)) // Check Higher Timeframes for Trend Direction bool higher_tf_up = false bool higher_tf_down = false if signal_tf == "1" higher_tf_up := trend_5m == 1 and trend_15m == 1 and trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_5m == -1 and trend_15m == -1 and trend_1h == -1 and trend_4h == -1 else if signal_tf == "5" higher_tf_up := trend_15m == 1 and trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_15m == -1 and trend_1h == -1 and trend_4h == -1 else if signal_tf == "15" higher_tf_up := trend_1h == 1 and trend_4h == 1 higher_tf_down := trend_1h == -1 and trend_4h == -1 else if signal_tf == "60" higher_tf_up := trend_4h == 1 and trend_1d == 1 higher_tf_down := trend_4h == -1 and trend_1d == -1 else if signal_tf == "240" higher_tf_up := trend_1d == 1 higher_tf_down := trend_1d == -1 else if signal_tf == "D" higher_tf_up := true // No higher timeframe to check higher_tf_down := true // Buy and Sell Signals based on Trend Cross in Signal Filter Timeframe, Main Trend, and Higher Timeframes buy_signal = ta.crossover(signal_trend, 0) and trend_direction == 1 and (signal_trend == 1 or (signal_trend == 0 and higher_tf_up)) and time_valid sell_signal = ta.crossunder(signal_trend, 0) and trend_direction == -1 and (signal_trend == -1 or (signal_trend == 0 and higher_tf_down)) and time_valid // AI-Enhanced Buy and Sell Signals with Futuristic Labels if buy_signal label.new(bar_index, low, "🚀 AI BUY", color=neon_green, style=label.style_label_up, textcolor=color.white, size=size.normal) if sell_signal label.new(bar_index, high, "🛑 AI SELL", color=neon_red, style=label.style_label_down, textcolor=color.white, size=size.normal)