Indicators and strategies
200 EMA Crossover with Volume Spike and Strong Price Action200 EMA Crossover with Volume Spike and Strong Price Action
Universal Previous Day Close Line AMMO Traderprevious day close on market for all symbol good for know gap openings
ATR 5 daysДвижение ATR на 5 дней дает понимание объема АТР за период 5 дней без учета сильно дисперсных колебаний
KKS_EMA_CORSS_3.1"It is based on the 5 different EMA indicator, automatically plotting four upside targets and four downside targets on the chart. This feature helps in making informed trading decisions."
Order Block Strategy low time fram future 3m 5m 15 m gunakan lev maksimal 40 jangan haka
bukan advise tapi hanya jadikan pembelajaran
Custom RSI + OBV Scalping Indicator 8080A custom indicator combining RSI (Relative Strength Index) and OBV (On-Balance Volume) can be helpful for scalping by merging momentum and volume signals.
WD Gann: Vertical Lines for Predefined Days/Bars AgoThis Pine Script draws vertical lines on the chart at specific time intervals, inspired by WD Gann’s theories of time cycles . WD Gann, a famous trader, believed that market movements were influenced by predictable time cycles. This script enables traders to visualize these key time cycles on the chart by placing vertical lines at predefined intervals (in bars ago), helping to identify potential turning points in the market.
The time intervals used in this script are inspired by Gann’s work, as well as astrological and numerological principles , which many traders believe influence market behavior . You can customize which time intervals (such as 3, 7, 9, 21, etc.) you want to track by enabling or disabling specific vertical lines on the chart.
Key Features:
Time Cycles Based on Gann’s Theory: Draws vertical lines at significant time intervals such as 3, 7, 9, 21, 27 bars ago, which are commonly used by Gann traders.
Astrological & Numerological Significance: The predefined intervals also align with key numerological and astrological values, allowing for a broader perspective on market cycles.
Customizable Intervals: You can choose which time intervals to display by enabling or disabling checkboxes for each cycle, allowing flexibility in chart analysis.
Visual Labels: Each vertical line is labeled with its corresponding "bars ago" value, providing clear reference points for the selected time cycles.
What Users Can Do:
Track and analyze market movements based on time cycles that are significant to Gann’s theory, as well as numerological and astrological influences.
Enable or disable vertical lines for specific cycles, like the 3-bar cycle, 9-bar cycle, or 365-bar cycle, depending on the intervals that align with your trading strategy.
Combine with other technical analysis tools and Gann techniques (e.g., Gann Angles, Gann Fans, or Square of Nine) for a more comprehensive trading approach.
This tool is designed for traders who believe in the power of time cycles to influence market behavior, and is especially useful for predicting turning points or key price movements based on these cycles.
Global Relevant Events MarkerThe Global Relevant Events Marker script is designed to mark significant global events on a chart, such as economic crises or major geopolitical events. It uses vertical lines to indicate the exact dates of these events and places labels (optional) near the lines to provide a description of the event.
均线系统//@version=5
indicator(title="均线系统", shorttitle="均", overlay=true)
sma20 = ta.sma(close, 20)
sma60 = ta.sma(close, 60)
sma120 = ta.sma(close, 120)
ema20 = ta.ema(close, 20)
ema60 = ta.ema(close, 60)
ema120 = ta.ema(close, 120)
plot(sma20, color=color.black, title="SMA20")
plot(ema20, color=color.new(color.black, 50), title="EMA20")
plot(sma60, color=color.blue, title="SMA60")
plot(ema60, color=color.new(color.blue, 50), title="EMA60")
plot(sma120, color=color.purple, title="SMA120")
plot(ema120, color=color.new(color.purple, 50), title="EMA120")
cond = barstate.islast
bl = low
moveBar = input(0, title="Move Bar")
x20 = input(20, title="X20 Offset") + moveBar
x60 = input(60, title="X60 Offset") + moveBar
x120 = input(120, title="X120 Offset") + moveBar
plot(cond ? bl : na, color=#FFC40C, linewidth=5, offset=-x20, style=plot.style_circles, transp=0)
plot(cond ? bl : na, color=#FFC40C, linewidth=5, offset=-x60, style=plot.style_circles, transp=0)
plot(cond ? bl : na, color=#FFC40C, linewidth=5, offset=-x120, style=plot.style_circles, transp=0)
Previous Day Close with Configurable Settings ammo traderwith updated setting you can choose close times and its help ful in gsp opening
Ichimoku MTF (best MTF 4H - Entry 15M)The Ichimoku Cloud is a collection of technical indicators that show support and resistance levels, as well as momentum and trend direction. It does this by taking multiple averages and plotting them on a chart. It also uses these figures to compute a “cloud” that attempts to forecast where the price may find support or resistance in the future.
The technical indicator shows relevant information at a glance by using averages.
The overall trend is up when the price is above the cloud, down when the price is below the cloud, and trendless or transitioning when the price is in the cloud.
Charles G. Koonitz. “Ichimoku Analysis & Strategies: The Visual Guide to Spot the Trends in Stock Market, Cryptocurrency and Forex Using Technical Analysis and Cloud Charts," Tripod Solutions Inc., 2019.
When Leading Span A is rising and above Leading Span B, this helps to confirm the uptrend and the space between the lines is typically colored green. When Leading Span A is falling and below Leading Span B, this helps confirm the downtrend. The space between the lines is typically colored red in this case.1
Traders will often use the Ichimoku Cloud as an area of support and resistance depending on the relative location of the price. The cloud provides support/resistance levels that can be projected into the future. This sets the Ichimoku Cloud apart from many other technical indicators that only provide support and resistance levels for the current date and time.
Traders should use the Ichimoku Cloud in conjunction with other technical indicators to maximize their risk-adjusted returns. For example, the indicator is often paired with the relative strength index (RSI), which can be used to confirm momentum in a certain direction. It’s also important to look at the bigger trends to see how the smaller trends fit within them. For example, during a very strong downtrend, the price may push into the cloud or slightly above it, temporarily, before falling again. Only focusing on the indicator would mean missing the bigger picture that the price was under strong longer-term selling pressure.
Crossovers are another way that the indicator can be used. Watch for the conversion line to move above the base line, especially when the price is above the cloud. This can be a powerful buy signal. One option is to hold the trade until the conversion line drops back below the base line. Any of the other lines could be used as exit points as well.
Estrategia Avançada - EMA, RSI, ADX e VolumeMédias Móveis Exponenciais (EMA 9 e EMA 21) – Para identificar tendências de curto e médio prazo.
Índice de Força Relativa (RSI 14) – Para medir a força do mercado e evitar compras em zonas de sobrecompra/sobrevenda.
Volume com Média Móvel – Para confirmar o movimento do preço.ADX (Índice de Direção Média) – Para filtrar operações e operar somente em tendências fortes.
Stop Loss e Take Profit Dinâmicos – Para gerenciar riscos e lucros.
Trading Bot 15m - Bollinger Bands + RSI// Estratégia para o gráfico de 15 minutos usando Pine Script
//@version=5
indicator("Trading Bot 15m - Bollinger Bands + RSI", overlay=true)
// Configuração das Bandas de Bollinger
length = input.int(20, title="Período das Bandas de Bollinger")
mult = input.float(2.0, title="Multiplicador das Bandas")
basis = ta.sma(close, length)
upper = basis + mult * ta.stdev(close, length)
lower = basis - mult * ta.stdev(close, length)
plot(basis, color=color.blue, title="Base BB")
plot(upper, color=color.red, title="Banda Superior")
plot(lower, color=color.green, title="Banda Inferior")
// Configuração do RSI
rsi_length = input.int(14, title="Período do RSI")
rsi_overbought = input.int(70, title="Nível de Sobrecompra")
rsi_oversold = input.int(30, title="Nível de Sobrevenda")
rsi = ta.rsi(close, rsi_length)
hline(rsi_overbought, "Sobrecompra", color=color.red, linestyle=hline.style_dotted)
hline(rsi_oversold, "Sobrevenda", color=color.green, linestyle=hline.style_dotted)
plot(rsi, color=color.purple, title="RSI")
// Sinal de Compra
buy_signal = ta.crossover(close, lower) and rsi < rsi_oversold
if (buy_signal)
label.new(bar_index, low, "Compra", style=label.style_label_up, color=color.green, textcolor=color.white)
// Sinal de Venda
sell_signal = ta.crossunder(close, upper) and rsi > rsi_overbought
if (sell_signal)
label.new(bar_index, high, "Venda", style=label.style_label_down, color=color.red, textcolor=color.white)
// Alertas
alertcondition(buy_signal, title="Sinal de Compra", message="O preço atingiu a Banda Inferior e o RSI está sobrevendido.")
alertcondition(sell_signal, title="Sinal de Venda", message="O preço atingiu a Banda Superior e o RSI está sobrecomprado.")
Stochastic %D (9,1,3)This is just a normal Stochastic indicator that only focuses on the % D line. I have found this the most useful. There was not an indicator that inherently just did this. Makes it easier to have just access to this.
estrategia BTC OSCAR AMORTEGUIFiltrar señales con una media móvil adicional: Usar otra media móvil (como una de 50 periodos) para confirmar tendencias.
Confirmar señales con un indicador adicional: Incluir un indicador como el RSI o el ADX para verificar si el mercado está en tendencia o sobrecomprado/sobrevendido.
Optimizar niveles de Take Profit y Stop Loss: Usar valores dinámicos basados en volatilidad (por ejemplo, el ATR) en lugar de las velas anteriores.
Evitar operaciones en rangos laterales: Implementar una condición para evitar operaciones si la volatilidad es baja.
Monthly Options Expiration 2025Monthly Options Expiration 2025
Plots the monthly options expiration dates in advance for the year 2025.
Happy trading and all the best.
Soportes Resistencias y POCEste indicador es particularmente útil para traders que siguen estrategias basadas en acción del precio (Price Action) o que desean combinarlo con análisis técnico para aumentar la precisión en sus decisiones de trading.
Cómo Aplicarlo en el Trading:
Soportes y Resistencias:
Identifica áreas donde el precio puede reaccionar, ya sea rebotando o rompiendo estos niveles.
Útil para configurar operaciones de compra (en soportes) o venta (en resistencias), especialmente en combinación con patrones de velas o indicadores adicionales.
POC (Punto de Control):
Ayuda a visualizar el precio promedio donde hubo mayor interacción en cada vela.
Ideal para confirmar zonas de equilibrio, detectar posibles cambios de tendencia o planificar puntos de entrada/salida basados en el balance del mercado.
Multiple Values TableThis Pine Script indicator, named "Multiple Values Table," provides a comprehensive view of various technical indicators in a tabular format directly on your trading chart. It allows traders to quickly assess multiple metrics without switching between different charts or panels.
Key Features:
Table Position and Size:
Users can choose the position of the table on the chart (e.g., top left, top right).
The size of the table can be adjusted (e.g., tiny, small, normal, large).
Moving Averages:
Calculates the 5-day Exponential Moving Average (5DEMA) using daily data.
Calculates the 5-week and 20-week EMAs (5WEMA and 20WEMA) using weekly data.
Indicates whether the current price is above or below these moving averages in percentage terms.
Drawdown and Williams VIX Fix:
Computes the drawdown from the 365-day high to the current close.
Calculates the Williams VIX Fix (WVF), which measures the volatility of the asset.
Shows both the current WVF and a 2% drawdown level.
Relative Strength Index (RSI):
Displays the current RSI and compares it to the RSI from 14 days ago.
Indicates whether the RSI is increasing, decreasing, or flat.
Stochastic RSI:
Computes the Stochastic RSI and compares it to the value from 14 days ago.
Indicates whether the Stochastic RSI is increasing, decreasing, or flat.
Normalized MACD (NMACD):
Calculates the Normalized MACD values.
Indicates whether the MACD is increasing, decreasing, or flat.
Awesome Oscillator (AO):
Calculates the AO on a daily timeframe.
Indicates whether the AO is increasing, decreasing, or flat.
Volume Analysis:
Displays the average volume over the last 22 days.
Shows the current day's volume as a percentage of the average volume.
Percentile Calculations:
Calculates the current percentile rank of the WVF and ATH over specified periods.
Indicates the percentile rank of the current volume percentage over the past period.
Table Display:
All these values are presented in a neatly formatted table.
The table updates dynamically with the latest data.
Example Use Cases:
Comprehensive Market Analysis: Quickly assess multiple indicators at a glance.
Trend and Momentum Analysis: Identify trends and momentum changes based on various moving averages and oscillators.
Volatility and Drawdown Monitoring: Track volatility and drawdown levels to manage risk effectively.
This script offers a powerful tool for traders who want to have a holistic view of various technical indicators in one place. It provides flexibility in customization and a user-friendly interface to enhance your trading experience.
Dblocs 4 Year BTC Cycle Guide// Indicator Description:
// The "Dblocs 4 Year BTC Cycle Guide" indicator represents a fixed recurring profit-taking cycle that begins with each Bitcoin halving event.
// Functionality Explained:
// After every halving event, there has been a fixed number of weeks following that marked the area of highest profitability for taking profit.
// • 40 Weeks (Post-Halving) = Start of the optimal profit-taking zone.
// • 80 Weeks (Post-Halving) = "Last Call" for profit-taking before the bear market.
// • 135 Weeks (Post-Halving) = Optimal area to begin Dollar-Cost Averaging.
//@version=5
indicator(title='Dblocs 4 Year BTC Cycle Guide', overlay=true)
// Function to check if it's after a halving based on months (weekly)
isAfterHalvingWeeks(y, m, d, months) =>
halvingDate = timestamp(y, m, d)
startDate = request.security(syminfo.tickerid, 'D', halvingDate + 1)
endDate = startDate + months * 30 * 24 * 60 * 60 * 300
time >= startDate and time <= endDate
// Function to check if it's after a halving based on months (monthly)
isAfterHalvingMonths(y, m, d, months) =>
halvingDate = timestamp(y, m, d)
startDate = request.security(syminfo.tickerid, 'M', halvingDate + 1)
endDate = startDate + months * 36 * 30 * 24 * 60 * 60 * 100
time >= startDate and time <= endDate
// Set the future halving date
halvingDate4th = timestamp(2024, 4, 19)
halvingdate = input(defval=true, title="Halving Date")
var WeeklyProfitSTART = input(true, title="(Weekly) Profit ")
var WeeklyProfitEND = input(true, title="(Weekly) Profit ")
var MonthlyProfitSTART = input(true, title="(Monthly) Profit ")
var MonthlyProfitEND = input(true, title="(Monthly) Profit ")
var DCAstart = input(true, title="DCA (Show)")
var ShowBackgroundColor = input(true, title="Show Background Color")
isDate(y, m, d) => timestamp(y, m, d) <= time and timestamp(y, m, d) > time
// Check if it's a daily chart
isDaily = timeframe.isdaily
// Check if it's a weekly chart
isWeekly = timeframe.isweekly
// Check if it's a monthly chart
isMonthly = timeframe.ismonthly
// Weekly Plots & Calculations
profitStartOffsetWeekly = input.int(40, title="(Weekly) START Profit ", minval=-40)
profitEndOffsetWeekly = input.int(80, title="(Weekly) END Profit ", minval=0)
DCAstartOffsetWeekly = input.int(123, title="DCA Weekly ", minval=0)
// Monthly Plots & Calculations
profitStartOffsetMonthly = input.int(10, title="(Monthly) START Profit ", minval=-100)
profitEndOffsetMonthly = input.int(18, title="(Monthly) END Profit ", minval=0)
DCAstartOffsetMonthly = input.int(27, title="DCA Monthly ", minval=0)
// Use the same input for weekly
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 5.5) or isAfterHalvingWeeks(2016, 7, 9, 5.5) or isAfterHalvingWeeks(2020, 5, 11, 5.5) or isAfterHalvingWeeks(2024, 4, 10, 6)) ? color.rgb(0, 255, 8, 90) : na, offset=+40)
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 5.5) or isAfterHalvingWeeks(2016, 7, 9, 5.5) or isAfterHalvingWeeks(2020, 5, 11, 5.5) or isAfterHalvingWeeks(2024, 4, 10, 6)) ? color.rgb(0, 255, 8, 85) : na, offset=+47)
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 5.5) or isAfterHalvingWeeks(2016, 7, 9, 5.5) or isAfterHalvingWeeks(2020, 5, 11, 5.5) or isAfterHalvingWeeks(2024, 4, 10, 6)) ? color.rgb(0, 255, 8, 80) : na, offset=+54)
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 5.5) or isAfterHalvingWeeks(2016, 7, 9, 5.5) or isAfterHalvingWeeks(2020, 5, 11, 5.5) or isAfterHalvingWeeks(2024, 4, 10, 6)) ? color.rgb(0, 255, 8, 75) : na, offset=+61)
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 5.5) or isAfterHalvingWeeks(2016, 7, 9, 5.5) or isAfterHalvingWeeks(2020, 5, 11, 5.5) or isAfterHalvingWeeks(2024, 4, 10, 6)) ? color.rgb(0, 255, 8, 60) : na, offset=+68)
bgcolor(ShowBackgroundColor and isWeekly and (isAfterHalvingWeeks(2012, 11, 28, 3.5) or isAfterHalvingWeeks(2016, 7, 9, 3.5) or isAfterHalvingWeeks(2020, 5, 11, 3.5) or isAfterHalvingWeeks(2024, 4, 10, 4)) ? color.rgb(0, 255, 8, 55) : na, offset=+75)
// Use the same input for monthly
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 85) : na, offset=+11)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 80) : na, offset=+12)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 75) : na, offset=+13)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 65) : na, offset=+14)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 55) : na, offset=+15)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 45) : na, offset=+16)
bgcolor(ShowBackgroundColor and isMonthly and (isAfterHalvingMonths(2012, 11, 28, 0.25) or isAfterHalvingMonths(2016, 7, 9, 0.25) or isAfterHalvingMonths(2020, 5, 11, 0.25) or isAfterHalvingMonths(2024, 4, 10, 1)) ? color.rgb(0, 255, 8, 40) : na, offset=+17)
// Define a variable for label x-coordinate
labelX = isDaily ? bar_index + 280 : bar_index + 0
// Draw Halving function for daily
drawHalving(y, m, d, align, align2) =>
line.new(bar_index, low, bar_index, high, xloc.bar_index, extend.both, color=color.rgb(255, 123, 0), style=line.style_dashed, width=3)
if (halvingdate)
label.new(bar_index, high, text='⛏ Halving ' + str.tostring(m) + '/' + str.tostring(d) + '/' + str.tostring(y) + ' 🟠', style=label.style_label_lower_right, textcolor=color.rgb(0, 0, 0), color=color.rgb(255, 136, 0, 5), textalign=text.align_center, yloc=yloc.abovebar, size=size.normal)
if isWeekly
label.new(WeeklyProfitSTART ? labelX + profitStartOffsetWeekly : na, na, text='Profit START 🟢 ⛏ 40ʷ ᵃᵍᵒ', style=label.style_label_lower_right, textcolor=color.rgb(0, 0, 0), color=color.rgb(17, 255, 0), textalign=text.align_center, yloc=yloc.abovebar, size=size.normal)
label.new(WeeklyProfitEND ? labelX + profitEndOffsetWeekly : na, na, text='Profit END 🔴 ⛏ 80ʷ ᵃᵍᵒ', style=label.style_label_lower_left, textcolor=color.rgb(0, 0, 0), color=color.rgb(255, 0, 0), textalign=text.align_center, yloc=yloc.abovebar, size=size.normal)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly : na, na, text='→ DCA 🟡 ⛏ 135ʷ ᵃᵍᵒ', style=label.style_label_up, textcolor=color.rgb(0, 0, 0), color=color.rgb(226, 246, 0, 25), textalign=text.align_center, yloc=yloc.belowbar, size=size.normal)
line.new(WeeklyProfitSTART ? labelX + profitStartOffsetWeekly : na, low, WeeklyProfitSTART ? labelX + profitStartOffsetWeekly : na, high, xloc.bar_index, extend.both, color=color.rgb(0, 255, 8), style=line.style_dotted, width=2)
line.new(WeeklyProfitEND ? labelX + profitEndOffsetWeekly : na, low, WeeklyProfitEND ? labelX + profitEndOffsetWeekly : na, high, xloc.bar_index, extend.both, color=color.rgb(255, 0, 0), style=line.style_dotted, width=2)
label.new(WeeklyProfitSTART ? labelX + profitStartOffsetWeekly : na, high, style=label.style_cross, yloc=yloc.abovebar, color=color.rgb(40, 255, 0), size=size.small)
label.new(WeeklyProfitEND ? labelX + profitEndOffsetWeekly : na, high, style=label.style_cross, yloc=yloc.abovebar, color=color.rgb(40, 255, 0), size=size.small)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly + 0 : na, high, style=label.style_circle, yloc=yloc.belowbar, color=color.rgb(251, 226, 0), size=size.tiny)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly + 12 : na, high, style=label.style_circle, yloc=yloc.belowbar, color=color.rgb(203, 249, 0, 35), size=size.tiny)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly + 24 : na, high, style=label.style_circle, yloc=yloc.belowbar, color=color.rgb(170, 255, 59, 46), size=size.tiny)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly + 36 : na, high, style=label.style_circle, yloc=yloc.belowbar, color=color.rgb(115, 255, 0, 58), size=size.tiny)
label.new(DCAstart ? labelX + DCAstartOffsetWeekly + 48 : na, high, style=label.style_circle, yloc=yloc.belowbar, color=color.rgb(38, 255, 0, 58), size=size.tiny)
if isMonthly
label.new(MonthlyProfitSTART ? labelX + profitStartOffsetMonthly : na, na, text='Profit START 🟢 ⛏ 40ʷ ᵃᵍᵒ', style=label.style_label_lower_right, textcolor=color.rgb(0, 0, 0), color=color.rgb(17, 255, 0), textalign=text.align_center, yloc=yloc.abovebar, size=size.normal)
label.new(MonthlyProfitEND ? labelX + profitEndOffsetMonthly : na, na, text='Profit END 🔴 ⛏ 80ʷ ᵃᵍᵒ', style=label.style_label_lower_left, textcolor=color.rgb(0, 0, 0), color=color.rgb(255, 0, 0), textalign=text.align_center, yloc=yloc.abovebar, size=size.normal)
... (35 lines left)