Chart patterns
RSI DIVERSION 200 EMA COMBINATIONThis indicator generates buy signals when the price is above the 200 EMA with bullish RSI divergence and sell signals when the price is below the 200 EMA with bearish RSI divergence. It helps identify trend direction and potential reversal points in the market.
Even vs Odd Days Performance█ OVERVIEW
The Even vs Odd Days Performance indicator is designed to visualise and compare the performance of even-numbered days versus odd-numbered days. This indicator explores one of the many calendar based anomalies that exist in financial markets.
In the context of financial analysis, a calendar based anomaly refers to patterns or tendencies that are linked to specific time periods, such as days of the week, weeks of the month, or months of the year. This indicator helps explore whether such a calendar based anomaly exists between even and odd days.
By calculating cumulative daily performance and counting the number of days with positive returns, it provides a clear snapshot of whether one set of days tends to outperform the other, potentially highlighting a calendar based anomaly if a significant difference is observed.
█ FEATURES
Customisable time window through input settings.
Tracks cumulative returns for even and odd days separately.
Easily adjust table settings like position and font size via input options.
Clear visual distinction between even and odd day performance using different colours.
Built-in error checks to ensure the indicator is applied to the correct timeframe.
█ HOW TO USE
Add the indicator to a chart with a Daily timeframe.
Choose your start and end dates in the Time Settings.
Enable or disable the performance table in the Table Settings as needed.
View the cumulative performance, with even days in green and odd days in red.
Milana Trades - SFP ( with Alert)Swing Failure Pattern (SFP) is a powerful trading tool that helps identify liquidity grabs around swing points and potential price reversals.
How I Use the Indicator
Timeframe Selection:
I primarily focus on higher timeframes (30M and above).
If you're trading within a session, you can use shorter timeframes like 5M or 15M.
Entry Point Identification:
After an SFP forms on a higher timeframe, I switch to a lower timeframe.
On the lower timeframe, I look for confirmation signals indicating a reversal, such as:
iFVG (Imbalance / Fair Value Gap)
MSS (Market Structure Shift)
Breaker Block
Take-Profit Placement:
The ideal target for taking profit is the opposite liquidity zone.
Telegram : milanatrades
Instagram : milana.muslimova_
Grid Bot based on Bollinger Bands with Adjustable LevelsGrid Bot based on Bollinger Bands with Adjustable Levels
Even vs Odd Weeks Performance█ OVERVIEW
The Even vs Odd Weeks Performance indicator is designed to visualise and compare the performance of even-numbered weeks versus odd-numbered weeks. This indicator explores one of the many calendar based anomalies that exist in financial markets.
In the context of financial analysis, a calendar based anomaly refers to patterns or tendencies that are linked to specific time periods, such as days of the week, weeks of the month, or months of the year. This indicator helps explore whether such a calendar based anomaly exists between even and odd weeks.
By calculating cumulative weekly performance and counting the number of weeks with positive returns, it provides a clear snapshot of whether one set of weeks tends to outperform the other, potentially highlighting a calendar based anomaly if a significant difference is observed.
█ FEATURES
Customisable time window through input settings.
Tracks cumulative returns for even and odd weeks separately.
Easily adjust table settings like position and font size via input options.
Clear visual distinction between even and odd week performance using different colours.
Built-in error checks to ensure the indicator is applied to the correct timeframe.
█ HOW TO USE
Add the indicator to a chart with a Weekly timeframe.
Choose your start and end dates in the Time Settings.
Enable or disable the performance table in the Table Settings as needed.
View the cumulative performance, with even weeks in green and odd weeks in red.
Bollinger Bands with EMA & SMA Bollinger Bands with customizable moving averages (SMA, EMA) and additional Exponential (EMA) & Simple Moving Averages (SMA) for trend analysis. It calculates Bollinger Bands using a user-defined moving average and standard deviation multiplier. The script also overlays 8, 13, 21, and 55-day EMAs and 50, 100, and 200-day SMAs
Buy/Sell/Reversal with Support/Resistance & TrendlineIf the price is above the moving average and a bullish engulfing pattern forms, a BUY signal will appear.
If the price is below the moving average and a bearish engulfing pattern forms, a SELL signal will appear.
Swing Highs and Lows will be marked as RES and SUP, respectively.
Trendlines will be drawn between significant highs or lows.
CUSTOM_KKSThis indicator plots **six Exponential Moving Averages (EMAs)** (5, 9, 40, 50, 100, and 200) on the chart to help identify trends. It highlights **EMA crossovers** between the 5 EMA and 9 EMA, signaling potential buy or sell opportunities. Additionally, it **plots target price levels** after a crossover to help traders set profit-taking or stop-loss points. Clear **buy and sell signals** are displayed on the chart for better decision-making. 🚀📊
Discount/Premium OTE LevelsThis indicator is created to identify discount/premium areas to provide additional confluence to trades taken. The underlying theory is that the trades taken in discounted areas are likely to have less risk due to a smaller stop loss and a higher reward/risk ratio.
The indicator operates by first identifying a zone between the last major swing high and low. These highs and lows are determined as price points that at the extremes within the number of bars to the left, as defined by the "Swing Sensitivity" setting.
Once a price zone is established, the indicator verifies that the zone meets the minimum size in points as configured via the "Minimum size" setting to be considered tradable. Zones that are too small may not provide a sufficient range even for scalping. The default value is 42 points based on Nasdaq, which means that the distance between inner most OTE levels (0.382 and 0.618) is at least 10 points.
When a valid zone is identified, it is then subdivided into areas of interest based on OTE levels, which can be configured/adjusted via the "Levels to Draw" setting. These levels represent the midpoint (50%), which distinguishes between premium and discount, and the three OTE levels 0.79, 0.705, 0.618, above the 50% for discount and below the 50% for premium.
For example, if a zone is formed initially by a swing low followed by a swing high with the assumption that the draw is higher, the indicator can be used to formulate long positions from below the 50% level starting at 0.38 OTE level, or ideally at 0.295 OTE level using 0 as a stop loss. Alternatively, if the 50% level is not yet tapped, short scalp positions can be made from 0.79-0.618 OTE levels with 50% as a partial or TP target.
See for long/short example
Typically, the indicator will show only a single zone. However, there may be cases with two zones: one larger parent zone containing a smaller, valid price zone within itself.
The indicator will automatically invalidate and remove the zone once the high/low of the zone is invalidated.
Configuration:
The indicator provides several visualization options for customization, including:
Color settings for OTE levels, with separate settings for edge/50% color, premium, and discount levels.
Settings for line style for OTE levels.
Settings to determine whether to show prices on level labels.
Settings to decide if lines should be extended to the right.
DAILY 6$This strategy is designed for XAUUSD (Gold) trading using a $130 account with a goal of making $12 daily while risking $6 per trade. It integrates multiple advanced trading techniques:
1. **Smart Money Concepts (SMC):** Identifies liquidity grabs and market structure shifts to detect potential reversals.
2. **ICT & Order Blocks:** Recognizes key areas where institutions place trades.
3. **Fibonacci Levels:** Uses 0.618 and 0.382 levels for optimal entries and exits.
4. **Fair Value Gaps (FVG):** Finds price inefficiencies that are likely to get filled.
5. **RSI & Volume Analysis:** Confirms momentum with RSI crossovers and high institutional volume.
6. **Wyckoff Accumulation/Distribution:** Ensures entries align with smart money movements.
7. **Session-Based Execution:** Trades only during London & New York sessions, avoiding high-impact news times.
It plots clear **buy/sell signals** and **entry/exit markers** to guide decision-making, helping traders capitalize on Gold’s price movements efficiently. 🚀
Time-based Alerts for Trading Windows🌟 Time-based Alerts for Trading Windows 🌐📈
This Time-based Alerts for Trading Windows script is a highly customizable and reliable tool designed to assist traders in managing automated strategies or manually monitoring specific market conditions. Inspired by CrossTrade's Time-based Alert, this script is tailored for those who rely on precise time windows to trigger actions, such as sending webhook signals or managing Expert Advisors (EAs).
Whether you are a scalper, day trader, or algorithmic trader, this script empowers you to stay on top of your trades with fully customizable time-based alerts.
🛠️ Customizable Time Alerts
This indicator allows you to create up to 12 unique time windows by specifying the exact hour and minute for each alert. Each time window corresponds to an individual alert condition, making it perfect for managing trades during specific market sessions or key time periods.
For example:
Alert 1 can be set at 9:30 AM (market open).
Alert 2 can be set at 3:55 PM (just before market close).
Each alert can be toggled on or off in the indicator settings, allowing you to manage alerts without having to reconfigure your script.
You can adjust the colours to fit any colour scheme you like!
🕒 Odd and Even Time Alerts
The script comes with three built-in alert type categories:
Odd Alerts (marked with a green triangle on the chart): These correspond to odd-numbered inputs like Alert 1, Alert 3, Alert 5, and so on.
Even Alerts (marked with a red triangle on the chart): These correspond to even-numbered inputs like Alert 2, Alert 4, Alert 6, and so on.
You can also customize all 12 alerts individually to include a custom alert message
These alerts serve as a convenient way to differentiate between multiple trading strategies or market conditions. You can customize alert messages for odd and even alerts directly from TradingView’s alert panel.
🔗 Webhook Integration for Automation
This script is fully compatible with webhook-based automation. By configuring your alerts in TradingView, you can send signals to trading bots, EAs, or any third-party system. For example, you can:
Turn off an EA at a specific time (e.g., 3:55 PM EST).
Send buy/sell signals to your bot during predefined trading windows.
Simply use TradingView’s alert message editor to format webhook payloads for your automation system.
🌐 Timezone Flexibility
Trading happens across multiple time zones, and this script accounts for that. You can toggle between:
Eastern Time (New York): Ideal for most US-based markets.
Central Time (Exchange): Useful for futures and commodities traders.
This ensures your alerts are always in sync with your preferred time zone, eliminating confusion.
🎨 Visual Indicators
The script plots visual markers directly on your chart to indicate active alerts:
Up Facing Triangles: Represent odd-numbered alerts, providing a quick reference for these time windows.
Down Facing Triangles: Represent even-numbered alerts, helping you track different strategies or conditions.
These visual markers make it easy to see when alerts are triggered, even at a glance.
In our chart example above, the blue triangles indicate the odd-numbered alerts and the yellow triangles the even-numbered alerts. You can set them to the colours of green and red if you prefer that!
📈 Practical Use Case
Let’s say you’re trading the USTEC index on a 1-minute chart. You want to:
Turn off your trading bot at 16:55 EST to avoid after-market volatility.
Trigger a re-entry signal at 17:30 EST to capture moves during the Asian session.
Visually monitor these actions on your chart for easy reference.
This script makes it possible with precision alerts and webhook integration. Simply configure the time windows in the settings and set up your alerts in TradingView.
🚨 How to Set Up Alerts
Enable or Disable Alerts: Use the script’s settings to toggle specific alerts on or off as needed.
Set Custom Time Windows: Define the hour and minute for each alert in the settings panel.
Create Alerts in TradingView:
Go to the TradingView alert panel.
Select the condition (e.g., "Odd Time-based Alert (Green)" or "Even Time-based Alert (Red)").
Customize the alert message for webhook integration or personal notification.
Choose the trigger type: Once Per Bar or Once Per Bar Close to keep the alert active.
Integrate with Webhooks: Use the alert message field to format payloads for automation systems like MT4, MT5, or third-party bots.
📋 Key Notes
Alerts can trigger indefinitely if set to "Once Per Bar" or "Once Per Bar Close".
Always ensure the expiration date is set far in the future to avoid unexpected alert deactivation.
Test webhook messages and alert configurations thoroughly before using them in live trading.
This script is a powerful addition to your trading toolbox, offering precision, flexibility, and automation capabilities. Whether you’re turning off an EA, managing trades during market sessions, or automating strategies via webhooks, this script is here to support you.
Start using the Time-based Alerts for Trading Windows today and trade with confidence! 🚀✨
Acknowledgment
This indicator was created using the foundation code provided by CrossTrade.io . Huge thanks to their work for inspiring this customizable solution! Follow them here: @CrossTradeTeam
Last NR7 Highlight (Day Timeframe Only)This Indicator identifies and highlights the recent instances of NR7 (Narrowest Range 7) candles on your chart. NR7 candles are significant because they represent periods of consolidation, often preceding strong breakouts or trend reversals. The script makes it easy to spot these critical candles with clear visual cues, helping traders make informed decisions.
b1r1nc1 - AI Trade Strategy v1RSI Entry Logic
In this script, you are going long when RSI crosses under 30. This means RSI has just moved below 30 from above (i.e., entering oversold territory). Typically, some traders prefer going long when RSI crosses above 30 (rebound from oversold). Your approach is contrarian—entering as soon as RSI becomes oversold. That may be intentional, but make sure it aligns with your trading logic.
Exit Logic
Similarly, you exit a long either when RSI crosses above 50 or the trend flips to bearish. You may want to experiment with different thresholds (e.g., RSI crossing back above 30 or 40) to see which performs best historically.
Stop/Take Profit
You used strategy.exit() with stop and limit parameters. This will submit both orders (stop and limit) at once. If you prefer the built-in stop_loss or profit_target approach, you could replace them. Both work well; it’s personal preference.
If you want to see your stop and TP lines drawn on the chart, you can use the optional plot(...) statements. They’ll appear only for active positions.
Trend Definition
You’re using a simple 50/200 SMA cross to define bullish/bearish. That’s a classic approach, but you can also experiment with EMAs or different lengths (e.g., 20/50 or 20/100) to find a better fit for your market or timeframe.
Date Range
The date range is set from 2018 to 2069, which is quite wide. It’s perfectly fine, but if your backtests only go so far, you can tighten those timestamps as needed.
Performance & Optimization
If you plan on heavily optimizing (e.g., searching for the best RSI length, ATR multipliers, etc.), you can expose them as inputs and run TradingView’s strategy tester optimizations. It helps to keep code clean and ensure each parameter is an input for easier tweaking.
EMA + MACD Strategy//@version=5
indicator("EMA + MACD Strategy", overlay=true)
// EMA 설정
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
// MACD 설정
= ta.macd(close, 12, 26, 9)
// 매매 신호
goldenCross = ta.crossover(ema50, ema200)
deathCross = ta.crossunder(ema50, ema200)
macdBuy = ta.crossover(macdLine, signalLine)
macdSell = ta.crossunder(macdLine, signalLine)
// 차트에 표시
plot(ema50, title="EMA 50", color=color.blue)
plot(ema200, title="EMA 200", color=color.red)
// 매수/매도 신호
plotshape(goldenCross, location=location.belowbar, color=color.green, style=shape.labelup, title="Golden Cross")
plotshape(deathCross, location=location.abovebar, color=color.red, style=shape.labeldown, title="Death Cross")
plotshape(macdBuy, location=location.belowbar, color=color.green, style=shape.triangleup, title="MACD Buy")
plotshape(macdSell, location=location.abovebar, color=color.red, style=shape.triangledown, title="MACD Sell")
Smartfox: DEMA50 + DEMA200 + MSS + OB What does this script do?
1. It looks for a Market Structure Shift after a breakout of the DEMA50.
2. The breakout must have a full candle close above or below the DEMA50.
3. As additional confirmation, the script checks for an Order Block.
4. If these conditions are met, an orange (bearish) or blue (bullish) signal is displayed.
5. If all the above conditions are met plus a breakout of the DEMA200, a red (bearish) or green (bullish) signal is displayed.
How do I use this script?
Through my testing, I have noticed the significant role of DEMA50 and DEMA200. The price often returns to these levels for a retest and frequently uses them as support or resistance. The above rules serve as additional confirmation for a solid trade. I use it as follows:
1. Draw support and resistance lines on higher timeframes, typically the 1-hour and 4-hour charts.
2. Look for the displayed signals on the 15-minute timeframe when the price reaches these key levels.
3. Check if there is an open GAP and determine whether a retest of the DEMA50 is likely to occur.
4. For blue and orange signals, I take a scalp trade toward the next support or resistance level.
5. For red or green signals, I also consider a swing trade, as the reversal is now confirmed by both the DEMA50 and DEMA200.
Of course, there are no guarantees of success, but this method has shown a proven track record when following these rules. 🚀📈
EMA Crossover StrategyThis is an indicator using the 9 EMA and 21 EMA when they crossover there is a buy and sell signal
Anchored VWAP- STKThis Pine Script (version 5) calculates and plots an **Anchored Volume Weighted Average Price (VWAP)** along with its **standard deviation bands** on a trading chart. The VWAP helps traders identify the average price of an asset, weighted by volume, starting from a specific date chosen by the user.
### Key Components:
1. **Indicator Setup:**
The script is set as an overlay indicator, meaning it will be displayed directly on the price chart.
2. **User Inputs:**
- **VWAP Start Date:** Allows the user to select the date from which the VWAP calculation should begin (default is January 1, 2022).
- **VWAP Data Source:** Users can choose which price data to use for the calculation (default is `hlc3`, which is the average of the high, low, and close prices).
3. **VWAP Calculation:**
- The script keeps track of the cumulative sum of (price × volume) and the cumulative volume starting from the selected date.
- The VWAP is calculated as:
\
4. **Standard Deviation Calculation:**
- The script calculates the variance using the formula:
\
This ensures the variance is not negative.
- The standard deviation is then derived by taking the square root of the variance.
5. **Plotting:**
- **VWAP Line:** Displayed in blue.
- **Upper Band:** Plotted in orange, representing VWAP + standard deviation.
- **Lower Band:** Also in orange, representing VWAP - standard deviation.
### Purpose:
This indicator helps traders analyze price movements relative to the VWAP, providing insights into potential support/resistance levels. The standard deviation bands help identify overbought or oversold conditions based on price volatility.
Mean reversion threshold levels//@version=5
indicator("Mean reversion threshold levels", overlay=true)
txt = input.string("", title="Input SPX reversion levels:", confirm=true)
color0 = input.color(defval=color.rgb(224, 10, 110))
color1 = input.color(defval=color.rgb(224, 10, 110))
color2 = input.color(defval=color.rgb(224, 10, 110))
color3 = input.color(defval=color.rgb(224, 10, 110))
color4 = input.color(defval=color.rgb(224, 10, 110))
color5 = input.color(defval=color.rgb(224, 10, 110))
color6 = input.color(defval=color.rgb(224, 10, 110))
color7 = input.color(defval=color.rgb(224, 10, 110))
color8 = input.color(defval=color.rgb(224, 10, 110))
color9 = input.color(defval=color.rgb(224, 10, 110))
color10 = input.color(defval=color.rgb(224, 10, 110))
TxtToArray(string origin, string divider) =>
Arr = array.new_string()
Arr := str.split(origin, divider)
Arr
Dividedstrings = TxtToArray(txt, ",")
color temporarycolor = na
plot(array.size(Dividedstrings) >= 2 ? str.tonumber(array.get(Dividedstrings, 1)) : na, title="first line", color=color0, display=display.price_scale)
plot(array.size(Dividedstrings) >= 4 ? str.tonumber(array.get(Dividedstrings, 3)) : na, title="second line", color=color1, display=display.price_scale)
plot(array.size(Dividedstrings) >= 6 ? str.tonumber(array.get(Dividedstrings, 5)) : na, title="third line", color=color2, display=display.price_scale)
plot(array.size(Dividedstrings) >= 8 ? str.tonumber(array.get(Dividedstrings, 7)) : na, title="fourth line", color=color3, display=display.price_scale)
plot(array.size(Dividedstrings) >= 10 ? str.tonumber(array.get(Dividedstrings, 9)) : na, title="fifth line", color=color4, display=display.price_scale)
plot(array.size(Dividedstrings) >= 12 ? str.tonumber(array.get(Dividedstrings, 11)) : na, title="sixth line", color=color5, display=display.price_scale)
plot(array.size(Dividedstrings) >= 14 ? str.tonumber(array.get(Dividedstrings, 13)) : na, title="seventh line", color=color6, display=display.price_scale)
plot(array.size(Dividedstrings) >= 16 ? str.tonumber(array.get(Dividedstrings, 15)) : na, title="eighth line", color=color7, display=display.price_scale)
plot(array.size(Dividedstrings) >= 18 ? str.tonumber(array.get(Dividedstrings, 17)) : na, title="ninth line", color=color8, display=display.price_scale)
plot(array.size(Dividedstrings) >= 20 ? str.tonumber(array.get(Dividedstrings, 19)) : na, title="tenth line", color=color9, display=display.price_scale)
nb_bars = ta.barssince(time == chart.right_visible_bar_time)
if barstate.islastconfirmedhistory and array.size(Dividedstrings) != 0
for i = 0 to array.size(Dividedstrings) - 1
if i % 2 == 0
if i == 0 or i == 1
temporarycolor := color0
if i == 2 or i == 3
temporarycolor := color1
if i == 4 or i == 5
temporarycolor := color2
if i == 6 or i == 7
temporarycolor := color3
if i == 8 or i == 9
temporarycolor := color4
if i == 10 or i == 11
temporarycolor := color5
if i == 12 or i == 13
temporarycolor := color6
if i == 14 or i == 15
temporarycolor := color7
if i == 16 or i == 17
temporarycolor := color8
if i == 18 or i == 19
temporarycolor := color9
if i % 2 == 0
if array.size(Dividedstrings) > i + 1
label.new(bar_index, str.tonumber(array.get(Dividedstrings, i + 1)), array.get(Dividedstrings, i), xloc=xloc.bar_index, color=color.new(color.white, 10), size=size.large, style=label.style_none, textcolor=temporarycolor, textalign=text.align_right)
if i % 2 != 0
if array.size(Dividedstrings) > i
line.new(bar_index, str.tonumber(array.get(Dividedstrings, i)), bar_index + 1, str.tonumber(array.get(Dividedstrings, i)), extend=extend.both, color=temporarycolor)
//Alma
B!!7 wtf dp want itis not midne am dtired cant spellIf I rejected or deleted your annotation, it’s nothing personal. Just doing my job and keeping up with the current Genius standards. Please do not send me angry messages, demanding to know why your annotation was deleted, otherwise, you will be ignored and action may be taken on your account. Send me a constructive and calm message, then we can talk.
EMA //@version=5
indicator("Shiba Inu EMA Crossover Alerts", overlay=true)
// Input Parameters
shortLength = input(9, title="Short EMA Length")
longLength = input(21, title="Long EMA Length")
// EMA Calculations
shortEMA = ta.ema(close, shortLength)
longEMA = ta.ema(close, longLength)
// Crossover Conditions
bullishCross = ta.crossover(shortEMA, longEMA)
bearishCross = ta.crossunder(shortEMA, longEMA)
// Plot EMAs
plot(shortEMA, color=color.blue, title="Short EMA", linewidth=2)
plot(longEMA, color=color.red, title="Long EMA", linewidth=2)
// Buy and Sell Signals
plotshape(series=bullishCross, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=bearishCross, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")
// Alerts
alertcondition(bullishCross, title="Buy Alert", message="Shiba Inu Buy Signal: Short EMA crossed above Long EMA!")
alertcondition(bearishCross, title="Sell Alert", message="Shiba Inu Sell Signal: Short EMA crossed below Long EMA!")