Longs Vs Shorts BTC - Open sourceUsing percentage function to compare longs/shorts over a defined time window and smoothing (a dividor of the time window)
"wind+芯片行业+市盈率+财经数据"に関するスクリプトを検索
Hybrid Convolution FilterIntroduction
Today i propose an hybrid filter that use a classical FIR architecture while using recursion. The proposed method aim to reduce the lag generated by fir filters. This particular filter is a sine weighted moving average, but you can change it since the indicator is built with the custom filter template (1). Even if it use recursion it still is a FIR filter since the impulse response is finite.
The Indicator
In red the hybrid swma and in blue the classic swma of both the same period. The difference can be seen.
The switch between the input price and the past values of the previous convolution values is made by using exponential averaging, the window function is the same as f(x) in the code.
Any filter can use this architecture, the indicator is built around the custom fir template, see (1)
Conclusion
I presented a FIR filter using recursion in its calculation, the integration is made with respect to the proposed template, therefore any user can simply modify f(x) to have different filter without the need to make any change. However curious users might want to change the window function of the exponential averager, in order to do so change sgn = f(i/length) in line 11 for sgn = fun(i/length) where fun is your custom function, make sure to add it at the start of the script where all the other functions declarations are.
Thanks for reading !
(1)
Double Accelerator OscillatorThis is a modified version of Bill Williams' Accelerator. The Accelerator measures the difference between the Awesome Oscillator(another Williams indicator) and its 5 day SMA.
This script plots 2 accelerators rather than 1. Users can define the lengths of the fast and slow SMA's used in the Awesome Oscillator calculation by adjusting the options in the input menu.
We set the default the lengths of the fast and slow SMA's used in the first Awesome Oscillator calculation as 34 and 7 periods. Then to find the Accelerator Oscillator, the difference between the Awesome Oscillator and its 7 period SMA is calculated. The second Accelerator uses shorter window lengths than the first. The fast SMA length is 5 by default and the slow SMA length is 18. Finally, the length of the Awesome Oscillator SMA used to calculate the second Accelerator Oscillator is 3.
By utilizing two Accelerator Oscillators with increasingly shorter window lengths, this indicator identifies changes in momentum very well.
The red and green histogram represents the first Accelerator Oscillator. It is green when the Accelerator is increasing and red when it is decreasing. I found this layout to be more practical than the standard, which plots the AC as green when it is greater than 0 and red when less than zero. The second Accelerator Oscillator is plotted as the bright green and pink circle line. It uses the same coloring conditions as above.
Trend Scores + Volume-Weighted Trend ScoresHere is a simple indicator based on Tushar Chande's TrendScore .
The main purpose of the TrendScore is to determine the strength and direction of a trend, which it does by comparing the current price to the prices within a user-defined window of historical prices.
In the input menu, the user defines the starting and ending period. The current price is then compared to each historical price. If the current price is greater than the given historical price, then the TrendScore is incremented, while it is decremented if it is below the given historical price. TrendScore values fluctuate between a maximum of 100 and a minimum of -100, with 100 meaning that the current price is greater than each historical price in the window and a value of -100 meaning the inverse is true.
We then use the same process to calculate the volume trend score by passing in volume to the 'getTrendScore' function. Lastly, the indicator also also calculates a 'volume-weighted trend score'. This is simply the average of the price trend score and the volume trend score. It is not plotted by default, but users can set the input option to true in the input menu and it will be plotted as a yellow line (as seen in the bottom chart).
The Chart:
The trend scores for price are plotted as a histogram. We've summarized the meaning behind its color changes below:
-If ( trendScore == 100)
then color = dark green
-if ( trendScore < 100 and trendScore is increasing)
then color = light green
-if ( trendScore > 0 and trendScore is DECREASING)
then color = pink
-if ( trendScore < 0)
then color = red
The volume trend score is plotted as a blue line. We felt that using a similar coloring system for the volume trend scores would over-crowd the chart and take away from the simplicity that makes this indicator useful. The volume-weighted trend score is plotted as a yellow line.
The main price bars change color based on the price trend score to make the values easier to visualize as well.
Interpretation:
This is a pretty versatile indicator. We summarized the ways in which traders can use it:
-Enter Long Positions when the trend score crosses zero from negative to positive territory.
-Exit Long Positions when the trend score was previously 100 and begins decreasing (ie bar color changes from dark green to pink).
-Spot bearish divergences when price trend score is 100 or relatively high and the volume trend score decreases significantly.
-Identify bullish divergences when price trend score is relatively low and volume trend score is increasing.
~Happy Trading~
Modiied Elder Ray Index(Bull or Bear)Here's a modified version of the Elder Ray Index created by the famed Dr.Alexander Elder. This indicator has proven to be especially helpful lately given the crazy state of crypto.
Slow Moving Average :
The top chart shows the moving average used to filter trends. I recommend using a higher window length(can be adjusted with the 'lenSlowMA' input option). I wanted this to be a very smooth moving average, so I used the following formula:
slow MA = ema(vwma(close, 64), 64)
This resulted in a pretty smooth line that still detects major price movements very well.
-The background and bar colors both change in response to the Slow MA's value. The background and bars change to green when a bullish trend is detected and red when bearish.
Bear and Bull Power :
To balance things out a little, I included two histogram's based on Elder's Ray. Here, a more responsive EMA with a shorter window length is used to calculate the bull and bear power values and track short-term price fluctuations.
NOTE: The length of the EMA used here can be adjusted in the input menu.
Bull Power = current high - EMA(close, 13)
Bear Power = current low - EMA(close, 13)
Multi-TF Avg BBandsMULTI-TF AVERAGE BBANDS - with signals (BETA)
Overall, it shows where the price has support and resistance, when it's breaking through, and when its relatively low/high based on the magic of standard deviation.
created by gamazama. send me a shout if u find this useful, or if you create something cool with it.
%BB: The price's position in the boilinger band is converted to a range from 0-1. The midpoint is at 0.5
Description of parameters
"BB:Window Length" is the standard BB size of 20 candles.
The indicator plots up to 7 different %BB's on different timescales
They are calculated independently of the timescale you are viewing eg 12h, 3d, 30m will be the same output
You can enter 7 timescales, eg. if you want to plot a range of bbands of the 12h up to 3d graphs, enter values between 0.5 and 3 (days) - you can also select 0 to disable and use less timescales, or select hours or minutes
Take note if you eg. double the main multiplier to 40, it is the same as doubling all your timescales
You can turn the transparency of the 7 x %BB's to 100 to hide them, their average is plotted as a thick cyan line
"Variance" is a measure of how much the 7 BB's agree, and changes colour based on the thresholds used for the strategy
---- TO START FROM SCRATCH ----
- set all except one to ZERO (0), set to 0, and everything after to 0.
Turn ON and right click -> move the indicator to a new pane - this will show you the internal workings of the indicator.
Then there is a few standard settings
"Source Smoothing Amount" applies a basic small sma on the price.
It should be turned down when viewing candles with less information, like 1D or more.
Standard BBands use an SMA, there one uses a blend between VWMA or SMA
Volume Weight settings, the same as SMA at 0, and the same as VWMA at 1
BB^2 is a bband drawn around the average %BB. Adjust the to change its window length
The BB^2 changes color when price moves up or down
Now its time to look at the parameters which affect the buy/sell signals
turn on "show signal range" - you see some red lines
buy and sell each have 4 settings
min/max variance will affect the brigtness of the signal range
range adjust will move the range up/down
mix BB^2 blends between a straight line (0) and BB^2's top or bottom (1)
a threshold of "variance" and "h/l points" is available to generate weaker signals.
these thresholds can be increased to show more weak signals
ONCE YOU ARE HAPPY WITH THE SIGNALS being generated, you can turn OFF , and move it back to the price pane
the indicator then draws a bband around the price to maps some info into the chart:
fills a colour between 0.5 & the mid BB^2 and converts relative to the price chart
draws a line in the middle of the midband.
controls how much these lines diverge from the price - adjust it to reduce noise
converts the signal range (red lines) to be relative to the price chart
if you like, you can adjust the sell & buy signals in the tab from and to and to match the picture. It messes with auto-scaling when moving back to though
enjoy, I hope that is easy enough to understand, still trying to make this more user-friendly.
If you want to send me some token of appreciation - btc: 33c2oiCW8Fnsy41Y8z2jAPzY8trnqr5cFu
I promise it will put a fat smile on my face
Coding ema in pinescriptWhat is EMA ?
Ema is known as exponential moving average, it comes from the class of weighted moving average. It gives more weightage to the recent price changes, thus making it much more relevant to the current market analysis. Also it provides a dynamic way of calculating support and resistances in a trend following setup.
The most common way to mint profit out from the market is to use trend following setups which can be easily achieved by using a group of EMA’s
So how’s this EMA calculated ?
Before understanding the calculation of EMA let’s look into a much wider topic:
“The Law of Averages”
It states : If you do something often enough a ratio will appear, simply put, any time series data, tend to deviate from its average.
EMA provides a way to statistically calculate the exponential moving average for a provided time series data giving much more emphasis on the most recent data in the series.
So in the 17th century, when the people were playing with numbers in their free time, they came up with a statistical strategy to envelop any time series data to detect the direction of the data flow , they called it exponential moving average.
Later in 1940’s with the increase in signal processing requirements in the field of electronic devices scientists started using Exponential moving average onto the electronic signal followers, just to classify the signals as above or below a moving/dynamic threshold.
So EMA is a smoothed time-series data.
The simplest form of EMA Smoothing can be given by the formula:
S(t) = alpha * X(t) + (1 - alpha) * X(t - 1).
The value of alpha must lie between 0 and 1
Where
alpha , is the smoothing factor
X(t) , is the current observation data point
X(t - 1), is the past observational data point.
t , is the current time
Generally,
In current day trading setups for EMA the alpha is calculated by
alpha = 2 / (time period window + 1)
Things to note here is that the alpha calculated above is the most generally used factor calculation method for EMA ,
You can tweak the alpha function above until it gives value between 0 and 1 for example alpha can also be written as
alpha = ln ( current price / past price )
Note it’s just a weighing scheme,
But for Our Case of EMA
We will be using
alpha = 2 / (time period window + 1)
Please refer to the script code below
Support and Resistance linesThis indicator allows you to set 5 SR lines for 8 currency pairs. The SR line variables need to be set in the pine script.
It is easy to add more currency pairs or change the number of SR lines.
The indicator works in the following time frames: 1D, 12H, 8H, 6H, 4H
In the active time frame green and red vertical lines indiate a potential reversal.
Higher time frame occurrences are indicated by e.g. 8H, 12H labels above or below the price line.
So, e.g. in the 12H window you can see D labels. And in the 8H window you can see 12H and D labels.
The indicator recognizes 4 long and 4 short patterns. These patterns are very simple. See the section "Conditions for PriceAction patterns" in the pine script.
If you desire please go ahead and change the patterns or add new ones. This is the most difficult part. If you come up with good ones please post them here.
Mathematical Derivatives of PriceThis indicator is meant to show the Velocity (1st order derivative), Acceleration (2nd order derivative), Jerk (3rd order derivative), Snap (4th order derivative), Crackle (5th order derivative), & Pop (6th order derivative) of price. The values at the top of the indicator window are in this order from left to right. I don't particularly know how this would be used in a trading strategy, but if you're ever curious about how quickly price is moving and how much it is accelerating, then you could use this tool.
*If you only care about velocity and acceleration, and don't like how squished the window is because of the long decimal numbers then edit the "precision" value in the first line of the script to a smaller number of your choosing.*
Chiki-Poki BFXLS Longs Shorts Abs Normalized Volume Pro by RRBChiki-Poki BFXLS Longs vs Shorts Absolute Normalized Volume Value Pro by RagingRocketBull 2018
Version 1.0
This indicator displays Longs vs Shorts in a side by side graph, shows volume's absolute price value and normalized volume of Longs/Shorts for the current asset. This allows for more accurate L/S comparisons (like a log scale for volume) since volume on spot exchanges (Bitstamp, Bitfinex, Coinbase etc) is measured in coins traded, not USD traded. Similarly, L/S is usually the amount of coins in open L/S positions, not their total USD value. On Bitmex and other futures exchanges volume is measured in USD traded, so you don't need to apply the Volume Absolute Price Value checkbox to compare L/S. You should always check first whether your source is measured in coins or USD.
Chiki-Poki BFXLS primarily uses *SHORTS/LONGS feeds from Bitfinex for the current crypto asset, but you can specify custom L/S source tickers instead.
This 2-in-1 works both in the Main Chart and in the indicator pane below. You can switch between Main/Sub Window panes using RMB on the indicator's name and selecting Move To/Pane Above/Below.
This indicator doesn't use volume of the current asset. It uses L/S ticker's OHLC as a source for SHORTS/LONGS volumes instead. Essentially L/S => L/S Volume == L/S
Features:
- Display Longs vs Shorts side by side graph for the current crypto asset, i.e. for BTCUSD - BTCUSDLONGS/BTCUSDSHORTS, for ETHUSD - ETHUSDLONGS/ETHUSDSHORTS etc.
- Use custom OHLC ticker sources for Longs/Shorts from different exchanges/crypto assets with/without exchange prefix.
- Plot Longs/Shorts as lines or candles
- Show/Hide L/S, Diff, MAs, ATH/ATL
- Use Longs/Shorts Volume Absolute Price Value (Price * L/S Volume) instead of Coins Traded in open L/S positions to compare total L/S value/capitalization
- Normalize L/S Volume using Price / Price MA / L/S Volume MA
- Supports any existing type of MA: SMA, EMA, WMA, HMA etc
- Volume Absolute Price Value / Normalize also works on candles
- Oscillator mode with negative axis (works in both Main Chart/Subwindow panes).
- Highlight L/S Volume spikes above L/S MAs in both lines/oscillator.
- Change L/S MA color based on a number of last rising/falling L/S bars, colorize candles
- Display L/S volume as 1000s, mlns, or blns using alpha multiplier
1. based on BFXLS Longs vs Shorts and Compare Style, uses plot*, security and custom hma functions
2. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
Notes:
- Make sure that Left Price Scale shows up with Auto Fit Data enabled. You can reattach indicator to a different scale in Style.
- It is not recommended to switch modes multiple times due to TradingView's scale reattachment bugs. You should switch between Main Chart and Sub Window only once.
- When the USD price of an asset is lower you can trade more coins but capitalization value won't be as significant as when there are less coins for a higher price. Same goes for Shorts/Longs.
Current ATH in shorts doesn't trigger a squeeze because its total value is now far less than before and we are in a bear market where it's normal to have a higher number of shorts.
- You should always subtract Hedged L/S from L/S because hedged positions are temporary - used to preserve the value of the main position in the opposite direction and should be disregarded as such.
- Low margin rates increase the probability of a move in an underlying direction because it is cheaper. High margin rates => the market is anticipating a move in this direction, thus a more expensive rate. Sudden 5-10x rate raises imply a possible reversal soon. high - 0.1%, avg - 0.01-0.02%, low - 0.001-0.005%
You can also check out:
- BFXLS Longs/Shorts on BFXData
- Bitfinex L/S margin rates and Hedged L/S on datamish
- Bitmex L/S on Coinfarm.online
Kringold2[WOZDUX] gold equivalentThe indicator is a tool for global analysis. The default is the price of gold. The price of the instrument from the main window is divided by the price of gold. The result is the price of the instrument in units of gold. The screen uses the Dow Jones index as an example. In the indicator window, the price of the index in units of gold or the so-called gold Dow Jones. The use of the gold equivalent makes it possible to see more truthful trends. The Indicator has the ability to change gold to any other equivalent. It is enough to change the name of the exchange and the name of the instrument in the options tool and exchange. In addition, in the settings, the second box on top allows you to view the graph in a linear or logarithmic scale. The first box at the top switches the line chart or the CCI =WT indicator to this chart.
-------------------------------------------
Индикатор это инструмент для глобального анализа. По умолчанию используется цена золота. Цена инструмента из основного окна делится на цену золота. В результате получается цена инструмента в единицах золота. На экране для примера используется индекс Доу джонса. В окне индикатора цена индекса в единицах золота или так называемый золотой Доу Джонс. Использование золотого эквивалента дает возможность видеть более правдивые тенденции движения. В Индикаторе есть возможность поменять золото на любой другой эквивалент. Достаточно в опциях инструмент и биржа изменить название биржи и название инструмента. Кроме того, в настройках, второй бокс сверху дает возможность смотреть график в линейном или логарифмическом масштабе. Первый бокс сверу переключает линейный график или индикатор CCI =WT к данному графику.
Awesome Oscillator with AntiStep CorrectionHere is the well-known Awesome Oscillator (AO), which I use to present the real purpose of this post: a function that provides step correction for simple moving averages (SMAs).
We all know that any indicator based on moving averages lags real-time movement. Normally this is fine, but just after large ("step") changes in level, the pre-step values that are still within the SMA window cause the result to falsely reflect continued movement, even when real-time values remain flat.
To counter this, when a step change of a configurable size is detected, I temporarily shrink the SMA window size to include only those values occurring since the step change, and then allow the size to increase to normal length as we move away from the step change. This is accomplished within the antistep_sma() function.
Note that this will cause SMAs of different lengths (e.g. those used in the AO) to be temporarily equal, until the shorter of the two reaches its normal size and begins to leave the longer one behind again. You can see this above, where the AO, which is the difference of two SMAs, goes to 0 immediately after a sufficiently large step change--configured to 0.5% in this case.
Hershey's Portfolio WatchThanks to user rwestbury for the idea!
Watch the profit in dollars of your portfolio in REAL TIME, love it!
Put this in a window that doesn't change often, for it takes long to initially load.
I use it in my window where I monitor the US index SPY.
Edit and add as many symbols as you want below, you should be able to figure it out.
Just add symbol, number of shares and price.
I'll improve on this later, like trim the code down with function calls, etc.
Good trading!
Brian Hershey
I_Heikin Ashi CandleWhen apply a strategy to Heikin Ashi Candle chart (HA candle), the strategy will use the open/close/high/low values of the Heikin Ashi candle to calculate the Profit and Loss, hence also affecting the Percent Profitable, Profit Factor, etc., often resulting a unrealistic high Percent Profitable and Profit Factor, which is misleading. But if you want to use the HA candle's values to calculate your indicator / strategy, but pass the normal candle's open/close/high/low values to the strategy to calculate the Profit / Loss, you can do this:
1) set up the main chart to be a normal candle chart
2) use this indicator script to plot a secondary window with indicator looks exactly like a HA-chart
3) to use the HA-candle's open/close/high/low value to calculate whatever indicator you want (you may need to create a separate script if you want to plot this indicator in a separate indicator window)
[RS]Temporal Median Price V1EXPERIMENTAL: previous custom time window median price and current time window open price in a neat package :p
(JeanLouisHardy) added option for bar count system, also added a donchian average.
[RS]Temporal Median Price V0EXPERIMENTAL: previous custom time window median price and current time window open price in a neat package :p
Liquidity Sweep ReversalOverview
The Liquidity Sweep Reversal indicator is a sophisticated intraday trading tool designed to identify high-probability reversal opportunities after liquidity sweeps occur at key market levels. Based on Smart Money Concepts (SMC) and Institutional Order Flow analysis, this indicator helps traders catch market reversals when stop-loss clusters are hunted.
Key Features
🎯 Multi-Level Liquidity Analysis
Previous Day High/Low (PDH/PDL) detection
Previous Week High/Low (PWH/PWL) tracking
Session highs/lows for Asian, London, and New York markets
Real-time level validation and usage tracking
⚡ Advanced Signal Generation
CISD (Change In State of Delivery) detection algorithm
Engulfing pattern recognition at key levels
Liquidity sweep confirmation system
Directional bias filtering to avoid false signals
⏰ Kill Zone Integration
Pre-configured optimal trading windows
Asian Kill Zone (20:00-00:00 EST)
London Kill Zone (02:00-05:00 EST)
New York AM/PM Kill Zones (08:30-11:00 & 13:30-16:00 EST)
Optional kill zone-only trading mode
🛠 Customization Options
Multiple timezone support (NY, London, Tokyo, Shanghai, UTC)
Flexible HTF (Higher Time Frame) selection
Adjustable signal sensitivity
Visual customization for all levels and signals
Hide historical signals option for cleaner charts
How It Works
The indicator continuously monitors price action around key liquidity levels
When price sweeps liquidity (stop-loss hunting), it marks potential reversal zones
Confirmation signals are generated through CISD or engulfing patterns
Trade signals appear as arrows with color-coded candles for easy identification
Best Suited For
Intraday traders focusing on 1m to 15m timeframes
Smart Money Concepts (SMC) practitioners
Scalpers looking for high-probability reversal entries
Traders who understand liquidity and market structure
Usage Tips
Works best on liquid forex pairs and major indices
Combine with volume analysis for stronger confirmation
Use proper risk management - not all signals will be winners
Monitor higher timeframe bias for better accuracy
==============================================
日内流动性掠夺反向开单指标
指标简介
这是一款基于Smart Money概念(SMC)开发的高级日内交易指标,专门用于识别市场在关键价格水平扫除流动性后的反转机会。通过分析机构订单流和流动性分布,帮助交易者精准捕捉止损扫单后的市场反转点。
核心功能
多维度流动性分析
前日高低点(PDH/PDL)自动标记
前周高低点(PWH/PWL)动态跟踪
亚洲、伦敦、纽约三大交易时段高低点识别
关键位使用状态实时监控,避免重复信号
智能信号系统
CISD(Change In State of Delivery)算法检测
关键位吞没形态识别
流动性扫除确认机制
方向过滤系统,大幅降低虚假信号
黄金交易时段
内置Kill Zone时间窗口
支持亚洲、伦敦、纽约AM/PM四个黄金时段
可选择仅在Kill Zone内交易
时区智能切换,全球交易者适用
个性化设置
支持多时区切换(纽约/伦敦/东京/上海/UTC)
HTF周期自动适配或手动选择
信号灵敏度可调
所有图表元素均可自定义样式
历史信号隐藏功能,保持图表整洁
适用人群
日内短线交易者(1分钟-15分钟)
SMC交易体系践行者
追求高胜率反转入场的投机者
理解流动性和市场结构的专业交易者
使用建议
推荐用于主流加密货币、外汇对和股指期货
配合成交量分析效果更佳
严格止损,理性对待每个信号
关注更高时间框架的趋势方向
风险提示: 任何技术指标都不能保证100%准确,请结合自己的交易系统和风险管理使用。
Market Spiralyst [Hapharmonic]Hello, traders and creators! 👋
Market Spiralyst: Let's change the way we look at analysis, shall we? I've got to admit, I scratched my head on this for weeks, Haha :). What you're seeing is an exploration of what's possible when code meets art on financial charts. I wanted to try blending art with trading, to do something new and break away from the same old boring perspectives. The goal was to create a visual experience that's not just analytical, but also relaxing and aesthetically pleasing.
This work is intended as a guide and a design example for all developers, born from the spirit of learning and a deep love for understanding the Pine Script™ language. I hope it inspires you as much as it challenged me!
🧐 Core Concept: How It Works
Spiralyst is built on two distinct but interconnected engines:
The Generative Art Engine: At its core, this indicator uses a wide range of mathematical formulas—from simple polygons to exotic curves like Torus Knots and Spirographs—to draw beautiful, intricate shapes directly onto your chart. This provides a unique and dynamic visual backdrop for your analysis.
The Market Pulse Engine: This is where analysis meets art. The engine takes real-time data from standard technical indicators (RSI and MACD in this version) and translates their states into a simple, powerful "Pulse Score." This score directly influences the appearance of the "Scatter Points" orbiting the main shape, turning the entire artwork into a living, breathing representation of market momentum.
🎨 Unleash Your Creativity! This Is Your Playground
We've included 25 preset shapes for you... but that's just the starting point !
The real magic happens when you start tweaking the settings yourself. A tiny adjustment can make a familiar shape come alive and transform in ways you never expected.
I'm genuinely excited to see what your imagination can conjure up! If you create a shape you're particularly proud of or one that looks completely unique, I would love to see it. Please feel free to share a screenshot in the comments below. I can't wait to see what you discover! :)
Here's the default shape to get you started:
The Dynamic Scatter Points: Reading the Pulse
This is where the magic happens! The small points scattered around the main shape are not just decorative; they are the visual representation of the Market Pulse Score.
The points have two forms:
A small asterisk (`*`): Represents a low or neutral market pulse.
A larger, more prominent circle (`o`): Represents a high, strong market pulse.
Here’s how to read them:
The indicator calculates the Pulse Strength as a percentage (from 0% to 100%) based on the total score from the active indicators (RSI and MACD). This percentage determines the ratio of circles to asterisks.
High Pulse Strength (e.g., 80-100%): Most of the scatter points will transform into large circles (`o`). This indicates that the underlying momentum is strong and It could be an uptrend. It's a visual cue that the market is gaining strength and might be worth paying closer attention to.
Low Pulse Strength (e.g., 0-20%): Most or all of the scatter points will remain as small asterisks (`*`). This suggests weak, neutral, or bearish momentum.
The key takeaway: The more circles you see, the stronger the bullish momentum is according to the active indicators. Watch the artwork "breathe" as the circles appear and disappear with the market's rhythm!
And don't worry about the shape you choose; the scatter points will intelligently adapt and always follow the outer boundary of whatever beautiful form you've selected.
How to Use
Getting started with Spiralyst is simple:
Choose Your Canvas: Start by going into the settings and picking a `Shape` and `Palette` from the "Shape Selection & Palette" group that you find visually appealing. This is your canvas.
Tune Your Engine: Go to the "Market Pulse Engine" settings. Here, you can enable or disable the RSI and MACD scoring engines. Want to see the pulse based only on RSI? Just uncheck the MACD box. You can also fine-tune the parameters for each indicator to match your trading style.
Read the Vibe: Observe the scatter points. Are they mostly small asterisks or are they transforming into large, vibrant circles? Use this visual feedback as a high-level gauge of market momentum.
Check the Dashboard: For a precise breakdown, look at the "Market Pulse Analysis" table on the top-right. It gives you the exact values, scores, and total strength percentage.
Explore & Experiment: Play with the different shapes and color palettes! The core analysis remains the same, but the visual experience can be completely different.
⚙️ Settings & Customization
Spiralyst is designed to be highly customizable.
Shape Selection & Palette: This is your main control panel. Choose from over 25 unique shapes, select a color palette, and adjust the line extension style ( `extend` ) or horizontal position ( `offsetXInput` ).
scatterLabelsInput: This setting controls the total number of points (both asterisks and circles) that orbit the main shape. Think of it as adjusting the density or visual granularity of the market pulse feedback.
The Market Pulse engine will always calculate its strength as a percentage (e.g., 75%). This percentage is then applied to the `scatterLabelsInput` number you've set to determine how many points transform into large circles.
Example: If the Pulse Strength is 75% and you set this to `100` , approximately 75 points will become circles. If you increase it to `200` , approximately 150 points will transform.
A higher number provides a more detailed, high-resolution view of the market pulse, while a lower number offers a cleaner, more minimalist look. Feel free to adjust this to your personal visual preference; the underlying analytical percentage remains the same.
Market Pulse Engine:
`⚙️ RSI Settings` & `⚙️ MACD Settings`: Each indicator has its own group.
Enable Scoring: Use the checkbox at the top of each group to include or exclude that indicator from the Pulse Score calculation. If you only want to use RSI, simply uncheck "Enable MACD Scoring."
Parameters: All standard parameters (Length, Source, Fast/Slow/Signal) are fully adjustable.
Individual Shape Parameters (01-25): Each of the 25+ shapes has its own dedicated group of settings, allowing you to fine-tune every aspect of its geometry, from the number of petals on a flower to the windings of a knot. Feel free to experiment!
For Developers & Pine Script™ Enthusiasts
If you are a developer and wish to add more indicators (e.g., Stochastic, CCI, ADX), you can easily do so by following the modular structure of the code. You would primarily need to:
Add a new `PulseIndicator` object for your new indicator in the `f_getMarketPulse()` function.
Add the logic for its scoring inside the `calculateScore()` method.
The `calculateTotals()` method and the dashboard table are designed to be dynamic and will automatically adapt to include your new indicator!
One of the core design philosophies behind Spiralyst is modularity and scalability . The Market Pulse engine was intentionally built using User-Defined Types (UDTs) and an array-based structure so that adding new indicators is incredibly simple and doesn't require rewriting the main logic.
If you want to add a new indicator to the scoring engine—let's use the Stochastic Oscillator as a detailed example—you only need to modify three small sections of the code. The rest of the script, including the adaptive dashboard, will update automatically.
Here’s your step-by-step guide:
#### Step 1: Add the User Inputs
First, you need to give users control over your new indicator. Find the `USER INTERFACE: INPUTS` section and add a new group for the Stochastic settings, right after the MACD group.
Create a new group name: `string GRP_STOCH = "⚙️ Stochastic Settings"`
Add the inputs: Create a boolean to enable/disable it, and then add the necessary parameters (`%K`, `%D`, `Smooth`). Use the `active` parameter to link them to the enable/disable checkbox.
// Add this code block right after the GRP_MACD and MACD inputs
string GRP_STOCH = "⚙️ Stochastic Settings"
bool stochEnabledInput = input.bool(true, "Enable Stochastic Scoring", group = GRP_STOCH)
int stochKInput = input.int(14, "%K Length", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochDInput = input.int(3, "%D Smoothing", minval=1, group = GRP_STOCH, active = stochEnabledInput)
int stochSmoothInput = input.int(3, "Smooth", minval=1, group = GRP_STOCH, active = stochEnabledInput)
#### Step 2: Integrate into the Pulse Engine (The "Factory")
Next, go to the `f_getMarketPulse()` function. This function acts as a "factory" that builds and configures the entire market pulse object. You need to teach it how to build your new Stochastic indicator.
Update the function signature: Add the new `stochEnabledInput` boolean as a parameter.
Calculate the indicator: Add the `ta.stoch()` calculation.
Create a `PulseIndicator` object: Create a new object for the Stochastic, populating it with its name, parameters, calculated value, and whether it's enabled.
Add it to the array: Simply add your new `stochPulse` object to the `array.from()` list.
Here is the complete, updated `f_getMarketPulse()` function :
// Factory function to create and calculate the entire MarketPulse object.
f_getMarketPulse(bool rsiEnabled, bool macdEnabled, bool stochEnabled) =>
// 1. Calculate indicator values
float rsiVal = ta.rsi(rsiSourceInput, rsiLengthInput)
= ta.macd(close, macdFastInput, macdSlowInput, macdSignalInput)
float stochVal = ta.sma(ta.stoch(close, high, low, stochKInput), stochDInput) // We'll use the main line for scoring
// 2. Create individual PulseIndicator objects
PulseIndicator rsiPulse = PulseIndicator.new("RSI", str.tostring(rsiLengthInput), rsiVal, na, 0, rsiEnabled)
PulseIndicator macdPulse = PulseIndicator.new("MACD", str.format("{0},{1},{2}", macdFastInput, macdSlowInput, macdSignalInput), macdVal, signalVal, 0, macdEnabled)
PulseIndicator stochPulse = PulseIndicator.new("Stoch", str.format("{0},{1},{2}", stochKInput, stochDInput, stochSmoothInput), stochVal, na, 0, stochEnabled)
// 3. Calculate score for each
rsiPulse.calculateScore()
macdPulse.calculateScore()
stochPulse.calculateScore()
// 4. Add the new indicator to the array
array indicatorArray = array.from(rsiPulse, macdPulse, stochPulse)
MarketPulse pulse = MarketPulse.new(indicatorArray, 0, 0.0)
// 5. Calculate final totals
pulse.calculateTotals()
pulse
// Finally, update the function call in the main orchestration section:
MarketPulse marketPulse = f_getMarketPulse(rsiEnabledInput, macdEnabledInput, stochEnabledInput)
#### Step 3: Define the Scoring Logic
Now, you need to define how the Stochastic contributes to the score. Go to the `calculateScore()` method and add a new case to the `switch` statement for your indicator.
Here's a sample scoring logic for the Stochastic, which gives a strong bullish score in oversold conditions and a strong bearish score in overbought conditions.
Here is the complete, updated `calculateScore()` method :
// Method to calculate the score for this specific indicator.
method calculateScore(PulseIndicator this) =>
if not this.isEnabled
this.score := 0
else
this.score := switch this.name
"RSI" => this.value > 65 ? 2 : this.value > 50 ? 1 : this.value < 35 ? -2 : this.value < 50 ? -1 : 0
"MACD" => this.value > this.signalValue and this.value > 0 ? 2 : this.value > this.signalValue ? 1 : this.value < this.signalValue and this.value < 0 ? -2 : this.value < this.signalValue ? -1 : 0
"Stoch" => this.value > 80 ? -2 : this.value > 50 ? 1 : this.value < 20 ? 2 : this.value < 50 ? -1 : 0
=> 0
this
#### That's It!
You're done. You do not need to modify the dashboard table or the total score calculation.
Because the `MarketPulse` object holds its indicators in an array , the rest of the script is designed to be adaptive:
The `calculateTotals()` method automatically loops through every indicator in the array to sum the scores and calculate the final percentage.
The dashboard code loops through the `enabledIndicators` array to draw the table. Since your new Stochastic indicator is now part of that array, it will appear automatically when enabled!
---
Remember, this is your playground! I'm genuinely excited to see the unique shapes you discover. If you create something you're proud of, feel free to share it in the comments below.
Happy analyzing, and may your charts be both insightful and beautiful! 💛
Killzone za Forex - @mladja123This indicator marks the Kill Zones for Forex pairs, identifying the most active trading sessions and price areas with increased volatility. It allows traders to focus on high-probability trading windows, improving timing for entries, exits, and trade management in the Forex market.
Big Mo’s Glaskugel — Macro Drawdown Risk (v1.1.2)What it does / what you see
An at-a-glance drawdown-risk oscillator that blends several macro US signals.
• A smooth, color-blended line (green→orange→red) shows the scaled risk score (0–100).
• Subtle shading marks “re-steepen warning windows” (starts when the yield curve re-steepens after an inversion; ends on normalization/cool-down).
• A compact status table summarizes: overall risk level, Yield Curve (10y–3m), Credit Stress (Baa–10y), Economy (LEI), and Valuation (CAPE).
Data used & why
Yield Curve (10y–3m) — FRED:T10Y3M. Inversions and subsequent re-steepens often precede recessions/equity drawdowns.
Credit Stress — FRED:BAA10Y vs its 1-year average (deviation in bps). Widening credit spreads flag tightening financial conditions.
Economy (LEI) — ECONOMICS:USLEI. 6-month annualized growth below a cutoff highlights macro deterioration.
Valuation (CAPE) — SHILLER_PE_RATIO_MONTH. Elevated valuations can amplify downside risk.
VIX spikes — optional boost that recognizes sudden risk repricings.
Important disclaimer
This is not a reliable or predictive indicator in all regimes. No guarantees or warranties of any kind are provided. It is not financial advice. Signals can be early, late, or wrong.
That said, it leans on well-studied warning factors (yield-curve dynamics, credit spreads, LEI weakness, valuation extremes) that have flagged major market downturns in the past.
Key customization / tweaks
Weights for each component (Yield, Credit, LEI, VIX, CAPE).
Thresholds: yield inversion months, re-steepen lookback, credit-stress bps, LEI cutoff, CAPE level, VIX spike levels.
Re-steepen boost: enable/disable, base points, half-life decay.
Shading behavior: cool-down bars to “unwarn,” max warning duration, only shade when risk ≠ green.
Scaling & smoothing: dynamic rolling max, EMA length, yellow/red thresholds.
Status table: position, and a snapshot mode to view values at a chosen historical time.
X FocusDesigned to help traders reduce distractions by de-emphasizing specific time ranges on the chart. Instead of highlighting high-activity zones, this tool intentionally applies a muted overlay to selected sessions, allowing traders to concentrate on price action that occurs outside those designated ranges.
Core Purpose
The primary goal of this indicator is to combat the “noise” that often arises during certain periods, such as overnight sessions or pre-market trading. By visually softening those areas, traders can focus on the more relevant trading windows WITHOUT losing any time-based context. Unlike traditional tools that remove data entirely, X Focus preserves all candlestick and price information—ensuring that key levels, gaps, or reference values are still visible.
Key Features
Custom Session Filtering
Users can define up to three time ranges depending on preference. This flexibility allows for tailoring the indicator to different market strategies.
De-Emphasis by Design
Instead of masking or deleting data, the indicator overlays a semi-transparent shading box over the chosen sessions. This ensures traders remain aware of the data while maintaining visual focus on the price action outside of the selected time blocks.
Dual Utility – Highlight or Suppress
While built on the principle of minimizing distractions, the same framework can also be used in reverse to highlight specific areas of interest. This versatility makes it suitable for both noise-reduction and spotlighting critical ranges.
Dark Mode / Light Mode
Adjustable color schemes allow seamless integration into any chart setup, whether the user prefers dark or light backgrounds.
Non-Intrusive Visualization
The shading effect is applied without altering price bars, indicators, or other overlays. This ensures compatibility with existing technical tools and strategies.
Use Case
Traders who find themselves reacting too strongly to inconsequential movements during certain times (such as after-hours or low-volume sessions) can benefit from the X Focus indicator. It helps maintain clarity and discipline by visually guiding attention toward the periods that matter most—without erasing or ignoring potentially useful price references.
Bardhi's ICT Killzone & PivotsThis indicator is a complete ICT-style session and liquidity toolkit designed for precision trading. It automatically marks the most important trading windows (“Killzones”) and provides powerful tools for tracking price action around them.
Key Features:
Killzones: Automatically plots Asia, London, and New York (AM, Lunch, PM) sessions with customizable colors, transparency, and labels.
Session Highs, Lows & Midpoints: Dynamic lines for killzone highs/lows, optional midpoints, and alerts when levels are broken.
Range Statistics: Displays the real-time range of each session plus rolling averages in a customizable table.
Day / Week / Month Levels: Plots opens, highs, lows, and separators for higher-timeframe reference points with optional alerts.
Custom Opening Prices: Define up to 8 custom open lines (e.g., True Day Open, 06:00, 10:00) with cutoff times.
Vertical Timestamp Lines: Highlight important intraday times such as news events or personal strategy triggers.
Day-of-Week Labels: Clean labels for each day, with the option to hide weekends.
Full Customization: Adjustable label sizes, colors, line styles, transparency, and drawing limits.
Why Use It?
This tool combines killzone sessions, pivots, higher-timeframe opens/highs/lows, and range statistics into one clean, automated package. It saves time drawing manually, keeps charts organized, and helps traders apply ICT concepts consistently.
Fibs Has Lied 🌟 Fibs Has Lied - Indicator Overview 🌟
Designed for indices like US30, NQ, and SPX, this indicator highlights setups where price interacts with key EMA levels during specific trading sessions (default: 6:30–11:30 AM EST).
🌟 Key Features & Levels 🌟
🔹EMA Crossover Setups
The indicator uses the 100-period and 200-period EMAs to identify bullish and bearish setups:
- Bullish Setup: Triggers when the 100 EMA crosses above the 200 EMA, followed by two consecutive candles opening above the 100 EMA, with the low within a specified point distance (e.g., 20 points for US30).
- Bearish Setup: Triggers when the 100 EMA crosses below the 200 EMA, followed by two consecutive candles opening below the 100 EMA, with the high within the point distance.
- Signals are marked with green (buy) or red (sell) triangles and text, ensuring you don’t miss a setup. 📈
🔹 Reset Conditions for Re-Entries
After an initial setup, the indicator watches for “reset” opportunities:
- Buy Reset: If price moves below the 200 EMA after a bullish crossover, then returns with two consecutive candles where lows are above the 100 EMA (within point distance), a new buy signal is plotted.
- Sell Reset: If price moves above the 200 EMA after a bearish crossover, then returns with two consecutive candles where highs are below the 100 EMA (within point distance), a new sell signal is plotted.
This feature captures additional entries after liquidity grabs or fakeouts, aligning with ICT’s manipulation concepts. 🔄
🔹 Session-Based Filtering
Focus your trades during high-liquidity windows! The default session (6:30–11:30 AM EST, New York timezone) targets the London/NY overlap, where price often seeks liquidity or sets up for reversals. Toggle the time filter off for 24/7 signals if desired. 🕒
🔹Symbol-Specific Point Distance
Customizable entry zones based on your chosen index:
- US30: 20 points from the 100 EMA.
- NQ: 3 points from the 100 EMA.
- SPX: 2.5 points from the 100 EMA.
This ensures setups are tailored to the volatility of your market, maximizing relevance. 🎯
🔹 Market Structure Markers (Optional)
Visualize swing points with pivot-based labels:
- HH (Higher High): Signals uptrend continuation.
- HL (Higher Low): Indicates potential bullish support.
- LH (Lower High): Suggests weakening uptrend or reversal.
- LL (Lower Low): Points to downtrend continuation.
- Toggle these on/off to keep your chart clean while analyzing trend direction. 📊
🔹 EMA Visualization
Optionally plot the 100 EMA (blue) and 200 EMA (red) to see key levels where price reacts. These act as dynamic support/resistance, perfect for spotting liquidity pools or ICT’s Power of 3 setups. ⚖️
🌟 Customization Options 🌟
- Symbol Selection: Choose US30, NQ, or SPX to adjust point distance for entries.
- Time Filter: Enable/disable the 6:30–11:30 AM EST session to focus on high-liquidity periods.
- EMA Display: Toggle 100/200 EMAs on/off to reduce chart clutter.
- Market Structure: Show/hide HH/HL/LH/LL labels for cleaner analysis.
- Signal Markers: Green (buy) and red (sell) triangles with text are auto-plotted for easy identification.
🌟 Usage Tips 🌟
- Best Timeframes: Use on 3m for intraday scalping and 30m for swing trades.
- Combine with ICT Tools: Pair with order blocks, fair value gaps, or kill zones for stronger setups.
- Focus on Session: The default 6:30–11:30 AM EST session captures London/NY volatility—perfect for liquidity-driven moves.
- Avoid Overcrowding: Disable market structure or EMAs if you only want setup signals.