指標和策略
VolumeProfileLibrary "VolumeProfile"
Analyzes volume and price and calculates a volume profile, in particular the Point Of Control and Value Area values.
new(rowSizeInTicks, valueAreaCoverage, startTime)
Constructor method that creates a new Volume Profile
Parameters:
rowSizeInTicks (float) : Internal row size (aka resolution) of the volume profile. Useful for most futures contracts would be '1 / syminfo.mintick'. Default '4'.
valueAreaCoverage (int) : Percentage of total volume that is considered the Value Area. Default '70'
startTime (int) : Start time (unix timestamp in milliseconds) of the Volume Profile. Default 'time'.
Returns: VolumeProfile object
method calculatePOC(vp)
Calculates current Point Of Control of the VP
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: void
method calculateVA(vp)
Calculates current Value Area High and Low of the VP
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: void
method update(vp, h, l, v, t)
Processes new chart data and sorts volume into rows. Then calls calculatePOC() and calculateVA() to update the VP. Parameters are usually the output of request.security_lower_tf.
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
h (array) : Array of highs
l (array) : Array of lows
v (array) : Array of volumes
t (array) : Array of candle times
Returns: void
method setSessionHigh(vp, h)
Sets the high of the session the VP is tracking
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
h (float)
Returns: void
method setSessionLow(vp, l)
Sets the low of the session the VP is tracking
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
l (float)
Returns: void
method getPOC(vp)
Gets the current Point Of Control
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Point Of Control (float)
method getVAH(vp)
Gets the current Value Area High
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Value Area High (float)
method getVAL(vp)
Gets the current Value Area Low
Namespace types: VolumeProfile
Parameters:
vp (VolumeProfile)
Returns: Value Area Low (float)
VolumeProfile
Fields:
rowSizeInTicks (series float)
valueAreaCoverage (series int)
startTime (series int)
valueAreaHigh (series float)
pointOfControl (series float)
valueAreaLow (series float)
sessionHigh (series float)
sessionLow (series float)
volumeByRow (map)
totalVolume (series float)
pocRow (series float)
pocVol (series float)
Quarter Theory Lines with Box Around Each Key LevelQuarter Level Theory with Box Around Each Key Level, Credit to MrPresident for the original idea, revamped with additional touches for maximum profits.
CCI Buy and Sell Signals with 20/30 EMACCI Buy and Sell Signals with EMA and ATR Stop Loss/Take Profit
This indicator is designed to identify buy and sell signals based on a combination of the Commodity Channel Index (CCI) and Exponential Moving Averages (EMA). It also includes an optional ATR-based stop loss and take profit system, which is useful for traders who want to manage their trades with dynamic risk levels.
Features:
CCI Buy and Sell Signals:
Buy Signal: A buy signal is triggered when the CCI crosses up through -100 (from an oversold condition), the 20-period EMA is above the 30-period EMA, and the price is above the 200-period EMA. This suggests that the market is entering an upward trend.
Sell Signal: A sell signal is triggered when the CCI crosses down through +100 (from an overbought condition), the 20-period EMA is below the 30-period EMA, and the price is below the 200-period EMA. This suggests that the market is entering a downward trend.
Exponential Moving Averages (EMA):
The script plots three EMAs:
20-period EMA (Green): Used to identify short-term trends.
30-period EMA (Red): Used to capture medium-term trends.
200-period EMA (Orange): A long-term trend filter, with the price above it generally indicating bullish conditions and below it indicating bearish conditions.
ATR-Based Stop Loss and Take Profit:
Optional Feature: The ATR (Average True Range) indicator can be used to set stop loss and take profit levels based on market volatility.
Stop Loss: Set at a multiple of the ATR below the entry price for long positions and above the entry price for short positions.
Take Profit: Set at a multiple of the ATR above the entry price for long positions and below the entry price for short positions.
Customizable: You can adjust the ATR length, Stop Loss Multiplier, and Take Profit Multiplier through the settings.
Dots: The stop loss and take profit levels are plotted as dots on the chart when the ATR feature is enabled.
Alert Conditions:
Buy Signal Alert: Triggered when a buy signal occurs based on CCI crossing up -100 and other conditions being met.
Sell Signal Alert: Triggered when a sell signal occurs based on CCI crossing down +100 and other conditions being met.
Any Signal Alert: This is a combined alert that triggers for either a buy or sell signal. It helps you stay updated on both types of signals simultaneously.
How to Use:
The indicator will plot buy and sell arrows on the chart, giving clear entry points for trades based on CCI and EMA conditions.
The ATR stop loss and take profit dots (when enabled) provide automatic risk management levels, adjusting dynamically with market volatility.
Traders can customize the ATR settings to fine-tune their stop loss and take profit levels, making this strategy adaptable to different trading styles and market conditions.
Daily MACD Crossover Buy Sell IndicatorGives Buy/Sell indicator looking at MACD crossover on the 1D chart only. Good for swing trading.
BUY and SELL 20/200 MA + MACD Strategy + ATRThis indicator is a BUY and SELL strategy based on a combination of Moving Averages (MA), MACD, and Candlestick patterns. The key features include:
Moving Averages: The strategy allows users to choose between Simple Moving Averages (SMA) or Exponential Moving Averages (EMA) with customizable periods (20, 50, 100, and 200). These MAs help identify the overall market trend.
Buy Signal: A buy signal is triggered when:
Two consecutive green candles close above the 200-period MA, and
The 20-period MA is below the 200-period MA, or
The MACD shows a bullish crossover below the zero line.
Sell Signal: A sell signal is triggered when:
Two consecutive red candles close below the 200-period MA, and
The 20-period MA is above the 200-period MA, or
The MACD shows a bearish crossover above the zero line.
Customizable Alerts:
Alerts for Buy and Sell signals.
A general "Any" alert for both Buy or Sell signals.
ATR-based Stop Loss and Take Profit:
The stop loss and take profit levels can be set using the Average True Range (ATR) with adjustable multipliers.
Users can choose to enable or disable this feature.
RT + TL v12This is a script to populate gamma/vanna/charm levels from option greeks heatmaps in Vexly. Heavy levels indicate levels with highest confluence. TLU and TLL are upper and lower levels. The levels are posted everyday on their discord server.
Range Trader another tool in Vexly, the levels from which can be plotted as well. Just copy the headline from range trader into "RT Range" and the modes into "RT mode"
Example:
RT Mode will take this string as input and plot the levels:
upper_mode
6049.037
mp_mode
6035.407
lower_mode
6021.776
RT Range will take this string as input and plot the levels:
6044.893 - 6017.652
Hope this helps
Crypto MA + ATR Super AdaptativeThe Crypto MA + ATR Super Adaptative Indicator is designed to help traders identify trend levels and potential support/resistance zones using a dynamic measure of volatility. It calculates a central "Mid Line" (a moving average of the closing prices) and then plots multiple bands (or levels) above and below this line. These bands are spaced using a dynamic Average True Range (ATR) that is adjusted based on recent volatility via a Relative Volatility Factor (RVF).
Key Features
Dynamic ATR Calculation:
Uses a Relative Volatility Factor (RVF) to adjust the short-term ATR based on the dispersion of recent ATR values relative to a longer-term ATR reference. This ensures that the bands widen during periods of high volatility and narrow during periods of low volatility.
Mid Line (Central Moving Average):
A customizable moving average (with options such as SMA, EMA, WMA, RMA, HMA, ALMA) calculated from closing prices, which serves as the central reference for the bands.
Multiple Trend Levels:
Seven levels (both above and below the Mid Line) are plotted. Each level is computed as a multiple (1x through 7x) of the dynamic ATR added to or subtracted from the Mid Line.
Customizable Inputs:
Users can easily adjust the lookback periods for both the Mid Line and ATR calculations, choose the type of moving average, set the base multiplier for the bands, and toggle the display of each individual level.
Time Offset Option:
An offset parameter allows shifting the plotted lines forward or backward in time to better align with the user's charting preferences.
How It Works
Mid Line Calculation:
The indicator computes a moving average (the Mid Line) based on the closing prices using a user-selected method (e.g., EMA).
ATR Calculations:
Short-Term ATR (atrShort): Reflects current volatility over a short period (default is 14 bars).
Long-Term ATR (atrLong): Acts as a volatility reference calculated over a longer period (default is 100 bars).
Relative Volatility Factor (RVF):
First, the standard deviation of the short-term ATR over a specified lookback period (default is 14 bars) is calculated.
The RVF is then computed using the formula:
RVF
=
1
+
(
stdev(atrShort, rvfLength)
atrLong
)
RVF=1+(
atrLong
stdev(atrShort, rvfLength)
)
The Dynamic ATR is derived by multiplying the short-term ATR by the RVF:
Dynamic ATR
=
atrShort
×
RVF
Dynamic ATR=atrShort×RVF
Plotting the Trend Levels:
Each level is determined by adding (for upper levels) or subtracting (for lower levels) a multiple of the Dynamic ATR from the Mid Line. For example, Level 1 is:
Level 1
=
Mid Line
±
(
1.0
×
Dynamic ATR
)
Level 1=Mid Line±(1.0×Dynamic ATR)
This calculation is repeated for up to 7 levels.
User Inputs
Mid Line Settings:
Period: Number of bars for the moving average (e.g., 100).
Type: Moving average type (Options: SMA, EMA, WMA, RMA, HMA, ALMA).
ATR Settings:
ATR Short Period (atrShortLength): Default is 14.
(Reflects current market volatility.)
ATR Long Period (atrLongLength): Default is 100.
(Serves as the volatility reference.)
RVF Lookback Period (rvfLength): Default is 14.
(Used to compute the standard deviation of the short-term ATR.)
ATR Method: Moving average type for ATR calculation (Options: SMA, EMA, WMA, RMA, HMA, ALMA).
Band Multiplier:
Base Multiplier (multBase): Sets the scaling factor for the trend levels (default is 1.0).
Display Options:
Toggle Levels 1 to 7: Option to show or hide each trend level.
Bar Offset: Shifts the plotted lines forward or backward by a specified number of bars.
How to Use
Add to Chart:
Copy and paste the Pine Script code into TradingView’s Pine Editor and add the script to your chart.
Configure Settings:
Adjust the input parameters (such as moving average periods, ATR settings, and band multiplier) to suit your trading style and the instrument being analyzed.
Interpret the Levels:
The Mid Line acts as the central trend indicator.
The plotted bands represent dynamic support and resistance levels that adjust based on recent volatility.
Wider bands indicate higher volatility; narrower bands suggest lower volatility.
Apply in Trading:
Use these dynamic trend levels to help identify potential entry and exit points, confirm trends, or set stop-loss levels. Always combine the indicator with other technical analysis tools and sound risk management practices.
Disclaimer
This indicator is provided for educational purposes only. It is not financial advice, and its performance is not guaranteed. Trading involves substantial risk, and you should use this indicator in conjunction with other forms of analysis and risk management techniques.
Algoman Oscillator//@version = 5
indicator(shorttitle='Algoman Oscillator', title='Algoman Oscillator', overlay=false)
n1 = input(10, 'Channel length')
n2 = input(21, 'Average length')
reaction_wt = input.int(defval=1, title='Reaction in change of direction', minval=1)
nsc = input.float(53, 'Levels About Buys', minval=0.0)
nsv = input.float(-53, 'Levels About Sells', maxval=-0.0)
Buy_sales = input(true, title='Only Smart Buy Reversal')
Sell_sales = input(true, title='Only Smart Sell Reversal')
Histogram = input(true, title='Show Histogarm')
//Trendx = input(false, title='Show Trendx')
barras = input(true, title='Divergence on chart(Bars)')
divregbull = input(true, title='Regular Divergence Bullish')
divregbear = input(true, title='Regular Divergence Bearish')
divhidbull = input(true, title='Show Divergence Hidden Bullish')
divhidbear = input(true, title='Show Divergence Hidden Bearish')
Tags = input(true, title='Show Divergence Lable')
amme = input(false, title='Activar media movil Extra para WT')
White = #FDFEFE
Black = #000000
Bearish = #e91e62
Bullish = #18e0ff
Strong_Bullish = #2962ff
Bullish2 = #00bedc
Blue1 = #00D4FF
Blue2 = #009BBA
orange = #FF8B00
yellow = #FFFB00
LEZ = #0066FF
purp = #FF33CC
// Colouring
tf(_res, _exp, gaps_on) =>
gaps_on == 0 ? request.security(syminfo.tickerid, _res, _exp) : gaps_on == true ? request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_on, barmerge.lookahead_off) : request.security(syminfo.tickerid, _res, _exp, barmerge.gaps_off, barmerge.lookahead_off)
ha_htf = ''
show_ha = input.bool(true, "Show HA Plot/ Market Bias", group="HA Market Bias")
ha_len = input(7, 'Period', group="HA Market Bias")
ha_len2 = input(10, 'Smoothing', group="HA Market Bias")
// Calculations {
o = ta.ema(open, ha_len)
c = ta.ema(close, ha_len)
h = ta.ema(high, ha_len)
l = ta.ema(low, ha_len)
haclose = tf(ha_htf, (o + h + l + c) / 4, 0)
xhaopen = tf(ha_htf, (o + c) / 2, 0)
haopen = na(xhaopen ) ? (o + c) / 2 : (xhaopen + haclose ) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))
o2 = tf(ha_htf, ta.ema(haopen, ha_len2), 0)
c2 = tf(ha_htf, ta.ema(haclose, ha_len2), 0)
h2 = tf(ha_htf, ta.ema(hahigh, ha_len2), 0)
l2 = tf(ha_htf, ta.ema(halow, ha_len2), 0)
ha_avg = (h2 + l2) / 2
// }
osc_len = 8
osc_bias = 100 *(c2 - o2)
osc_smooth = ta.ema(osc_bias, osc_len)
sigcolor =
(osc_bias > 0) and (osc_bias >= osc_smooth) ? color.new(Bullish, 35) :
(osc_bias > 0) and (osc_bias < osc_smooth) ? color.new(Bullish2, 75) :
(osc_bias < 0) and (osc_bias <= osc_smooth) ? color.new(Bearish, 35) :
(osc_bias < 0) and (osc_bias > osc_smooth) ? color.new(Bearish, 75) :
na
// }
nsc1 = nsc
nsc2 = nsc + 5
nsc3 = nsc + 10
nsc4 = nsc + 15
nsc5 = nsc + 20
nsc6 = nsc + 25
nsc7 = nsc + 30
nsc8 = nsc + 35
nsv1 = nsv - 5
nsv2 = nsv - 10
nsv3 = nsv - 15
nsv4 = nsv - 20
nsv5 = nsv - 25
nsv6 = nsv - 30
nsv7 = nsv - 35
nsv8 = nsv - 40
ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)
wt1 = tci
wt2 = ta.sma(wt1, 4)
direction = 0
direction := ta.rising(wt1, reaction_wt) ? 1 : ta.falling(wt1, reaction_wt) ? -1 : nz(direction )
Change_of_direction = ta.change(direction, 1)
pcol = direction > 0 ? Strong_Bullish : direction < 0 ? Bearish : na
obLevel1 = input(60, 'Over Bought Level 1')
obLevel2 = input(53, 'Over Bought Level 2')
osLevel1 = input(-60, 'Over Sold Level 1')
osLevel2 = input(-53, 'Over Sold Level 2')
rsi = ta.rsi(close,14)
color greengrad = color.from_gradient(rsi, 10, 90, #00ddff, #007d91)
color redgrad = color.from_gradient(rsi, 10, 90, #8b002e, #e91e62)
ob1 = plot(obLevel1, color=#e91e6301)
os1 = plot(osLevel1, color=#00dbff01)
ob2 = plot(obLevel2, color=#e91e6301)
os2 = plot(osLevel2, color=#00dbff01)
p1 = plot(wt1, color=#00dbff01)
p2 = plot(wt2, color=#e91e6301)
plot(wt1 - wt2, color=wt2 - wt1 > 0 ? redgrad : greengrad, style=plot.style_columns)
// fill(p1,p2,color = wt2 - wt1 > 0 ? redgrad: greengrad) // old
fill(p1,p2,color = sigcolor) // new
fill(ob1,ob2,color = #e91e6350)
fill(os1,os2,color = #00dbff50)
midpoint = (nsc + nsv) / 2
ploff = (nsc - midpoint) / 8
BullSale = ta.crossunder(wt1, wt2) and wt1 >= nsc and Buy_sales == true
BearSale = ta.crossunder(wt1, wt2) and Buy_sales == false
Bullishh = ta.crossover(wt1, wt2) and wt1 <= nsv and Sell_sales == true
Bearishh = ta.crossover(wt1, wt2) and Sell_sales == false
plot(BullSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=3, title='BuysG')
plot(BearSale ? wt2 + ploff : na, style=plot.style_circles, color=color.new(Bearish, 0), linewidth=3, title='SellsG')
plot(Bullishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=3, title='Buys On Sale')
plot(Bearishh ? wt2 - ploff : na, style=plot.style_circles, color=color.new(Strong_Bullish, 0), linewidth=3, title='Sells on Sale')
plot(Histogram ? wt1 - wt2 : na, style=plot.style_area, color=color.new(Blue2, 80), linewidth=1, title='Histograma')
barcolor(barras == true and Bullishh == true or barras == true and Bearishh == true ? Bullish2 : na)
barcolor(barras == true and BullSale == true or barras == true and BearSale == true ? Bearish : na)
/////// Divergence ///////
f_top_fractal(_src) =>
_src < _src and _src < _src and _src > _src and _src > _src
f_bot_fractal(_src) =>
_src > _src and _src > _src and _src < _src and _src < _src
f_fractalize(_src) =>
f_top_fractal(_src) ? 1 : f_bot_fractal(_src) ? -1 : 0
fractal_top1 = f_fractalize(wt1) > 0 ? wt1 : na
fractal_bot1 = f_fractalize(wt1) < 0 ? wt1 : na
high_prev1 = ta.valuewhen(fractal_top1, wt1 , 0)
high_price1 = ta.valuewhen(fractal_top1, high , 0)
low_prev1 = ta.valuewhen(fractal_bot1, wt1 , 0)
low_price1 = ta.valuewhen(fractal_bot1, low , 0)
regular_bearish_div1 = fractal_top1 and high > high_price1 and wt1 < high_prev1 and divregbear == true
hidden_bearish_div1 = fractal_top1 and high < high_price1 and wt1 > high_prev1 and divhidbear == true
regular_bullish_div1 = fractal_bot1 and low < low_price1 and wt1 > low_prev1 and divregbull == true
hidden_bullish_div1 = fractal_bot1 and low > low_price1 and wt1 < low_prev1 and divhidbull == true
col1 = regular_bearish_div1 ? Bearish : hidden_bearish_div1 ? Bearish : na
col2 = regular_bullish_div1 ? Strong_Bullish : hidden_bullish_div1 ? Strong_Bullish : na
plot(title='Divergence Bearish', series=fractal_top1 ? wt1 : na, color=col1, linewidth=2, transp=0)
plot(title='Divergence Bullish', series=fractal_bot1 ? wt1 : na, color=col2, linewidth=2, transp=0)
plotshape(regular_bearish_div1 and divregbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Regular Bearish', text='Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bearish_div1 and divhidbear and Tags ? wt1 + ploff * 1 : na, title='Divergence Hidden Bearish', text='H Bear', location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(Bearish, 0), textcolor=color.new(White, 0))
plotshape(regular_bullish_div1 and divregbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Regular Bullish', text='Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
plotshape(hidden_bullish_div1 and divhidbull and Tags ? wt1 - ploff * 1 : na, title='Divergence Hidden Bullish', text='H Bull', location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(Strong_Bullish, 0), textcolor=color.new(White, 0))
/////// Unfazed Alerts //////
alertcondition(BullSale, title='Smart Bullish Reversal')
alertcondition(BearSale, title='Smart Bearish Reversal')
alertcondition(Bullishh, title='Bullish Reversal')
alertcondition(Bearishh, title='Bearish Reversal')
alertcondition(BullSale or Bullishh, title='Any Bullish reversal')
alertcondition(BearSale or Bearishh, title='Any Bearish Reversal')
alertcondition(Change_of_direction, title='Change In Direction WT')
/////// Extra Alerts //////
alertcondition(BullSale, title='Overbought Reversal')
alertcondition(BearSale, title='All Reversal')
alertcondition(Bullishh, title='Oversold Buys')
alertcondition(Bearishh, title='All Buys')
alertcondition(BullSale or Bullishh, title='Buys/Reversal Overbought/Oversold')
alertcondition(BearSale or Bearishh, title='All Reversal/Buys')
alertcondition(Change_of_direction, title='WT Direction Change')
////////////////////////////////////////////////-MISTERMOTA MOMENTUM-/////////////////////////////////////
source = input(close)
responsiveness = math.max(0.00001, input.float(0.9, minval=0.0, maxval=1.0))
periodd = input(50)
sd = ta.stdev(source, 50) * responsiveness
var worm = source
diff = source - worm
delta = math.abs(diff) > sd ? math.sign(diff) * sd : diff
worm += delta
ma = ta.sma(source, periodd)
raw_momentum = (worm - ma) / worm
current_med = raw_momentum
min_med = ta.lowest(current_med, periodd)
max_med = ta.highest(current_med, periodd)
temp = (current_med - min_med) / (max_med - min_med)
value = 0.5 * 2
value *= (temp - .5 + .5 * nz(value ))
value := value > .9999 ? .9999 : value
value := value < -0.9999 ? -0.9999 : value
temp2 = (1 + value) / (1 - value)
momentum = .25 * math.log(temp2)
momentum += .5 * nz(momentum )
//momentum := raw_momentum
signal = nz(momentum )
trend = math.abs(momentum) <= math.abs(momentum )
////////////////////////////////////////////////-GROWING/FAILING-//////////////////////////////////////////
length = input.int(title="MOM Period", minval=1, defval=14, group="MOM Settings")
src = input(title="MOM Source", defval=hlc3, group="MOM Settings")
txtcol_grow_above = input(#1a7b24, "Above Grow", group="MOM Settings", inline="Above")
txtcol_fall_above = input(#672ec5, "Fall", group="MOM Settings", inline="Above")
txtcol_grow_below = input(#F37121, "Below Grow", group="MOM Settings", inline="Below")
txtcol_fall_below = input(#be0606, "Fall", group="MOM Settings", inline="Below")
ma(source, length, type) =>
switch type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
typeMA = input.string(title = "Method", defval = "SMA", options= , group="MA Settings")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="MA Settings")
smoothingLine = ma(delta, smoothingLength, typeMA)
deltaText=(delta > 0 ? (delta > delta ? " MOM > 0 and ? Growing, MOM = " + str.tostring(delta , "#.##") :" MOM > 0 and ? Falling, MOM = " + str.tostring(delta , "#.##") ) : (delta > delta ? "MOM < 0 and ? Growing, MOM = " + str.tostring(delta , "#.##"): " MOM < 0 and ? Falling, MOM = " + str.tostring(delta , "#.##")))
oneDay = 24 * 60 * 60 * 1000
barsAhead = 3
tmf = if timeframe.ismonthly
barsAhead * oneDay * 30
else if timeframe.isweekly
barsAhead * oneDay * 7
else if timeframe.isdaily
barsAhead * oneDay
else if timeframe.isminutes
barsAhead * oneDay * timeframe.multiplier / 1440
else if timeframe.isseconds
barsAhead * oneDay * timeframe.multiplier / 86400
else
0
angle(_src) =>
rad2degree = 180 / 3.14159265359 //pi
ang = rad2degree * math.atan((_src - _src ) / ta.atr(14))
ang
emae = angle(smoothingLine)
emaanglestat = emae > emae ? "? Growing": "? Falling"
deltaTextxxx = "MOM MA/ATR angle value is " + str.tostring(emae, "#.##") + "° and is " + emaanglestat
deltacolorxxx = emae >0 and emae >=emae ? txtcol_grow_above : txtcol_fall_below
// Label
label lpt1 = label.new(time, -30, text=deltaTextxxx , color=deltacolorxxx, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(lpt1, label.get_x(lpt1) + tmf)
label.delete(lpt1 )
txtdeltaColors = (delta > 50 ? (delta < delta ? txtcol_grow_above : txtcol_fall_above) : (delta < delta ? txtcol_grow_below : txtcol_fall_below))
label ldelta1 = label.new(time, 30, text=deltaText , color=txtdeltaColors, xloc=xloc.bar_time, style=label.style_label_left, textcolor=color.white, textalign=text.align_left, size=size.normal)
label.set_x(ldelta1, label.get_x(ldelta1) + tmf)
label.delete(ldelta1 )
Dynamic Trendline (NEW)This indicator marks the last high and lows, easier for verification of trend.
PSP / PSC NQWPlots Precision Candles / Precision Swing Points on your Chart, you can change color and transparency.
At the Moment it does not support DXY
ICT Indices Time Zones HighlightOverview:
The "ICT Indices Time Zones Highlight" indicator is designed to help traders identify and visualize key time zones on their charts, specifically tailored for trading indices. Inspired by the Inner Circle Trader (ICT) methodology, this tool highlights critical periods of market activity, such as the New York Open, Midday, and Afternoon Session, using distinct colors for easy recognition.
E LI - Lot Size CalculatorLot size calculator, Save time and efficiency with this lot calculator integrated into trading view, describe your risk in % your capital and the size of your SL and it will calculate everything for you
EMA & Bollinger BandsThis indicator combines three main functionalities into a single script:
1. Exponential Moving Average (EMA):
- Purpose: Calculates and plots the EMA of a chosen price source.
- Inputs:
- EMA Length: The period for the EMA calculation.
- EMA Source: The price series (such as close) used for the EMA.
- EMA Offset: Allows shifting the EMA line left or right on the chart.
- Output: A blue-colored EMA line plotted on the chart.
2. Smoothing MA on EMA:
- Purpose: Applies a secondary moving average (MA) on the previously calculated EMA. There is also an option to overlay Bollinger Bands on this smoothed MA.
- Inputs:
- Smoothing MA Type: Options include "None", "SMA", "SMA + Bollinger Bands", "EMA", "SMMA (RMA)", "WMA", and "VWMA".
- Selecting "None" disables this feature.
- Choosing "SMA + Bollinger Bands" will additionally plot Bollinger Bands around the smoothed MA.
- Smoothing MA Length: The period used to calculate the smoothing MA.
- BB StdDev for Smoothing MA: The standard deviation multiplier for the Bollinger Bands (applies only when "SMA + Bollinger Bands" is selected).
- Calculation Details:
- The chosen MA type is applied to the EMA value.
- If Bollinger Bands are enabled, the script computes the standard deviation of the EMA over the smoothing period, multiplies it by the specified multiplier, and then plots an upper and lower band around the smoothing MA.
- Output:
- A yellow-colored smoothing MA line.
- Optionally, green-colored upper and lower Bollinger Bands with a filled background if the "SMA + Bollinger Bands" option is selected.
3. Bollinger Bands on Price:
- Purpose: Independently calculates and plots traditional Bollinger Bands based on a moving average of a selected price source.
- Inputs:
- BB Length: The period for calculating the moving average that serves as the basis of the Bollinger Bands.
- BB Basis MA Type: The type of moving average to use (options include SMA, EMA, SMMA (RMA), WMA, and VWMA).
- BB Source: The price series (such as close) used for the Bollinger Bands calculation.
- BB StdDev: The multiplier for the standard deviation used to calculate the upper and lower bands.
- BB Offset: Allows shifting the Bollinger Bands left or right on the chart.
- Calculation Details:
- The script computes a basis line using the selected MA type on the chosen price source.
- The standard deviation of the price over the specified period is then multiplied by the provided multiplier to determine the distance for the upper and lower bands.
- Output:
- A basis line (typically drawn in a blue tone), an upper band (red), and a lower band (teal).
- The area between the upper and lower bands is filled with a semi-transparent blue background for easier visualization.
---
How It Works Together
- Integration:
The script is divided into clearly labeled sections for each functionality. All parts are drawn on the same chart (overlay mode enabled), providing a comprehensive view of market trends.
- Customization:
Users can adjust parameters for the EMA, the smoothing MA (and its optional Bollinger Bands), as well as the traditional Bollinger Bands independently. This allows for flexible customization depending on the trader's strategy or visual preference.
- Utility:
Combining these three analyses into one indicator enables traders to view:
- The immediate trend via the EMA.
- A secondary smoothed trend that might help reduce noise.
- A volatility measure through Bollinger Bands on both the price and the smoothed EMA.
---
This combined indicator is useful for technical analysis by providing both trend-following (EMA and smoothing MA) and volatility indicators (Bollinger Bands) in one streamlined tool.
ATR ve RSI GöstergesiATR (Average True Range) ve RSI (Relative Strength Index) değerlerini gösteren basit bir indikatör.
Multi-Asset Ratio (20 vs 5) - LuchapCet indicateur calcule et affiche le ratio entre la somme des prix de plusieurs actifs de base et la somme des prix de plusieurs actifs quote. Vous pouvez sélectionner jusqu'à 20 actifs de base et 5 actifs quote, et activer ou désactiver individuellement chaque actif pour affiner votre analyse. Ce ratio permet d'évaluer rapidement la performance relative de différents groupes d'actifs.
Previous Day High, Low + Today's Opening Price [DB]This indicator plots horizontal reference lines showing three price levels:
Previous Day's High (PDH) – Dark red line by default
Previous Day's Low (PDL) – Dark green line by default
Today's Opening Price (O.P.) – Black line by default
Settings & Customization
Adjust line colors, width (default: 2px), and transparency (30% by default).
Choose line styles: Solid, Dashed, or Dotted.
Labels:
Toggle labels (PDH/PDL/O.P.) on/off.
Optional price values below labels.
The goal of this indicator is to simplify tracking potentionally important daily levels without manual drawing.
Works on all timeframes (from 1-minute to weekly charts). The levels auto-update daily at market open and they are non-repainting (historical levels stay fixed).
Fair Value Gap (FVG) by AlgoMaxxFair Value Gap (FVG) by AlgoMaxx
Advanced Fair Value Gap (FVG) detector with dynamic support/resistance lines. This professional-grade tool helps traders identify and track important market inefficiencies through Fair Value Gaps.
Features:
• Auto-detection of bullish and bearish FVGs
• Dynamic dotted extension lines for latest FVGs
• Smart gap filtering system
• Color-coded visualization
• Customizable parameters
• Clean, optimized code
Key Functions:
• Detects imbalance zones between candlesticks
• Marks FVGs with color-coded boxes
• Extends dotted lines for active reference levels
• Automatically updates with new gap formations
• Tracks gap fills in real-time
Inputs:
• Lookback Period: Historical gaps to display
• Minimum Gap Size %: Filter for gap significance
• Bullish/Bearish Colors: Visual customization
• Show Filled Gaps: Toggle filled gap visibility
Practical Applications:
1. Support/Resistance Levels
2. Mean Reversion Trading
3. Trend Continuation Setups
4. Market Structure Analysis
5. Price Action Trading
Usage Tips:
• Higher timeframes (1H+) provide more reliable signals
• Multiple FVGs in one zone indicate stronger levels
• Use in conjunction with other technical tools
• Monitor price reactions at FVG levels
• Consider gaps as zones rather than exact prices
Note: This is a premium-grade indicator designed for serious traders. Works best on higher timeframes where price inefficiencies are more significant.
═══════════════════
By Algomaxx
Version: 1.0
═══════════════════
Disclaimer:
This indicator is for informational purposes only. Trade at your own risk and always use proper risk management.
#FVG #technical #trading #algomaxx #premium
btc daily major lows test- rsi crossover 27
- ema 100 > ema 377
- btc daily timeframe
every yellow bar are representing major btc lows in an uptrend or ranging market, leading to big opportunities (longs)
the low of the candle under the yellow vertical line is also representing the support level of the range.
if that support breaks, new bear market may begin or actual bear market may continue.
made by phil
RTH Gap [DB]This is just a modifed version of @twingall 's ETH/RTH gap indicator .
My adjustments are mainly just settings decluttering and some display changes to make it more minimalistic / more fitting for my charting style.
The basis of this indicator is the same: it plots the gap between the New York session's close from the day before and the current day's opening price. Basically the gap you would see when you switch your trading hours to RTH. Then it extends the gap for the given day's session end time.
This can be an important context element for New York sessions as price often likes to fill these gaps.
Limitations of the indicator:
- Only works on the 30M timeframe on below
- Only works on regular timeframes (the ones that are divisible into 30)
If you want to tinker more with the settings or want to see different plotting styles, I recommend checking out the original indicator (link at the top of this description).
If you find any bugs let me know.
Enjoy!
Advanced Entry with FVG, Liquidity, and Support/ResistanceKey Features and How to Use Them
Fair Value Gaps (FVGs)
Green Boxes: Bullish FVGs (price imbalance indicating a potential upward move).
Red Boxes: Bearish FVGs (price imbalance indicating a potential downward move).
How to Trade:
Watch for price to return to an FVG area and look for rejection or continuation.
For bullish FVGs:
Look for a reversal or confirmation signal near the green box for a long trade.
For bearish FVGs:
Look for a reversal or confirmation signal near the red box for a short trade.
Liquidity Zones
Blue Dotted Lines: Areas of liquidity (highest highs in the recent past).
Orange Dotted Lines: Areas of liquidity (lowest lows in the recent past).
How to Trade:
Liquidity zones often act as magnets for price movement as the market targets stop-loss clusters.
Expect price to either:
Revert after hitting a liquidity zone (signaling a reversal trade opportunity).
Break through the liquidity zone (confirming a breakout or trend continuation).
Support and Resistance
Red Horizontal Lines: Resistance levels (recent swing highs).
Green Horizontal Lines: Support levels (recent swing lows).
How to Trade:
Use these levels to identify potential entry/exit points.
For resistance (red lines):
Look for short opportunities when price approaches resistance and shows signs of rejection.
For support (green lines):
Look for long opportunities when price approaches support and shows signs of reversal.
BUY and SELL Signals
Green "BUY" Labels: A long entry signal based on EMA crossover, RSI > 50, and MACD confirmation.
Red "SELL" Labels: A short entry signal based on EMA crossunder, RSI < 50, and MACD confirmation.
How to Trade:
Enter long when a BUY label appears, and place a stop-loss below the recent low.
Enter short when a SELL label appears, and place a stop-loss above the recent high.
Set a take-profit using a 1:2 or 1:3 risk-to-reward ratio.
Workflow Example
Check for a BUY Signal:
Look for a green "BUY" label near:
A bullish FVG (green box).
A liquidity zone (orange line).
A support level (green horizontal line).
Enter the Trade:
Place a stop-loss below the most recent swing low or support level.
Set a take-profit 2-3 times the distance of your stop-loss.
Confirm the Trend:
Ensure price is trading above the EMA 200 (indicating an uptrend) for long trades.
Use the FVG or support zone for additional confluence.
Check for a SELL Signal:
Look for a red "SELL" label near:
A bearish FVG (red box).
A liquidity zone (blue line).
A resistance level (red horizontal line).
Enter the Short Trade:
Place a stop-loss above the most recent swing high or resistance level.
Set a take-profit 2-3 times the distance of your stop-loss.
Adaptive Volatility Zones + MACD + RSI Strategy#### Strategy Overview:
This strategy is designed for trading on higher timeframes (from 4 hours and above) and combines several modern approaches to market analysis. It uses adaptive levels based on volatility, MACD and RSI indicators to confirm signals, and a trend filter (EMA 200). The strategy is optimized to work in trending market conditions and minimizes the number of false signals due to multi-layer filtering.
The average percentage movement of the last 96 K-linesThe average fluctuation amplitude of 96 K-lines is used to adjust the position of the contract according to the fluctuation amplitude, reduce the position when the fluctuation amplitude is large, and increase the position when the fluctuation amplitude is small to control the risk