RSI-Bollinger-Volume-ATR-Trend Entry with Smart Money ConceptsЦей скрипт для TradingView на основі RSI, смуги Боллінджера, EMA, ATR, об'єму та концепції "Smart Money". Він враховує торгові сесії (Азія, Франкфурт, Європа, Нью-Йорк) для фільтрації сигналів і використовує рівні ордерних блоків для підтвердження входу. Сигнали купівлі/продажу відображаються стрілками.
Indicators and strategies
ST+SQZMOM v.3// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © syahdan modifying LazyBear script and many sources
//======================================================================================================================
//@version=6
indicator('ST+SQZMOM v.3', overlay = true, max_lines_count = 40)
import TradingView/ta/9
//======================================================================================================================
//groups
Alerts = 'alert'
Supertrend = 'supertrend'
SqzMom = 'sqzMom'
Sma = 'ma'
TS = 'tp/sl'
// Input switches for alerts
alertTrendChange = input.bool(true, title='Enable Trend Change Alert', group = Alerts)
alertSQZMOM = input.bool(true, title='Enable SQZMOM Alerts', group = Alerts)
// Supertrend Inputs
atrPeriod = input.int(10, 'ATR Length', minval = 1, group = Supertrend)
factor = input.float(2.5, 'Factor', minval = 0.01, step = 0.01, group = Supertrend)
// Squeeze Momentum Indicator Inputs
sources = input(close, 'Source', group = SqzMom)
bbLength = input.int(20, 'Bollinger Bands Length', minval = 1, group = SqzMom)
bbMult = input.float(2, 'Bollinger Bands MultFactor', step = 0.25, group = SqzMom)
kcLength = input(20, 'Keltner\'s Channel Length', group = SqzMom)
kcMult = input.float(1.5, 'Keltner\'s Channel MultFactor', step = 0.25, group = SqzMom)
useTrueRange = input(true, 'Use TrueRange (Keltner\'s Channel)', group = SqzMom)
addSignal = input.bool(false, title = 'add Signal to Calculate direction', group = SqzMom)
signalLength = input(5, 'Signal Length', group = SqzMom)
tooltip_sqz = 'show momentum direction, BB band and KC band'
showBB = input.bool(false, 'show BBand', tooltip = tooltip_sqz, group = SqzMom)
showKC = input.bool(false, 'show keltner channel', tooltip = tooltip_sqz, group = SqzMom)
showDir= input.bool(false, 'show squeeze direction', tooltip = tooltip_sqz, group = SqzMom)
// Customizable thresholds
lowerThreshold = input(-1.0, title = 'Lower Threshold', group = SqzMom)
upperThreshold = input(1.0, title = 'Upper Threshold', group = SqzMom)
// SMA Input settings
lengthMA = input(200, title="MA Period", group = Sma)
showMA = input.bool(true, title="Show MA", group = Sma)
addsave = input.bool(true, title = 'add MA as filter', group = Alerts)
// Hardcoded tp + sl multipliers
targetMultiplier1 = input.int(1, 'TP1 multiply', minval = 1, group = TS)
targetMultiplier2 = input.int(2, 'TP2 multiply', minval = 2, group = TS)
targetMultiplier3 = input.int(3, 'TP3 multiply', minval = 3, group = TS)
stopLossMultiplier = input.int(3, 'SL multiply', minval = 3, group = TS)
//======================================================================================================================
// Calculate Supertrend
= ta.supertrend(factor, atrPeriod)
// Plot the Supertrend line
plot(supertrend, color = direction < 0 ? color.green : color.red, title = 'ST', style = plot.style_stepline_diamond)
// Determine if the trend is up or down
upTrend = direction < 0
downTrend = direction > 0
// Track previous trend state
var int previousDirection = na
previousDirection := upTrend ? 1 : -1
// Calculate ATR for targets and stop loss
atrValue = ta.atr(atrPeriod)
// Initialize target and stop loss levels
var float entryPrice = na
var float targetLevel1 = na
var float targetLevel2 = na
var float targetLevel3 = na
var float stopLossLevel = na
// Initialize counters for lines and labels
var int count_up = 0
var int count_down = 0
// Initialize a new variable to track if new lines and labels are drawn
var bool newLinesDrawn = false
// Calculate BB
basis = ta.sma(sources, bbLength)
dev = bbMult * ta.stdev(sources, bbLength)
bbUpper = basis + dev
bbLower = basis - dev
// Calculate KC
ma = ta.sma(sources, kcLength)
trRange = useTrueRange ? ta.tr : high - low
rangema = ta.sma(trRange, kcLength)
kcUpper = ma + rangema * kcMult
kcLower = ma - rangema * kcMult
sqzOn = bbLower > kcLower and bbUpper < kcUpper
sqzOff = bbLower < kcLower and bbUpper > kcUpper
noSqz = sqzOn == false and sqzOff == false
val = ta.linreg(sources - math.avg(math.avg(ta.highest(high, kcLength), ta.lowest(low, kcLength)), ta.sma(sources, kcLength)), kcLength, 0)
signal = ta.sma(val, signalLength)
dir = not addSignal ? val : val - signal
// Calculate SMA
MA = ta.sma(sources,lengthMA)
saveEntryBuy = addsave ? MA < close : false
saveEntrySell = addsave ? MA > close : false
//======================================================================================================================
// Plot SMA
plot(showMA ? MA : na, color=color.white, linewidth=2, title='MA')
triangUp = sqzOff and dir > dir and dir >= upperThreshold
triangDown = sqzOff and dir < dir and dir <= lowerThreshold
triangUpR = sqzOff and dir < dir and dir >= upperThreshold
triangDownR = sqzOff and dir > dir and dir <= lowerThreshold
insideThreshold = sqzOff and upperThreshold > dir and dir > lowerThreshold
// Calculate target and stop loss levels
if upTrend and triangUp
entryPrice := close
targetLevel1 := close + atrValue * targetMultiplier1
targetLevel2 := close + atrValue * targetMultiplier2
targetLevel3 := close + atrValue * targetMultiplier3
stopLossLevel := close - atrValue * stopLossMultiplier
count_up := count_up + 1
count_down := 0
else if downTrend and triangDown
entryPrice := close
targetLevel1 := close - atrValue * targetMultiplier1
targetLevel2 := close - atrValue * targetMultiplier2
targetLevel3 := close - atrValue * targetMultiplier3
stopLossLevel := close + atrValue * stopLossMultiplier
count_down := count_down + 1
count_up := 0
// Plotting Squeeze Momentum Indicator
plotshape(sqzOn or noSqz, 'In Squeeze', shape.square, location.top, color=sqzOn or noSqz ? color.new(color.orange, 0) : color.new(color.white, 0))
plotshape(triangUp or triangUpR, 'Squeeze Release UpTrend', shape.triangleup, location.top, color=triangUp ? color.new(color.green, 0) : color.new(color.yellow, 0))
plotshape(triangDown or triangDownR, 'Squeeze Release DownTrend', shape.triangledown, location.top, color=triangDown ? color.new(color.red, 0) : color.new(color.yellow, 0))
plotshape(insideThreshold, 'inside threshold', shape.diamond, location.top, color.new(color.white, 0) )
// Draw lines and labels for targets and stop loss
var line stopLossLine = na
var line entryLine = na
var line targetLine1 = na
var line targetLine2 = na
var line targetLine3 = na
var label stopLossLabel = na
var label entryLabel = na
var label targetLabel1 = na
var label targetLabel2 = na
var label targetLabel3 = na
// Clear previous lines and labels if a new trend is confirmed
if upTrend and triangUp and count_up == 1
// Clear previous lines and labels
line.delete(stopLossLine)
line.delete(entryLine)
line.delete(targetLine1)
line.delete(targetLine2)
line.delete(targetLine3)
label.delete(stopLossLabel)
label.delete(entryLabel)
label.delete(targetLabel1)
label.delete(targetLabel2)
label.delete(targetLabel3)
// Draw new lines + 10 bars into the future
stopLossLine := line.new(bar_index, stopLossLevel, last_bar_index + 10, stopLossLevel, color = color.red, width = 2)
entryLine := line.new(bar_index, close, last_bar_index + 10, close, color = color.green, width = 2)
targetLine1 := line.new(bar_index, targetLevel1, last_bar_index + 10, targetLevel1, color = color.blue, width = 2)
if saveEntryBuy
targetLine2 := line.new(bar_index, targetLevel2, last_bar_index + 10, targetLevel2, color = color.blue, width = 2)
targetLine3 := line.new(bar_index, targetLevel3, last_bar_index + 10, targetLevel3, color = color.blue, width = 2)
// Set the newLinesDrawn flag to true
newLinesDrawn := true
// Draw new labels with three decimal places
stopLossLabel := label.new(last_bar_index + 10, stopLossLevel, 'SL: ' + str.tostring(stopLossLevel, '#.###'), style = label.style_label_left, color = color.red, textcolor = color.white)
entryLabel := label.new(last_bar_index + 10, close, 'Entry: ' + str.tostring(close, '#.###'), style = label.style_label_left, color = color.green, textcolor = color.white)
targetLabel1 := label.new(last_bar_index + 10, targetLevel1, 'TP 1: ' + str.tostring(targetLevel1, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
if saveEntryBuy
targetLabel2 := label.new(last_bar_index + 10, targetLevel2, 'TP 2: ' + str.tostring(targetLevel2, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
targetLabel3 := label.new(last_bar_index +10, targetLevel3, 'TP 3: ' + str.tostring(targetLevel3, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
if downTrend and triangDown and count_down == 1
// Clear previous lines and labels
line.delete(stopLossLine)
line.delete(entryLine)
line.delete(targetLine1)
line.delete(targetLine2)
line.delete(targetLine3)
label.delete(stopLossLabel)
label.delete(entryLabel)
label.delete(targetLabel1)
label.delete(targetLabel2)
label.delete(targetLabel3)
// Draw new lines + 10 bars into the future
stopLossLine := line.new(bar_index, stopLossLevel, last_bar_index + 10, stopLossLevel, color = color.red, width = 2)
entryLine := line.new(bar_index, close, last_bar_index + 10, close, color = color.green, width = 2)
targetLine1 := line.new(bar_index, targetLevel1, last_bar_index + 10, targetLevel1, color = color.blue, width = 2)
if saveEntrySell
targetLine2 := line.new(bar_index, targetLevel2, last_bar_index + 10, targetLevel2, color = color.blue, width = 2)
targetLine3 := line.new(bar_index, targetLevel3, last_bar_index + 10, targetLevel3, color = color.blue, width = 2)
// Set the newLinesDrawn flag to true
newLinesDrawn := true
// Draw new labels with three decimal places
stopLossLabel := label.new(last_bar_index + 10, stopLossLevel, 'SL: ' + str.tostring(stopLossLevel, '#.###'), style = label.style_label_left, color = color.red, textcolor = color.white)
entryLabel := label.new(last_bar_index + 10, close, 'Entry: ' + str.tostring(close, '#.###'), style = label.style_label_left, color = color.green, textcolor = color.white)
targetLabel1 := label.new(last_bar_index + 10, targetLevel1, 'TP 1: ' + str.tostring(targetLevel1, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
if saveEntrySell
targetLabel2 := label.new(last_bar_index + 10, targetLevel2, 'TP 2: ' + str.tostring(targetLevel2, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
targetLabel3 := label.new(last_bar_index + 10, targetLevel3, 'TP 3: ' + str.tostring(targetLevel3, '#.###'), style = label.style_label_left, color = color.blue, textcolor = color.white)
// Plot momentum strength/direction
plotarrow(showDir ? dir : na, 'Momentum Strength/Direction', color.new(color.aqua, 50), color.new(color.orange, 50), show_last = 500)
plot(showBB ? bbUpper : na, 'BBUpper', color.new(color.blue, 25), show_last = 500)
plot(showBB ? bbLower : na, 'BBLower', color.new(color.blue, 25), show_last = 500)
plot(showKC ? kcUpper : na, 'KCUpper', color.new(color.red, 25), show_last = 500)
plot(showKC ? kcLower : na, 'KCLower', color.new(color.red, 25), show_last = 500)
//======================================================================================================================
// Trigger alert when squeeze is released
if sqzOn and not sqzOn
alert('Squeeze On : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if sqzOff and not sqzOff // Only trigger alert if the squeeze was previously on
alert('Squeeze Off : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if triangDown and not triangDown // Only trigger alert if the squeeze was previously on
alert('Weak TrendDown or Reverse : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if triangUp and not triangUp // Only trigger alert if the squeeze was previously on
alert('Weak TrendUp or Reverse : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if insideThreshold and not insideThreshold //trigger when entering threshold channel
alert('inside threshold : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if triangUpR and triangUp
alert('Trend Up Cont : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
if triangDownR and triangDown
alert('Trend Down Cont : '+ syminfo.tickerid + ' | ' + timeframe.period, alert.freq_once_per_bar_close)
// Alert for trend change when new lines and labels are drawn
if newLinesDrawn
saveEntry = addsave ? 'safe' : 'adrenaline'
trendType = upTrend ? 'Buy' : 'Sell'
stopLossValue = str.tostring(stopLossLevel, '#.###')
entryValue = str.tostring(close, '#.###')
targetValue1 = str.tostring(targetLevel1, '#.###')
targetValue2 = saveEntryBuy or saveEntrySell ? str.tostring(targetLevel2, '#.###') : '---'
targetValue3 = saveEntryBuy or saveEntrySell ? str.tostring(targetLevel3, '#.###') : '---'
alertMessage = 'Mode : '+ saveEntry +' ' +
'Pair : ' + syminfo.tickerid + ' | ' + timeframe.period + ' ' +
'Trend : ' + trendType + ' ' +
'SL : ' + stopLossValue + ' ' +
'Ent : ' + entryValue + ' ' +
'TP1 : ' + targetValue1 + ' ' +
'TP2 : ' + targetValue2 + ' ' +
'TP3 : ' + targetValue3
if alertTrendChange
alert(alertMessage, alert.freq_once_per_bar_close)
// Reset the newLinesDrawn flag
newLinesDrawn := false
Volume Change Color with Marker (9x volume)Mark candle blue + mark if volume is 9x bigger than previous candle.
3 Volume Wighted Moving Average -trend-Macd3 Volume Wighted Moving Average
With Main trend
With MACD
Kalman Trend Levels [BigBeluga]Det är nog en sak som världens filosofer kan komma överens om, så snart du börjar grotta i vad meningen med livet är så mår du sämre. Samtidigt har forskning visat att en känsla av mening är starkt ihopkopplat med ett gott välmående, hur kan det komma sig? Det ska vi försöka bena ut i detta inlägg.
Det är egentligen ett viktigt budskap som vi önskar att alla människor får lära sig, nämligen att en känsla av mening inte kan uppstå bara sådär. Du behöver agera för att skapa mening i ditt liv. Det är inte meningen med livet du ska söka efter, utan du ska agera för att skapa ett meningsfullt liv. Känslan av meningsfullhet uppstår nämligen när du upplever att du har kompetens att ta dig framåt, när du inser att du kan göra skillnad och när du agerar för att hjälpa andra människor. Man skulle nästan kunna säga att meningen med livet är att skapa mening med ditt liv!
For the meaning of life differs from man to man, from day to day and from hour to hour. What matters, therefore, is not the meaning of life in general but rather the specific meaning of a person’s life at a given moment. – Viktor E. Frankl
Samtidigt är det viktigt att inse att du inte behöver rädda världen för att uppleva mening. Du bör istället lära känna dig själv och komma fram till vad som är viktigt för dig. Någon önskar att ta hand om barn och se dem växa upp till välmående och starka individer, en annan vill ta hand om djur genom att bli veterinär. Oliver i Malmö lägger större värde i att få spendera mycket tid med sina vänner och Hanna i Åmål föredrar att starta företag för att bidra till sitt lokalsamhälle. Vad som är viktigt för just dig kan bara du veta!
Här behöver vi dock tillägga ett stort MEN. Att som ung vuxen redan vara medveten om vad som skapar mening i ditt liv är ganska sällsynt. Visst finns det personer som har en klar bild av sin framtid sedan barnsben, du har säkert hört talas om den personen som alltid har sagt ”Jag vill hjälpa människor, jag ska bli läkare”, och som håller fast vid det fram till personen en dag står där med sin läkarlegitimation! Vi unnar verkligen de få personerna som tidigt vet vad de vill bidra med till världen, men majoriteten av ungdomar har sällan koll på hur de vill spendera sin tid ens ett år framåt. Vi kan dessutom vara ärliga och avslöja att väldigt få vuxna ens är medvetna om vad de vill göra i livet…
Så känn ingen stress genom att pressa dig själv att komma fram till vad du vill skapa för känsla av mening. Du behöver testa dig fram och undersöka vad som känns bra för dig. Samtidigt kan en coach hjälpa dig att bena ut dina tankar kring vad du tycker är meningsfullt, bland annat genom att landa i vilka värderingar du har just nu. Det du kommer fram till idag kanske är annorlunda om några år, men när du tar tid till att lära känna dig själv och är redo att förändras med dina erfarenheter så har du kommit otroligt långt på vägen. Och kanske kan du till och med göra det som krävs för att ska skapa en liten känsla av mening redan idag!
Även om det hade känts fint att avsluta inlägget där, så är det ändå en sista sak vi vill ta upp. Det är nämligen en sak som forskning har kommit fram till när det gäller känslan av mening, att den uppstår för de allra flesta när de hjälper en annan människa. Så om du känner dig lite vilsen, fundera då på vem du kan hjälpa idag. Dina föräldrar kanske skulle uppskatta hjälp med att vika tvätten, din kollega skulle bli glad om du bjuder på en god lunch eller så kan du bjuda personen bakom dig i kön på en kaffe. Med lite kreativitet finns det massor du kan göra för att i stunden uppleva en härlig känsla av meningsfullhet, genom att fokusera på andra människor!
Dynamic ATR Levels (Last Bar Only)Dynamic ATR Levels (Last Bar Only)
This script uses the ATR (Average True Range) indicator to create dynamic support and resistance levels for a specified timeframe. Key features include:
1. ATR Calculation: The script calculates the ATR value based on the user-defined timeframe and lookback period.
2. Dynamic Levels: Support and resistance levels are calculated by adding and subtracting the ATR value to/from the current closing price.
3. Last Bar Execution: Support and resistance levels are displayed only on the last bar of the chart.
4. Labels: The levels are displayed as labels on the chart, positioned to the right side of the price.
This indicator helps traders quickly identify volatility-based support and resistance levels.
Compare TOTAL, TOTAL2, TOTAL3, and OTHERSCompare TOTAL, TOTAL2, TOTAL3, and OTHERS
This indicator compares the performance of major cryptocurrency market cap indices: TOTAL, TOTAL2, TOTAL3, and OTHERS. It normalizes each index's performance relative to its starting value and visualizes their relative changes over time.
Features
- Normalized Performance: Tracks the percentage change of each index from its initial value.
- Customizable Timeframe: Allows users to select a base timeframe for the data (e.g., daily, weekly).
- Dynamic Labels: Displays the latest performance of each index as a label on the chart, aligned to the right of the corresponding line for easy comparison.
- Color-Coded Lines: Each index is assigned a distinct color for clear differentiation:
-- TOTAL (Blue): Represents the total cryptocurrency market cap.
-- TOTAL2 (Green): Excludes Bitcoin.
-- TOTAL3 (Orange): Excludes Bitcoin and Ethereum.
-- OTHERS (Red): Represents all cryptocurrencies excluding the top 10 by market cap.
- Baseline Reference: Includes a horizontal line at 0% for reference.
Use Cases:
- Market Trends: Identify which segments of the cryptocurrency market are outperforming or underperforming over time.
- Portfolio Insights: Assess the impact of Bitcoin and Ethereum dominance on the broader market.
- Market Analysis: Compare smaller-cap coins (OTHERS) with broader indices (TOTAL, TOTAL2, and TOTAL3).
This script is ideal for traders and analysts who want a quick, visual way to track how different segments of the cryptocurrency market perform relative to each other over time.
Note: The performance is normalized to highlight percentage changes, not absolute values.
DK: SMA Crossover BY//@version=5
indicator("SMA Crossover", overlay=true)
// Input parameters for short-term and long-term SMAs
shortLength = input.int(9, title="Short SMA Length", minval=1)
longLength = input.int(21, title="Long SMA Length", minval=1)
// Calculate the short-term and long-term SMAs
shortSMA = ta.sma(close, shortLength)
longSMA = ta.sma(close, longLength)
// Plot the SMAs on the chart
plot(shortSMA, color=color.blue, linewidth=2, title="Short SMA")
plot(longSMA, color=color.red, linewidth=2, title="Long SMA")
// Generate Buy and Sell signals
bullishCross = ta.crossover(shortSMA, longSMA)
bearishCross = ta.crossunder(shortSMA, longSMA)
// Plot Buy and Sell signals on the chart
plotshape(bullishCross, color=color.green, style=shape.labelup, location=location.belowbar, title="Buy Signal", text="BUY")
plotshape(bearishCross, color=color.red, style=shape.labeldown, location=location.abovebar, title="Sell Signal", text="SELL")
Smart Trend, Crypto - WORK IN PROGRESSDescription of the Script
This Pine Script is a trend-following trading indicator designed to help traders identify buy and sell opportunities while managing risk through take-profit (TP) and stop-loss (SL) levels. Here’s what the script does in detail:
Core Features:
1. Trend Detection Using EMA Crossover:
• Fast EMA and Slow EMA are calculated using adjustable lengths.
• A Buy Signal is triggered when the Fast EMA crosses above the Slow EMA (bullish trend).
• A Sell Signal is triggered when the Fast EMA crosses below the Slow EMA (bearish trend).
2. Support for Multi-Condition Signals:
• The script combines EMA crossovers, RSI levels, and ADX strength to determine signals:
• Relative Strength Index (RSI): Detects overbought or oversold conditions.
• Average Directional Index (ADX): Ensures trends have sufficient strength.
• Signals only trigger if all selected conditions are met.
Risk Management Features:
3. Stop-Loss Levels:
• Stop-loss levels are calculated based on a percentage distance from the last Buy or Sell Signal.
• For a Buy Signal, the stop-loss is set below the buy price.
• For a Sell Signal, the stop-loss is set above the sell price.
• These levels are plotted as horizontal lines on the chart.
4. Take-Profit Levels:
• Take-profit levels are calculated as a percentage distance from the last Buy or Sell Signal:
• For a Buy Signal, the TP level is above the buy price.
• For a Sell Signal, the TP level is below the sell price.
• Take-Profit Bubbles:
• Small bubbles appear on the chart at TP levels only for the current Buy or Sell Signal.
• This helps focus on the latest trade without cluttering the chart.
Visual Aids:
5. Background Highlighting for Trend Identification:
• The chart background changes color to reflect the detected trend:
• Green for a bullish trend (Buy Signal).
• Red for a bearish trend (Sell Signal).
6. Clear Signal Markers:
• Buy Signal: A green triangle below the price bar.
• Sell Signal: A red triangle above the price bar.
• These markers help visually identify signal points on the chart.
Customizability:
• Adjustable Parameters: The script allows the user to customize:
• EMA lengths, ADX threshold, RSI levels, TP percentage, and SL percentage.
• Preset Configurations: Quick settings for popular assets like BTC, ETH, and others.
Usage:
1. Buy and Sell Signals:
• Use the signals to enter long (Buy) or short (Sell) trades.
2. Risk Management:
• Follow the Stop Loss and Take Profit levels to manage risk and lock in profits.
3. Trend Confirmation:
• Observe background colors and EMA lines to confirm trend direction.
This script provides a comprehensive tool for identifying trades, managing risk, and visually simplifying trend-following strategies. Let me know if you need further clarifications!
Jojito's Secret SauceAll you have to do is set the levels you want to trade. Pick your EMAs. Trade the trend. You don't need the EMAs if you don't want them. Use the 4H chart and up and trading is on EZ mode. Working on adding alerts and some other functions like trend color etc.
MACD + EMA Strategy by RHMACD and EMA Trend Strategy
This strategy combines the MACD and 200-period EMA for trend-following trades.
Long Entry:
MACD Line crosses above Signal Line.
Price is above 200 EMA.
Short Entry:
MACD Line crosses below Signal Line.
Price is below 200 EMA.
Exits:
Opposite signals close positions.
It captures trends and avoids false signals by filtering with EMA.
Fibonacci Extensions and Retracements for Selected TimeframesPurpose of the Script
This script plots Fibonacci levels (retracements and extensions) based on the high and low points of the previous day, previous week, or previous month. It is a trading aid to help identify potential support and resistance zones. These zones are often used by traders to determine entry or exit points for trades.
How It Works
Select Timeframe
The trader can choose whether to calculate Fibonacci levels based on the high and low points of the previous day, previous week, or previous month.
This is selected using the timeframe_input input.
Examples:
"D" for the previous day
"W" for the previous week
"M" for the previous month
Calculate Price Range
The script calculates the price range using the high and low of the selected timeframe:
Formula: price_range = High - Low
Draw Fibonacci Levels
Retracements: Within the price range, Fibonacci levels such as 12%, 23%, 38%, 50%, 61%, 78%, and 88% are calculated. These help identify potential support or resistance zones.
Extensions: Beyond the price range, Fibonacci extensions such as 127%, 161%, 200%, 224%, and 241% are plotted to indicate potential breakout targets.
Visualization
The script plots lines and labels for each level.
These lines extend to the right, providing real-time guidance during trading.
Colors and line styles can be customized to match personal preferences.
How to Use as a Trading Aid
Use Fibonacci Retracements:
Use retracements (e.g., 38%, 50%, 61%) to identify potential support or resistance zones.
Example: If the price dropped sharply the previous day, the retracement levels could act as support during a rebound.
Use Fibonacci Extensions:
Extensions help identify price targets when the price breaks above or below the high or low of the previous day, week, or month.
Example: After a breakout above the previous week’s high, the 127% or 161% level could serve as a target.
Adjust Timeframe:
Choose the timeframe that suits your strategy:
Intraday traders can use the previous day’s high and low.
Swing traders might prefer the previous week.
Long-term traders could work with the previous month.
Example
A trader selects the weekly timeframe (W) to analyze the high and low of the previous week:
The script calculates the price range based on the high and low of the previous week.
Fibonacci retracements (e.g., 50% and 61%) are drawn to identify potential support zones.
Fibonacci extensions (e.g., 127% and 161%) help define price targets for a potential breakout above or below the range.
scan_wt_cross_set_2Bist100 hisselerini wt_cross gözüyle tarar, al veya sat sinyali veren hisseleri grafik üzerinde listeler. Sıkı veya rahat şekilde taramaya izin verir. Sıkı taramada aşırı sat bölgesinde al veya aşırı al bölgesinde sat veren hisseleri bulur.
RSI + Bullish zone overlayThis is an RSI with a green zone for bullish price action, and red zones for overbought and non ideal entry points.
FBands-Parthibanwhat is Faytterro Bands?
it is a channel indicator like "Bollinger Bands".
what it does?
creates a channel using standard deviations and means. thus giving users an idea about the expensive and cheap zones. It uses a special weighted moving average different from standard bollinger bands, it also averages not only price but also deviations.
how it does it?
it uses this formulas:
Zero Lag EMA Multi-PeriodPeriods: We define three periods—20, 40, and 60—for calculating the ZEMA.
Separate Calculations: Each ZEMA calculation uses its respective period.
Plot: Each ZEMA is plotted with a unique color to distinguish them:
Blue for Period 20
Red for Period 40
Green for Period 60
This code will display three lines on the chart, each representing a Zero Lag EMA for the specified periods.
AI+VPS Strategy by Vijay Prasad AI+VPS by Vijay Prasad
Overview:
The "AI+VPS Strategy by Vijay Prasad " is an advanced trend-following trading strategy combining AI-powered VPS Divergence Strategy and WoW Trends methodology. It integrates the power of VPS , which identifies market volatility and trend strength, with RSI Divergence to detect potential price reversals. This strategy aims to provide accurate entry signals for both long and short positions, leveraging both trend momentum and divergence analysis for enhanced market predictions.
How It Works:
The strategy first checks if the WoW Trends indicator signals a change in trend (from bullish to bearish or vice versa).
It then applies the VPS condition to confirm volatility and trend strength.
If both conditions align (e.g., bullish trend, volatility breakout), a buy signal is generated. Conversely, if the conditions are bearish, a sell signal is triggered.
The system also analyzes RSI Divergence, using it to identify potential reversals and further confirm the trade direction.
Trade positions are managed with profit targets and automatic exit strategies.
"This strategy works best on shorter timeframes, like the 5-minute chart. For optimal results, use an ATR Multiplier of 2 and a VPS length of 8."
Strategy Logic:
WoW Trends + VPS Strategy : A combination of volatility-based trend conditions for more accurate entry signals.
VPS Divergence Strategy: Detects divergence between price and RSI to spot potential reversals, ensuring that trades are only taken when market conditions favor them.
EMA ivis Breakout StrategyEine bewährte Strategie kombiniert gleitende Durchschnitte (EMAs) mit einem Breakout-Filter, um nur bei klaren Markttrends zu handeln. Entwickelt habe ich diese für BTCUSD, funktioniert aber auch in anderen Assets.
Ausstiegsregeln:
Für den Stop-Loss: 1,5-fache ATR unterhalb/oberhalb des Einstiegskurses.
Für den Take-Profit: 2-fache ATR über/unter dem Einstiegspunkt
Zeit Filter:
Der Indikator liefert nur in der definierten Handelszeit Signale. Diese können SIe selbstständig in den Einstellungen verändern.
Die Strategie kann man bestens in 15min anwenden.