EMA Buy/Sell Signals//@version=5
indicator("EMA Buy/Sell Signals", overlay=true)
// 1-घंटे के चार्ट पर 20-पीरियड EMA की गणना
ema20 = ta.ema(close, 20)
// 3-मिनट के चार्ट पर 10-पीरियड EMA की गणना
ema10 = ta.ema(close, 10)
// वर्तमान समय सीमा की जांच करें
is_1h = (timeframe.period == "60")
is_3m = (timeframe.period == "3")
// 1-घंटे के चार्ट पर बायस निर्धारित करें
var float bias = na
if (is_1h)
bias := close > ema20 ? 1 : -1
// 3-मिनट के चार्ट पर एंट्री सिग्नल की पहचान करें
longCondition = (bias == 1) and ta.crossover(close, ema10)
shortCondition = (bias == -1) and ta.crossunder(close, ema10)
// चार्ट पर संकेत दिखाएं
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")
// EMA लाइनों को चार्ट पर प्लॉट करें
plot(ema20, title="EMA 20", color=color.blue)
plot(ema10, title="EMA 10", color=color.orange)
אינדיקטורים ואסטרטגיות
Triple Moving Average by KelvinTriple Moving Average by Kelvin.
In finance, a moving average (MA) is a stock indicator commonly used in technical analysis. The reason for calculating the moving average of a stock is to help smooth out the price data by creating a constantly updated average price.
By calculating the moving average, the impacts of random, short-term fluctuations on the price of a stock over a specified time frame are mitigated. Simple moving averages (SMAs) use a simple arithmetic average of prices over some timespan, while exponential moving averages (EMAs) place greater weight on more recent prices than older ones over the time period.
Moving averages are calculated to identify the trend direction of a stock or to determine its support and resistance levels. It is a trend-following or lagging indicator because it is based on past prices.
The longer the period for the moving average, the greater the lag. A 200-day moving average will have a much greater degree of lag than a 20-day MA because it contains prices for the past 200 days. Fifty-day and 200-day moving average figures are widely followed by investors and traders and are considered to be important trading signals.
Investors may choose different periods of varying lengths to calculate moving averages based on their trading objectives. Shorter moving averages are typically used for short-term trading, while longer-term moving averages are more suited for long-term investors.
How to use this indicator?
So in this indicator, you can customize three of the moving averages like changing their colour, changing the thickness, choose any moving averages mode smma, ema, sma and wma. Just apply directly to the chart and customize yourself.
Why use this indicator?
It let you customize with your creativity. Any ideas you have you can just change it directly in the settings. You can also change to any moving average period you want. Isn't it awesome?
We will update more customizable settings in the future to let our user get their most comfort moving averages.
Buy & Sell Zone IndicatorFeatures:
✅ Uses RSI, MACD, MA, EMA, BB, Fibonacci, and Support & Resistance
✅ Displays only Buy (Green) and Sell (Red) Zones
✅ No distractions – just clear zones for entry & exit
✅ Works on all time frames
EMA Crossover Indicator9 Day EMA Crosses Above 21 day EMA When this crossover happens on intraday and daily time frame it indicates for a buy. intraday time frame 5 min and 15 min.
Pi Cycle Top [maxty]For the Bitcoin Pi Cycle Top Indicator (using the 111DMA and 350DMA x 2), you should use the Daily (D) chart.
The Bitcoin Pi Cycle Top Indicator is a technical analysis tool used to predict potential market tops in Bitcoin’s price cycles. It was created by analyst Philip Swift and relies on the interaction between two specific moving averages: the 111-day moving average (111DMA) and a 2x multiple of the 350-day moving average (350DMA x 2). The indicator signals a possible peak when the shorter 111DMA crosses above the longer 350DMA x 2, suggesting that Bitcoin’s price has reached an overheated, unsustainable level relative to its historical trend.
It has accurately flagged Bitcoin cycle tops in past bull markets, typically within a few days of the peak.
Webhook Buy/Sell Signals Yogendra Kumar Singh//@version=5
indicator("Webhook Buy/Sell Signals", overlay=true)
// Fetching External Inputs
buySignal = request.security("WEBHOOK_SOURCE", timeframe.period, close) > 0
sellSignal = request.security("WEBHOOK_SOURCE", timeframe.period, close) < 0
// Plot Buy/Sell Markers
plotshape(buySignal, location=location.belowbar, color=color.green, style=shape.labelup, size=size.small, title="Buy Signal")
plotshape(sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, size=size.small, title="Sell Signal")
Enhanced SPY Rhythm Formations Detector with Alerts//@version=6
indicator("Enhanced SPY Rhythm Formations Detector with Alerts", overlay=true)
// Inputs
maLength1 = input.int(50, title="EMA Length 1", minval=1)
maLength2 = input.int(200, title="EMA Length 2", minval=1)
shortMaLength1 = input.int(5, title="Short EMA Length 1", minval=1)
shortMaLength2 = input.int(10, title="Short EMA Length 2", minval=1)
shortMaLength3 = input.int(20, title="Short EMA Length 3", minval=1)
rsiLength = input.int(14, title="RSI Length", minval=1)
macdShort = input.int(12, title="MACD Short Length", minval=1)
macdLong = input.int(26, title="MACD Long Length", minval=1)
macdSignal = input.int(9, title="MACD Signal Length", minval=1)
atrLength = input.int(14, title="ATR Length", minval=1)
atrMultiplier = input.float(1.5, title="ATR Multiplier for Target Price", minval=0.1)
// Calculations
ma1 = ta.ema(close, maLength1)
ma2 = ta.ema(close, maLength2)
shortMa1 = ta.ema(close, shortMaLength1)
shortMa2 = ta.ema(close, shortMaLength2)
shortMa3 = ta.ema(close, shortMaLength3)
rsi = ta.rsi(close, rsiLength)
= ta.macd(close, macdShort, macdLong, macdSignal)
macdHist = macdLine - signalLine
atr = ta.atr(atrLength)
// Moving Average Crossovers
goldenCross = ta.crossover(ma1, ma2)
deathCross = ta.crossunder(ma1, ma2)
// Short MAs Crossovers
shortCross1 = ta.crossover(shortMa1, shortMa2)
shortCross2 = ta.crossover(shortMa2, shortMa3)
shortCross3 = ta.crossover(shortMa1, shortMa3)
shortCross1Down = ta.crossunder(shortMa1, shortMa2)
shortCross2Down = ta.crossunder(shortMa2, shortMa3)
shortCross3Down = ta.crossunder(shortMa1, shortMa3)
// RSI Divergence Detection
rsiHigh = ta.highest(rsi, 20)
rsiLow = ta.lowest(rsi, 20)
priceHigh = ta.highest(high, 20)
priceLow = ta.lowest(low, 20)
bearishDivergence = (high == priceHigh and rsi < rsiHigh)
bullishDivergence = (low == priceLow and rsi > rsiLow)
// MACD Histogram Zero Cross
macdZeroCrossUp = ta.crossover(macdHist, 0)
macdZeroCrossDown = ta.crossunder(macdHist, 0)
// Day Trading Signals
dayLongEntry = shortCross1 and rsi < 30
dayShortEntry = shortCross1Down and rsi > 70
// Swing Trading Signals
swingLongEntry = goldenCross and macdHist > 0
swingShortEntry = deathCross and macdHist < 0
// Next Bar Prediction
nextBarUp = close > open and close + (atr * atrMultiplier) > high
nextBarDown = close < open and close - (atr * atrMultiplier) < low
// Shaded Bar Shadow for Next Bar Prediction
bgcolor(nextBarUp ? color.new(color.green, 90) : na, title="Next Bar Up")
bgcolor(nextBarDown ? color.new(color.red, 90) : na, title="Next Bar Down")
// Blinking Alerts
var bool blink = false
blink := not blink
if (dayLongEntry)
label.new(bar_index, low, text="Day Long Entry", color=blink ? color.green : color.white, style=label.style_label_up, textcolor=color.black, size=size.small)
alert("Day Long Entry Signal Detected!", alert.freq_once_per_bar_close)
if (dayShortEntry)
label.new(bar_index, high, text="Day Short Entry", color=blink ? color.red : color.white, style=label.style_label_down, textcolor=color.black, size=size.small)
alert("Day Short Entry Signal Detected!", alert.freq_once_per_bar_close)
if (swingLongEntry)
label.new(bar_index, low, text="Swing Long Entry", color=blink ? color.blue : color.white, style=label.style_label_up, textcolor=color.black, size=size.small)
alert("Swing Long Entry Signal Detected!", alert.freq_once_per_bar_close)
if (swingShortEntry)
label.new(bar_index, high, text="Swing Short Entry", color=blink ? color.orange : color.white, style=label.style_label_down, textcolor=color.black, size=size.small)
alert("Swing Short Entry Signal Detected!", alert.freq_once_per_bar_close)
// Plotting
plot(ma1, color=color.blue, title="EMA Length 1 (50)")
plot(ma2, color=color.red, title="EMA Length 2 (200)")
plot(shortMa1, color=color.green, title="Short EMA Length 1 (5)")
plot(shortMa2, color=color.orange, title="Short EMA Length 2 (10)")
plot(shortMa3, color=color.purple, title="Short EMA Length 3 (20)")
150-Day SMA//@version=5
indicator("150-Day SMA", overlay=true)
len = 150
sma150 = ta.sma(close, len)
plot(sma150, title="150-Day SMA", color=color.orange, linewidth=2)
Cash And Carry Arbitrage BTC Compare Month 6 by SeoNo1Detailed Explanation of the BTC Cash and Carry Arbitrage Script
Script Title: BTC Cash And Carry Arbitrage Month 6 by SeoNo1
Short Title: BTC C&C ABT Month 6
Version: Pine Script v5
Overlay: True (The indicators are plotted directly on the price chart)
Purpose of the Script
This script is designed to help traders analyze and track arbitrage opportunities between the spot market and futures market for Bitcoin (BTC). Specifically, it calculates the spread and Annual Percentage Yield (APY) from a cash-and-carry arbitrage strategy until a specific expiry date (in this case, June 27, 2025).
The strategy helps identify profitable opportunities when the futures price of BTC is higher than the spot price. Traders can then buy BTC in the spot market and short BTC futures contracts to lock in a risk-free profit.
1. Input Settings
Spot Symbol: The real-time BTC spot price from Binance (BTCUSDT).
Futures Symbol: The BTC futures contract that expires in June 2025 (BTCUSDM2025).
Expiry Date: The expiration date of the futures contract, set to June 27, 2025.
These inputs allow users to adjust the symbols or expiry date according to their trading needs.
2. Price Data Retrieval
Spot Price: Fetches the latest closing price of BTC from the spot market.
Futures Price: Fetches the latest closing price of BTC futures.
Spread: The difference between the futures price and the spot price (futures_price - spot_price).
The spread indicates how much higher (or lower) the futures price is compared to the spot market.
3. Time to Maturity (TTM) and Annual Percentage Yield (APY) Calculation
Current Date: Gets the current timestamp.
Time to Maturity (TTM): The number of days left until the futures contract expires.
APY Calculation:
Formula:
APY = ( Spread / Spot Price ) x ( 365 / TTM Days ) x 100
This represents the annualized return from holding a cash-and-carry arbitrage position if the trader buys BTC at the spot price and sells BTC futures.
4. Display Information Table on the Chart
A table is created on the chart's top-right corner showing the following data:
Metric: Labels such as Spread and APY
Value: Displays the calculated spread and APY
The table automatically updates at the latest bar to display the most recent data.
5. Alert Condition
This sets an alert condition that triggers every time the script runs.
In practice, users can modify this alert to trigger based on specific conditions (e.g., APY exceeds a threshold).
6. Plotting the APY and Spread
APY Plot: Displays the annualized yield as a blue line on the chart.
Spread Plot: Visualizes the futures-spot spread as a red line.
This helps traders quickly identify arbitrage opportunities when the spread or APY reaches desirable levels.
How to Use the Script
Monitor Arbitrage Opportunities:
A positive spread indicates a potential cash-and-carry arbitrage opportunity.
The larger the APY, the more profitable the arbitrage opportunity could be.
Timing Trades:
Execute a buy on the BTC spot market and simultaneously sell BTC futures when the APY is attractive.
Close both positions upon futures contract expiry to realize profits.
Risk Management:
Ensure you have sufficient margin to hold both positions until expiry.
Monitor funding rates and volatility, which could affect returns.
Conclusion
This script is an essential tool for traders looking to exploit price discrepancies between the BTC spot market and futures market through a cash-and-carry arbitrage strategy. It provides real-time data on spreads, annualized returns (APY), and visual alerts, helping traders make informed decisions and maximize their profit potential.
relative strength vs QQQ including overbought and oversoldThis script combines relative strength and overbought and oversold. the mid point illustrates the stock strength vs overall market
RVOL Color-Coded VolumeRVOL Color-Coded Volume Indicator
This tool visualizes volume intensity through color-coded bars in a separate panel, making it easy to identify significant market moves driven by unusual volume.
Key Features:
- Displays volume bars with varying colors and intensities based on RVOL (Relative Volume)
- Shows a customizable moving average line for volume reference
- Includes alert conditions for different RVOL thresholds
Color System:
Blue shades (Bullish):
- Light: Normal volume (RVOL < 1)
- Medium: Above average volume
- Dark: Heavy buying volume
- Solid: Extreme volume surge
Pink shades (Bearish):
- Light: Normal volume (RVOL < 1)
- Medium: Increased selling
- Dark: Heavy selling
- Solid: Extreme selling pressure
Gray shades (Neutral):
- Used when opening and closing prices are equal
- Intensity varies with RVOL level
Additional Features:
- Dotted threshold lines for easy reference
- Background highlighting for extreme volume events
- Data window shows exact RVOL values
- Multiple alert conditions for volume thresholds
The indicator helps traders spot potential trend changes and momentum shifts by highlighting unusual volume patterns without interfering with price analysis.
Weekly Vertical LinesShows a verticle line every week to show me when the week ends. Nice and simple.
Bitcoin DCA Strategy ( CICIL BITCOIN ) - Khilman AhmadiSTRATEGY INI, MENSIMULASIKAN UNTUK CICIL BITCOIN SECARA DAILY PADA SAAT MARKET OPEN DAILY ,
Kenapa tidak ada transaksi ?
iyah karna disini kita hanya beli dan hold, jadi report summary nya bisa dilihat di tab- penguji strategi - kinerja,pada bagian hasil beli dan tahan - kita bisa melihat hasil berapa persen keuntungan / kerugian yg kita dapat.
masukan rentang data yang bakal di backtest.
usd per order
masukan modal ( isi 1000000 usd ) tergantung berapa order
masukan pyramid ( jumlah order bisa di isi 2000 ) - ini berarti 2000 hari ( dilebihin gpp )
Crypto Scanner IndicatorExplanation of Criteria
Highest High of 125 Days:
Compares the current closing price to the highest price in the last 125 days.
Triggers when the close equals the highest high (adjust to >= if you want to include closes above prior highs).
Volume Double the 125-Day Average:
Checks if the current volume is at least twice the average volume of the past 125 days.
RSI Below 70:
Uses the 14-period RSI to avoid overbought conditions (RSI < 70).
MY MADAM DIOR'S GOLD STRATEGY MY MADAM DIOR'S GOLD 10-Minute Strategy is designed for trading Gold vs. USD on a 10-minute timeframe. By combining multiple technical indicators (MACD, RSI, Bollinger Bands, and ATR), the strategy effectively captures both trend-following and reversal opportunities, with adaptive risk management for varying market volatility. This approach balances high-probability entries with robust volatility management, making it suitable for traders seeking to optimise entries during significant price movements and reversals.
Key Components and Logic:
MACD (12, 26, 9):
Generates buy signals on MACD Line crossovers above the Signal Line and sell signals on crossovers below the Signal Line, helping to capture momentum shifts.
RSI (14):
Utilizes oversold (below 35) and overbought (above 65) levels as a secondary filter to validate entries and avoid overextended price zones.
Bollinger Bands (20, 2):
Uses upper and lower Bollinger Bands to identify potential overbought and oversold conditions, aiming to enter long trades near the lower band and short trades near the upper band.
ATR-Based Stop Loss and Take Profit:
Stop Loss and Take Profit levels are dynamically set as multiples of ATR (3x for stop loss, 5x for take profit), ensuring flexibility with market volatility to optimise exit points.
Entry & Exit Conditions:
Buy Entry: Triggered when any of the following conditions are met:
MACD Line crosses above the Signal Line
RSI is oversold
Price drops below the lower Bollinger Band
Sell Entry: Triggered when any of the following conditions are met:
MACD Line crosses below the Signal Line
RSI is overbought
Price moves above the upper Bollinger Band
Exit Strategy: Trades are closed based on opposing entry signals, with adaptive spread adjustments for realistic exit points.
Backtesting Configuration & Results:
Backtesting Period: July 21, 2024, to October 30, 2024
Symbol Info: XAUUSD, 10-minute timeframe, OANDA data source
Backtesting Capital: Initial capital of $700, with each trade set to 10 contracts (equivalent to approximately 0.1 lots based on the broker’s contract size for gold).
Users should confirm their broker's contract size for gold, as this may differ. This script uses 10 contracts for backtesting purposes, aligned with 0.1 lots on brokers offering a 100-contract specification.
This backtest reflects realistic conditions, with a spread adjustment of 38 points and no slippage or commission applied. The settings aim to simulate typical retail trading conditions. However, please adjust the initial capital, contract size, and other settings based on your account specifics for best results.
Usage:
This strategy is tuned specifically for XAUUSD on a 10-minute timeframe, ideal for both trend-following and reversal trades. The ATR-based stop loss and take profit levels adapt dynamically to market volatility, optimising entries and exits in varied conditions. To backtest this script accurately, ensure your broker’s contract specifications for gold align with the parameters used in this strategy.
MY MADAM DIOR.....💃
Ultimate Multi-Timeframe Indicator//@version=5
indicator("Ultimate Multi-Timeframe Indicator", overlay=true)
// EMA Ayarları
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
trendBullish = ta.crossover(ema50, ema200)
trendBearish = ta.crossunder(ema50, ema200)
// RSI Ayarları
rsi = ta.rsi(close, 14)
rsiOverbought = 70
rsiOversold = 30
rsiBullish = rsi < rsiOversold
rsiBearish = rsi > rsiOverbought
// MACD Ayarları
= ta.macd(close, 12, 26, 9)
macdBullish = ta.crossover(macdLine, signalLine)
macdBearish = ta.crossunder(macdLine, signalLine)
// Bollinger Bantları
bbBasis = ta.sma(close, 20)
bbUpper = bbBasis + ta.stdev(close, 20) * 2
bbLower = bbBasis - ta.stdev(close, 20) * 2
bbBreakout = close > bbUpper or close < bbLower
// Giriş & Çıkış Sinyalleri
buySignal = trendBullish and macdBullish and rsiBullish
sellSignal = trendBearish and macdBearish and rsiBearish
// Grafikte Gösterimler
plot(ema50, color=color.blue, title="EMA 50")
plot(ema200, color=color.red, title="EMA 200")
plot(bbUpper, color=color.green, title="Bollinger Upper")
plot(bbLower, color=color.green, title="Bollinger Lower")
plot(bbBasis, color=color.orange, title="Bollinger Basis")
// Alış & Satış İşaretleri
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, title="BUY Signal", text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="SELL Signal", text="SELL")
// Uyarılar
alertcondition(buySignal, title="BUY Alert", message="Strong Buy Signal")
alertcondition(sellSignal, title="SELL Alert", message="Strong Sell Signal")
// Al-Sat Sinyalleri için Etiketler
bgcolor(buySignal ? color.green : na, transp=90)
bgcolor(sellSignal ? color.red : na, transp=90)
NSE Index Strategy with Entry/Exit MarkersExplanation of the Code
Trend Filter (200 SMA):
The line trendSMA = ta.sma(close, smaPeriod) calculates the 200‑period simple moving average. By trading only when the current price is above this SMA (inUptrend = close > trendSMA), we aim to trade in the direction of the dominant trend.
RSI Entry Signal:
The RSI is calculated with rsiValue = ta.rsi(close, rsiPeriod). The script checks for an RSI crossover above the oversold threshold using ta.crossover(rsiValue, rsiOversold). This helps capture a potential reversal from a minor pullback in an uptrend.
ATR-Based Exits:
ATR is computed by atrValue = ta.atr(atrPeriod) and is used to set the stop loss and take profit levels:
Stop Loss: stopLossPrice = close - atrMultiplier * atrValue
Take Profit: takeProfitPrice = close + atrMultiplier * atrValue
This dynamic approach allows the exit levels to adjust according to the current market volatility.
Risk and Money Management:
The strategy uses a fixed percentage of equity (10% by default) for each trade. The built‑in commission parameter helps simulate real-world trading costs.
Multi-Timeframe Triple MA SuiteA versatile multi-timeframe indicator featuring three customizable moving averages. Perfect for trend analysis across different timeframes and trading strategies.
Key Features:
• 7 Moving Average Types for each line:
- EMA (Exponential Moving Average)
- SMA (Simple Moving Average)
- RMA (Rolling Moving Average)
- VWMA (Volume Weighted Moving Average)
- WMA (Weighted Moving Average)
- TEMA (Triple Exponential Moving Average)
- SMMA (Smoothed Moving Average)
• Independent settings for each MA:
- Customizable timeframe
- Adjustable period length
- Selectable data source (close, open, high, low, hl2, hlc3, ohlc4)
• Visual Features:
- Color-coded lines for easy identification
- Adjustable line thickness
- Clean and intuitive interface
Usage Examples:
1. Trend Following: Use different timeframe MAs to identify multi-timeframe trends
2. Support/Resistance: Use as dynamic support and resistance levels
3. Cross Strategy: Monitor crossovers between different MA types
4. Trend Strength: Compare MA alignment across timeframes
Perfect for:
• Day traders
• Swing traders
• Position traders
• Multi-timeframe analysis
• Custom trading strategies
This indicator combines flexibility with powerful analysis capabilities, allowing traders to adapt it to various trading styles and market conditions.