FractalsThis indicator is based on the classic Williams Fractals concept. It scans the price chart to identify potential reversal points by looking for fractal patterns in the highs and lows. Here's what it does:
Customizable Periods: You can set the number of bars (using the n input) that the indicator examines on both sides of a central bar.
Up Fractals: An up fractal is detected when the current bar's high is higher than the highs of the preceding n bars, and it is also confirmed by additional conditions checking the following bars.
Down Fractals: Similarly, a down fractal is identified when the current bar's low is lower than the lows of the preceding n bars, with further validation from subsequent bars.
Visual Markers: Once identified, up fractals are marked by a small upward-pointing triangle above the bar, while down fractals are marked by a small downward-pointing triangle below the bar. The shapes are kept minimal (using size.auto) to avoid cluttering the chart.
This setup helps traders spot potential support and resistance areas, providing visual cues for possible trend reversals.
Bill Williams Indicators
EMA1250Findicator("EMA1250F", overlay=true)
ma_01_len = input.int(7, title='Ma 0', minval=1)
ema_01_len = input.int(10, title='Ema 1', minval=1)
ema_02_len = input.int(20, title='Ema 2', minval=1)
ema_03_len = input.int(50, title='Ema 3', minval=1)
ema_04_len = input.int(365, title='Ema 4', minval=1)
ema_src = input.source(close, title="Source")
Refined Fractal & Lux Algo S/R BreakoutFractal Indicator (Period 21) → Identifies support and resistance.
Lux Algo Support & Resistance → Confirms key levels.
Merged Dynamic Deviation & Twin Range FilterThis script integrates the Twin Range Filter and Deviation Levels, keeping all original inputs while ensuring deviation levels are plotted on the chart
RSI + EMA + WMA + SMC + FVG + CVDdinhquoctuannobita Đây là một chỉ báo kết hợp RSI, EMA, WMA, SMC, FVG và CVD để xác định tín hiệu giao dịch chính xác hơn
My strategyThis strategy follows Kathy Lien’s scalping approach, utilizing the 20 EMA and MACD on the M5 timeframe.
- **Entry Conditions**: Enter a trade when the price crosses both the MACD and the 20 EMA, provided the crossover happens within a maximum of 5 candles.
- **Stop Loss**: Set at approximately 20 pips.
- **Trade Management**:
- When the price reaches 1R, close half of the position and move the stop loss to the entry point.
- Use a trailing stop, maintaining a 15-pip distance from the 20 EMA.
Scalping Buy/Sell with Alerts & SL/TP📌 Overview
This is a scalping trading script for TradingView that:
✅ Identifies Buy & Sell signals using two Exponential Moving Averages (EMA).
✅ Calculates Stop-Loss (SL) and Take-Profit (TP) levels dynamically.
✅ Uses lines (line.new()) instead of plot() to display SL/TP.
✅ Includes alerts for Buy/Sell signals
Ultimate Buy Sell Signal with Stoploss at Candle High/LowUltimate Buy Sell Signal with Stoploss at Candle High/Low
XRP Buy/Sell Signals - Champion Strategy我们可以结合多种技术指标来制定一个综合策略。以下是一个Pine Script脚本示例,结合了移动平均线(MA)、相对强弱指数(RSI)、布林带(Bollinger Bands)和成交量来生成买入和卖出信号。
Impulse MACD enhancedThis indicator is designed to provide robust trade entry signals by combining multiple technical filters. Here’s a summary of its key components:
Impulse MACD Calculation:
Uses a Zero-Lag EMA (ZLEMA) based approach to generate a momentum indicator (with a signal line and histogram) that identifies shifts in market momentum.
Simulated Higher Timeframe (HTF) Trend Filter:
Computes an SMA over a multiplied period to simulate a higher timeframe trend. It requires the price to be in line with this broader trend before signaling an entry.
RSI Filter:
Ensures that for bullish entries the RSI is above a set threshold (indicating momentum) and for bearish entries it’s below a threshold.
ADX Filter:
Uses a manually calculated ADX to confirm that the market is in a strong trend (ADX > 30) to reduce false signals in weakly trending or sideways markets.
Volume Filter:
Compares the current volume to a 20‑bar SMA of volume, requiring volume to be significantly higher (by a user-defined percentage) to confirm the strength of the move.
VWAP Confirmation:
Uses the Volume-Weighted Average Price as an extra layer of confirmation: bullish signals require the price to be above VWAP, bearish signals below.
Optional Long-Term & Short-Term MA Filters:
These filters can be enabled to ensure the price is trading above (or below) longer-term and shorter-term moving averages, further aligning the trade with the prevailing trend.
ATR Volatility Filter:
Checks that volatility (as measured by the ATR relative to price) is below a maximum threshold, which helps avoid taking trades in overly volatile conditions.
Price Action Filter:
Ensures that for a bullish signal the current close is above the highest high over a specified lookback period (and vice versa for bearish), indicating a clear breakout.
Signal Throttling:
Signals are limited to one every 10 bars to prevent excessive trading.
When all these conditions are met, the indicator outputs an entry signal for either a bullish or bearish trade.
This multi-filter approach aims to increase win rate by reducing false signals and aligning trades with strong, confirmed trends while filtering out noise.
4EMA_3826_Manh Luan_VN✅ Giữ nguyên logic hiện tại: Khi có tín hiệu BUY hoặc SELL, prevTrend sẽ cập nhật thành 1 hoặc -1.
✅ Reset prevTrend về 0 khi EMA không theo thứ tự: Nếu emaBuy == false và emaSell == false, nghĩa là các đường EMA không thỏa mãn điều kiện sắp xếp theo trend, prevTrend sẽ trở về 0.
✅ Giữ tính năng hiển thị tín hiệu BUY/SELL đúng với thay đổi của trend.
Giờ bạn có thể thử lại trên TradingView! 🚀
Ultimate Scalper (Indian Market)🎯 Enhancements Made:
• Optimized for quick scalping with shorter ATR, RSI, and Volume periods.
• Adjustable Timeframe input allows precise customization.
• Simplified signals: clear BUY and SELL labels directly on the chart.
• Levels clearly marked for quick decision-making during high volatility.
• Tailored thresholds specifically for Indian market conditions.
Feel free to ask for further refinements!
[DRAGON]SMA 34SMA 200Stochastic9-3-3 &(Price Chart)SMA 34 & SMA 200 with Stochastic 9-3-3 & Trailing Stop (Price Chart)
BTC SHADJAM Smart Volume Confirmation interactivebrokers.com has been visited by 10K+ users in the past month
Interactive Brokers clients from 200+ countries and territories invest globally. Invest globally in stocks, options, futures, currencies, bonds & funds from one
InnovateX//@version=6
strategy("Candle Stop Strategy Backtest", overlay=true)
// --- EMA Variables ---
ema7_length = 7
ema25_length = 25
ema99_length = 99
ema7 = ta.ema(close, ema7_length)
ema25 = ta.ema(close, ema25_length)
ema99 = ta.ema(close, ema99_length)
// --- Support and Resistance Calculation ---
lookback_support_resistance = 50
support_level = ta.lowest(low, lookback_support_resistance)
resistance_level = ta.highest(high, lookback_support_resistance)
// --- Candle Stop Function ---
is_candle_stop(trend) =>
body = math.abs(close - open)
upper_shadow = high - math.max(open, close)
lower_shadow = math.min(open, close) - low
if trend == "up"
lower_shadow >= 1.5 * body and upper_shadow < body and close > open and math.abs(ema7 - close) < body
else if trend == "down"
upper_shadow >= 1.5 * body and lower_shadow < body and close < open and math.abs(ema7 - close) < body
else
false
// --- Trend Determination ---
trend = ema25 > ema99 ? "up" : ema25 < ema99 ? "down" : "neutral"
// --- Breakout Detection ---
var bool breakout_detected = false
if trend == "up" and close > resistance_level
breakout_detected := true
alert("شکست صعودی تشخیص داده شد! منتظر پولبک 🚀", alert.freq_once_per_bar)
else if trend == "down" and close < support_level
breakout_detected := true
alert("شکست نزولی تشخیص داده شد! منتظر پولبک 📉", alert.freq_once_per_bar)
// --- Entry and Exit Conditions ---
var float position = 0.0
var float entry_price = 0.0
var float stop_loss_price = na
var bool take_profit_long = false // Declare take_profit_long
var bool stop_loss_hit_long = false // Declare stop_loss_hit_long
var bool take_profit_short = false // Declare take_profit_short
var bool stop_loss_hit_short = false// Declare stop_loss_hit_short
risk_per_trade_percent = 2.0 // Risk percentage per trade - adjustable in strategy settings
if not breakout_detected
if position == 0 and is_candle_stop(trend)
risk_amount_usd = strategy.initial_capital * (risk_per_trade_percent / 100)
if trend == "up"
stop_loss_price := math.min(low, support_level * 0.99)
if (close - stop_loss_price) != 0
position_size_usd = risk_amount_usd / (close - stop_loss_price)
amount = position_size_usd / close
strategy.entry("Long", strategy.long, qty=amount)
position := amount
entry_price := close
else if trend == "down"
stop_loss_price := math.max(high, resistance_level * 1.01)
if (stop_loss_price - close) != 0
position_size_usd = risk_amount_usd / (stop_loss_price - close)
amount = position_size_usd / close
strategy.entry("Short", strategy.short, qty=amount)
position := amount
entry_price := close
if position > 0
profit_percent_long = (close - entry_price) / entry_price * 100
profit_percent_short = (entry_price - close) / entry_price * 100
loss_percent_long = (entry_price - close) / entry_price * 100
loss_percent_short = (close - entry_price) / entry_price * 100
risk_reward_long = loss_percent_long != 0 ? profit_percent_long / loss_percent_long : profit_percent_long
risk_reward_short = loss_percent_short != 0 ? profit_percent_short / loss_percent_short : profit_percent_short
take_profit_long := profit_percent_long >= 4 and risk_reward_long >= 2 // Assign value to take_profit_long
stop_loss_hit_long := close <= stop_loss_price // Assign value to stop_loss_hit_long
take_profit_short := profit_percent_short >= 4 and risk_reward_short >= 2 // Assign value to take_profit_short
stop_loss_hit_short := close >= stop_loss_price // Assign value to stop_loss_hit_short
if (trend == "up" and (take_profit_long or stop_loss_hit_long)) or (trend == "down" and (take_profit_short or stop_loss_hit_short))
if trend == "up"
strategy.close("Long")
else
strategy.close("Short")
position := 0
entry_price := 0.0
breakout_detected := false
// --- Plotting EMAs and Support/Resistance Levels ---
plot(ema7, color=color.blue, title="EMA7")
plot(ema25, color=color.red, title="EMA25")
plot(ema99, color=color.green, title="EMA99")
plot(resistance_level, color=color.orange, style=plot.style_line, title="Resistance")
plot(support_level, color=color.orange, style=plot.style_line, title="Support")
AO+AC(easonlao)该指标基于Awesome Oscillator (AO) 和 Accelerator Oscillator (AC) 的计算结果,动态显示AO的颜色和样式,并绘制AC为黄色线条。
AO的显示规则:
当AO和AC都为正时,AO显示为绿色的直方图。
当AO和AC都为负时,AO显示为红色的直方图。
当AO和AC既不都为正也不都为负时,AO显示为灰色的柱状图。
AC的显示规则:
AC始终显示为黄色线条。
This indicator is based on the calculations of the Awesome Oscillator (AO) and the Accelerator Oscillator (AC). It dynamically displays the color and style of AO and plots AC as a yellow line.
AO Display Rules:
When both AO and AC are positive, AO is displayed as a green histogram.
When both AO and AC are negative, AO is displayed as a red histogram.
When neither AO nor AC are both positive or both negative, AO is displayed as gray columns.
AC Display Rules:
AC is always displayed as a yellow line.
Humble idrees Candles//@version=5
indicator(title="Humble LinReg Candles", shorttitle="41-80-LinReg Candles", format=format.price, precision=4, overlay=true)
signal_length = input.int(title="Signal Smoothing", minval = 1, maxval = 200, defval = 11)
sma_signal = input.bool(title="Simple MA (Signal Line)", defval=true)
lin_reg = input.bool(title="Lin Reg", defval=true)
linreg_length = input.int(title="Linear Regression Length", minval = 1, maxval = 200, defval = 11)
bopen = lin_reg ? ta.linreg(open, linreg_length, 0) : open
bhigh = lin_reg ? ta.linreg(high, linreg_length, 0) : high
blow = lin_reg ? ta.linreg(low, linreg_length, 0) : low
bclose = lin_reg ? ta.linreg(close, linreg_length, 0) : close
r = bopen < bclose
signal = sma_signal ? ta.sma(bclose, signal_length) : ta.ema(bclose, signal_length)
//plotcandle(r ? bopen : na, r ? bhigh : na, r ? blow: na, r ? bclose : na, title="LinReg Candles", color= color.green, wickcolor=color.green, bordercolor=color.green, editable= true)
//plotcandle(r ? na : bopen, r ? na : bhigh, r ? na : blow, r ? na : bclose, title="LinReg Candles", color=color.red, wickcolor=color.red, bordercolor=color.red, editable= true)
plot(signal, color=color.black)
// Inputs
a = input(1, title='Key Vaule. \'This changes the sensitivity\'')
c = input(10, title='ATR Period')
h = input(false, title='Signals from Heikin Ashi Candles')
xATR = ta.atr(c)
nLoss = a * xATR
src = h ? request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close, lookahead=barmerge.lookahead_off) : close
xATRTrailingStop = 0.0
iff_1 = src > nz(xATRTrailingStop , 0) ? src - nLoss : src + nLoss
iff_2 = src < nz(xATRTrailingStop , 0) and src < nz(xATRTrailingStop , 0) ? math.min(nz(xATRTrailingStop ), src + nLoss) : iff_1
xATRTrailingStop := src > nz(xATRTrailingStop , 0) and src > nz(xATRTrailingStop , 0) ? math.max(nz(xATRTrailingStop ), src - nLoss) : iff_2
pos = 0
iff_3 = src > nz(xATRTrailingStop , 0) and src < nz(xATRTrailingStop , 0) ? -1 : nz(pos , 0)
pos := src < nz(xATRTrailingStop , 0) and src > nz(xATRTrailingStop , 0) ? 1 : iff_3
xcolor = pos == -1 ? color.red : pos == 1 ? color.green : color.blue
ema = ta.ema(src, 1)
above = ta.crossover(ema, xATRTrailingStop)
below = ta.crossover(xATRTrailingStop, ema)
buy = src > xATRTrailingStop and above
sell = src < xATRTrailingStop and below
barbuy = src > xATRTrailingStop
barsell = src < xATRTrailingStop
plotshape(buy, title='Buy', text='Buy', style=shape.labelup, location=location.belowbar, color=color.new(color.green, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(sell, title='Sell', text='Sell', style=shape.labeldown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)
barcolor(barbuy ? color.green : na)
barcolor(barsell ? color.red : na)
alertcondition(buy, 'UT Long', 'UT Long')
alertcondition(sell, 'UT Short', 'UT Short')
longCondition = buy
shortCondition = sell
gpA = "PineConnector Settings"
LicenseID = input.string("xxxxxxxx", title = "License ID", group=gpA) // 1. change to your PineConnector License ID (required)
pairName = input.string("XAUUSD", title = "Pair Name to Trade", tooltip = "Confirm exact name from MT5 before entering", group=gpA)
risk_ = input.float(10, "Risk ", group = gpA)
sl_ = input.float(30, "SL ", group = gpA)
tp_ = input.float(30, "TP ", group = gpA, inline = "tp_"), use_tp = input.bool(false, "Enable", group = gpA, inline = "tp_")
entryAlertMessage(side_,risk, sl, tp)=>
LicenseID + ',' + side_ + ',' + pairName + ',risk=' + str.tostring(risk) + ',sl=' + str.tostring(sl, "#.####") + (use_tp ? ',tp=' + str.tostring(tp, "#.####") : "")
closeAlertMessage(side_)=>
LicenseID +',' + side_ + ',' + pairName
if longCondition
alertMessage = entryAlertMessage("buy", risk_, sl_, tp_)
alert(alertMessage, alert.freq_once_per_bar_close)
// label.new(bar_index, high, alertMessage, xloc.bar_index, yloc.price, color.green, label.style_label_down, color.white, size.small, text.align_left, na, font.family_monospace, force_overlay = true)
if shortCondition
alertMessage = entryAlertMessage("sell", risk_, sl_, tp_)
alert(alertMessage, alert.freq_once_per_bar_close)
15-Min ConditionThis is very good. We want trading This is very good. We want tradingThis is very good. We want tradingThis is very good. We want tradingThis is very good. We want tradingThis is very good. We want trading