Basic Binance Premium IndexA premium index indicator for Binance futures.
The premium index is based on the difference in price between the perpetual swap contract last price and the price of a volume weighted spot index.
Simply put: it shows you for each coin whether the spot market is trading higher than the Binance perpetual or not.
If future price is higher than spot in a rally, the rally isn't backed by real buys (spot) but by dumb perpetual longs which can indicate bearish PA. If spot price is higher than futures in a rally, the upside is backed by real money (spot) which can indicate bullish PA.
To calculate the premium, I simply took (futures_price/vwap(spot_price)-1)*100
This version includes
•BTC
•ETH
•LTC
•ICP
•BNB
•ADA
•DOGE.
You can display data as a smoothed moving average for improved readability.
This code is open source so feel free to use it in your scripts.
Kripto
Bitcoin BanditIntroducing "Bitcoin Bandit".
The market beating trading algorithm for Bitcoin .
"Bitcoin Bandit" buys and sells based on three proprietary indicators:
• Futures contract data
• Accumulation areas and various moving averages.
• Bitcoin hash rate
The indicator is unique because it doesn't give significant weight to historical price to predict future price action; instead it uses BTC hash rate momentum and futures contract data from BTCUSDPERP (transformed through various internal processes) as proxies for sentiment to look for buy and sell zones, then uses accumulation of moving averages as supporting data for signal delivery.
The strategy was built on two years of Binance data and and backtested on five years of Bitcoin data (Coinbase: BTCUSD ).
Finally, the strategy was validated over multiple investment time frames (5 years, 2 years, 1 year) without prior parameter adjustment.
Strategy backtesting checks include:
• 0.60% trading commission fees (the highest possible).
• No Heiken-Ashi candles (to preserve accuracy)
• No Stop-Losses
• Market orders only
The results speak for themselves.
See the positive excess return from the “Bitcoin Bandit” strategy returns versus a simple Bitcoin “Buy-and-Hold” strategy. "Bitcoin Bandit" is designed to function only on the Daily time frame of the BTCUSD trading pair.
Does it Repaint?
• Our indicator does NOT repaint. Although while setting an alert it may pop up the repaint alert, please take into consideration that once a signal is fired on a "CLOSED BAR", the signals will never disappear, they do not repaint.
What Markets is it usable with?
• BTCUSD on the Daily timeframe .
• Bitcoin Bandit can be applied to any chart or altcoin, but results will be unpredictable as this indicator is designed specifically for Bitcoin trading.
How to use:
• Simply plug and play it to your chart. You can also connect TV alerts with a bot and let it run. Please be aware that SLIPPAGE time is important, If you run a bot on this indicator you HAVE to know that the buy/sell price will be on the bar AFTER the Candle close (For example: the BUY/SELL alert is on a candle, the buy/sell your bot or you will execute WILL be in the following candle depending on your trading system. Bitcoin Bandit only works on the Daily timeframe on the BTCUSD trading pair. Please contact us if you do not understand how to use it.
Disclaimer: Nothing stated is financial advice, and is purely for education purposes. We do not promise all trades are profitable, the use of this indicator is up to your own judgement and liability.
Clutch AlgoThe Clutch Algo provides reversal signals and trend signals. The indicator can be used for stocks, crypto and forex. It can also be used for day trading and swing trading.
Reversal signals were done by modifying the Bollinger Bands and MACD and combining them in a unique way to find explosive price actions. These have been modified to provide signals at the bottom or top of a trend to catch price reversals and to improve margin of safety on trades. These signals are labeled as “Long” and “Short”.
We also added automatic support and resistance zones to increase the accuracy of the “Long” and “Short” signals. This was done by using historical price action of highs and lows and periods of consolidation where price reversed.
The trend signals, which are labeled as “Bull” and “Bear” signals use a combination of exponential moving averages. These signals can be used as trend continuations.
We also added an exponential moving average cloud to help traders easily visualize trend. This can be used as a guide to help you stay in a trade to maximize profits. It can also be used as a guide to get out of a trade if price breaks out of the cloud. The third use of the cloud can be used as support resistance in between high/low support and resistance zones.
Tips:
- Only take long/short signals when there is a support or resistance zone formed at or near the long/short signal, preferably within 1-3 bars of the support or resistance zone. Signals too far from "Long" or "Short" signals reduces your margin of safety.
- When in a Long or Short position, use support or resistance zones as a stop loss level as price is likely to go against the position.
- When taking a Long/Short or Bull/Bear signal, wait for candles to be completed to get best entry possible.
- Previous support zones can be used as resistance zones and previous resistance zones can be used as support zones.
- The support and resistance (SR) period can be adjusted. Numbers in the SR settings are bars looking back. For example, a setting of 10, looks back 10 bars.
SuperTrend Multiple Risk Management SystemThis is an improved SuperTrend strategy that makes use of multiple types of risk management options.
We have for example :
1. Take profit and stop loss levels based on support and resistence created with RSI and Pivot Lines(dynamic)
For example, if we have an oversold level and a pivot low , we can take that low point for support.(or resistence for short)
If instead we have an overbought level and a pivot high, we can take that high point for resistence.(orsupport for short)
2. Take profit and stop loss levels based on swing low and swing high points calculated with highest high and lowest low function(dynamic)
For example we take the lowest point in the last 100 candles. We calculate the distance from the current point to that one, and we apply this value as a take profit point. Same for stop loss
3. Take profit and stop loss levels based on % movements(fixed)
For example we have a tp or sl of 10%. If either of them make a movement of 10% from the entry point, they will get triggered.
4. Break even stop loss once the asset moves certain % in our direction.
For example we have a long breakeven of 5%. If the asset moves 5% in our direction, we move the stop loss on the entry point so if the trade pullback and crosses with this point it will exit from the trade.
Notes:
All the exits from the strategy are happening at the end of the candle close, since we are checking if inside the current candle we cross with either high or low of the candles parts the set prices from any of the above options.
At the same time we can combine multiple of them into one, and we can either exit based on which one was hit first, or use a quantity reduction of the trade and exit multiple times when we hit any of the levels.
This tool is for educational purpose only.
Its main purpose is to show the difference between having a risk management or without.
For example on this scenario of BTC USD 4h, I found out that the drawdawn was reduced by more than half when using different type of risk management, compared to not use one at all, while at the same time increasing the profits by a huge margin.
WhaleCrew Crypto Open InterestUse Crypto Open Interest Data available on TradingView to your advantage.
Features
Auto-Detect Symbol (based on chart)
Preset Symbols (BTC, ETH, BNB, XRP, LUNA, ADA, SOL, AVAX and DOT)
Exchanges ( Binance and BitMex )
Inverse and USDT Pairs
Override Data Option to use any OI Data on TradingView
Customizable Candles
Signals Pirate™ Market ScreenerSignalsPirate™ Market Screener provides users with the ability to quickly and easily check the current trend of up to 40 different assets on any timeframe! With a simple ‘Bullish’ or ‘Bearish’ trend easily defined using accurate and reliable calculations, this tool could massively cut down the amount of time your TA takes!
The main Input options are 'Reactivity' and 'Depth', which allow for a dynamic trend following strategy that works on all time frames and assets. Using these values the strategy will print the bundles main ‘Buy’ and ‘Sell’ signals to try and identify the trend early and accurately. Their main functions are to dynamically calculate volatility and current trend direction – but we’ve gone more in-depth below!
Reactivity:
Reactivity controls how quickly the Algo reacts to changes in trend. This part of the bundle takes into account the Average True Range (ATR) to gauge current market volatility and direction of the trend. Lowering the reactivity value will generate quicker reaction times of the algorithm as it will lower the threshold of volatility required for a signal to be generated. Therefore, it’ll show trades more frequently.
Depth:
Depth controls the position of the signals according to the trend swing. Calculated using a variation of the Average Direction Index (ADX) to measure the changes in prices over a given period, when running parallel to the Reactivity volatility filter the trend can be identified quickly and accurately on any given time frame or asset. Higher Depth will allow for less frequent and slower entries. In contrast, lower Depth will give more frequent and earlier entries.
The default settings are the best settings we’ve found so far but you can change them to build your own unique trading strategy. We’d recommend experimenting with these values to find the best results for the asset you are trading, and your own personal trading and investing style.
Direction for use:
1. Use on any asset class and time frame and add the tickers of any asset you want included in the screener.
2. Fine tune the Reactivity (volatility) and Depth (trend sensitivity).
3. Consider longing assets that appear in the ‘Bullish List’ after candle close, and consider shorting assets that appear in the ‘Bearish List’ after candle close.
4. Exit positions once an asset has switched from one list to the other.
As mentioned previously, this Market Sceener uses a trend base system that dynamically operates to function with superior accuracy regardless of what you’re trading. But with the level of customisation available, this can easily be fine tuned to accommodate scalping, reversal trading, or even long term investing.
We hope you love this Screener, and it takes your trading and investing to the next level. Please let us know if you have any questions or queries regarding the logic behind the bundle, or if you have any suggestions for improvements etc. We love your feedback and are constantly striving to continuously improve!
Momentum CloudThis is a modified Ichimoku Cloud:
-The default Lookback-Length and Displacement settings have been modified to operate optimally on 24/7 markets - which is popular among Crypto analysts.
-The Lagging Span, Base Line, and Conversion Line have been removed - leaving just the bare cloud.
-Additionally, the Cloud's color will shift blue when it is compressed. (More specifically - when Leading Span A retreats to Leading Span B, the color changes.)
This allows the user to easily identify when the Cloud is "thinning", either to the upside, or the downside.
Being that the "spread" or "width" of an Ichimoku Cloud generally gauges it's efficacy as potential Support or Resistance, this tool is particularly useful for highlighting when momentum is weakening.
*This script will be updated in the future to allow the user to view the Momentum Cloud of alternate time-frames! (e.g, Viewing the 1D Momentum Cloud on the 1H timeframe)
customConfluenceSimplifiedThis indicator is intended to automatically search for confluence on a variety of indicators and conditions, highly customizable parameters, including Take profits, stop losses and classic indicator adjustments.
Best results in BTCUSDT 15m and 1H, but feel free to optimize it on any pair and timeframe. I don't recommend using it in non crypto assets.
Alerts are fully customizable too. You can put any alert() (buy/sell) to any pair.
I intended to maximize quality of signals over quantity. But anyway you can customize a lot of parameters to make it more frequent.
DM me for access.
Signals Pirate™ Buy Sell SignalsSignalsPirate™ Algo Premium includes standard Buy and Sell signals on the chart, All-in-One Premium Market Dashboard with current trades, and a wide variety of customizability to help you create your own, unique trading strategies.
The main Input options are 'Reactivity' and 'Depth', which allow for a dynamic trend following strategy that works on all time frames and assets. Using these values the strategy will print the bundles main ‘Buy’ and ‘Sell’ signals to try and identify the trend early and accurately. Their main functions are to dynamically calculate volatility and current trend direction – but we’ve gone more in-depth below!
Reactivity:
Reactivity controls how quickly the Algo reacts to changes in trend. This part of the bundle takes into account the Average True Range (ATR) to gauge current market volatility and direction of the trend. Lowering the reactivity value will generate quicker reaction times of the algorithm as it will lower the threshold of volatility required for a signal to be generated. Therefore, it’ll show trades more frequently.
Depth:
Depth controls the position of the signals according to the trend swing. Calculated using a variation of the Average Direction Index (ADX) to measure the changes in prices over a given period, when running parallel to the Reactivity volatility filter the trend can be identified quickly and accurately on any given time frame or asset. Higher Depth will allow for less frequent and slower entries. In contrast, lower Depth will give more frequent and earlier entries.
The default settings are the best settings we’ve found so far but you can change them to build your own unique trading strategy. We’d recommend experimenting with these values to find the best results for the asset you are trading, and your own personal trading and investing style.
Direction for use:
1. Use on any asset class and time frame.
2. Fine tune the Reactivity (volatility) and Depth (trend sensitivity).
3. Enter Long on ‘Buy’ signal after candle close, enter Short on ‘Sell’ signal after candle close.
4. Exit position on opposite entry signal, for example if you’re currently in a Long position and a ‘Sell’ signal is printed, close your Long position at the candle close, even if you do not plan on shorting and vice versa.
As mentioned previously, this is a trend base system that dynamically operates to function with superior accuracy regardless of what you’re trading. But with the level of customisation available, this can easily be fine tuned to accommodate scalping, reversal trading, or even long term investing.
The Dashboard shows the most relevant and real-time information within a simple panel on the chart. It includes three sections. The first section shows Volatility, Volume, Current Sentiment. The second section shows Trends from a 1-minute timeframe to a Month. The third section shows current trade with Variable TP 1, TP 2, TP 3 (calculated using a combination of S/R levels and ATR values), and Maximum Profit for the current trade that could have been entered using this bundle.
We hope you love this all in one package, and it takes your trading and investing to the next level. Please let us know if you have any questions or queries regarding the logic behind the bundle, or if you have any suggestions for improvements etc. We love your feedback and are constantly striving to continuously improve!
iCryptoScalperHi everyone!
In this post I would like to present my personal indicator for short-term strategies on cryptocurrencies called iCryptoScalper , but let me first introduce myself:
I am a theoretical physicist with a deep passion for trading and mathematical modelling of the financial markets.
I started trading cryptocurrencies more than 4 years ago and, throughout this period, I got more and more involved in trying to describe the mechanisms governing
the price action at lower timeframes like 1, 5 and 15 minutes.
As a beginner, I started with the usual "buy and hold" strategy, the safest but also boring option. Afterthat, I tried to get more involved on speed trading
and scalping and, as it happens to all the beginners, I went through many mistakes.
At the beginning, trying to find the best scalping strategy, was a very difficult task and I barely managed to perform well, mostly because every trade were overwhelmed
by my emotional approach and the fear of missing the right entry point and/or exit point. However, thanks to these difficulties, I understood that I needed
an algorithmic procedure to improve my performances and overtake the emotional approach, with a more technical approach: a mathematical guide that precisely tells me how to behave in the best way possible to be profitable.
To achieve this goal, I put all my efforts in trying to write a consistent mathematical model able to give me all the statistical informations I needed to reach
the best performances and, of course, the best possible profits.
The iCryptoScalper is an explicit mathematical tool to be used for scalping strategies and optimized for different cryptocurrency pairs on 15/30 min timeframes.
The script gives you many useful informations and details regarding the current and subsequent trade, accompanied with a detailed overview on both the last 20 short
and long trade results.
Let us have a look to all the detailed informations the script shows to you:
CHART
- Lines: The script plots for you the Entry price (yellow line), the Stop Loss price (red line) and a series of 8 Take Profit levels (green lines).
- Background: The green background color indicates that the script is in a long position, viceversa, the red background color indicates that the script is in a short position.
- Labels: The blue labels indicate the maximum achieved profit for each trade.
- Alerts: The script shows two types of alerts, the "prepare to #" one and the true entry one. The prepare alert is very useful to understand when the strategy is going
to enter a specific trade, thus giving you the possibility to set up all the necessary Entry/SL/TP levels on your favorite trading platform.
- Crosses: The green and red crosses are precisely located at the corresponding long and short entry price for the next trade, thus giving you a preview on the target price
that has to be reached for the indicator to enter. They are computed thanks to a mathematical model I set up and optimized for each cryptocurrency pair.
PANEL
- Overview: This part shows you two probability tables for the last 20 long and short trades each. The first table indicates the set of probabilities of reaching the corresponding TP level, whereas the second table shows the conditional probability , namely the probability of reaching a certain profit level once the previous one has been achieved.
Below the tables you can find three quantities again referring to the last 20 long and short trades: the Average Maximum Profit , the Average Maximum Drawdown and the Average Risk/Reward Ratio .
Last but not least, the correlation between the current asset and BTC is displayed together with the current BTC status.
- Active Trade: This part collects all the data related to the current trade status.
- Next Trade: This part collects all the data related to the next trade status.
ATTENTION!
Please notice that the equity line you see in the "Strategy Tester" section of TradingView is unreliable compared to the real performances of the script. This is due to the
fact that the TradingView engine is designed for backtesting automatic trading strategies and not real-time trading bots.
An example is the following: Bob buys 1 BTC-PERP contract at 10000$, setting the Stop Loss at 9000$. The price of the perpetual then goes to 12000$ and then go back hitting the Stop Loss. For the TradingView Engine this is a
trade with a permanent loss of 1000$. However, for the iCryptoScalper users, the trade is perfectly fine thanks to the numerous TP levels (and corresponding probabilities) given by the script within the trade window.
Zlema Strateg Long 5mJust putting this out there.
I created this Strategy based on Everget Zlema.
Opens long trade when Zlema changes color.
It is profitable as it is, but just putting it out to the community to see if someone else has ideas to make it better.
How to make this strategy better?
1. FInd a way to filter ranging bad trades.
2. Trades would be more profitable if entry point had an entry on the candle the zlema changes color.
3. I had to put TP 5 limit, but the optimal would be when the zlema changes color back to red (if ranging trades can we filtered that is).
In any case, just putting it out there, hope it is useful for someone, and I am open to suggestions.
Ichimoku 4H crypto strategy -- LONG ONLYThis is a LONG ONLY strategy for 4h timeframe of any Cryptocurrency/USD pairs. The strategy opens only 1 position at a time with the following conditions.
Open Long Position when:
1. Closed price above cloud AND
2. Green cloud ahead AND
3. Conversion line above Baseline AND
4. Lagging span above cloud and price action AND
Close trade when:
1. Lagging span gets below price action or cloud OR
2. Price gets inside the cloud OR
3. Price gets below baseline
You can use it on a lower timeframe at YOUR OWN RISK. My optimal timeframe is 4 Hour candles.
Cheers.
Premium on BTC in Russia (%)
Indicator shows the relative "premium" or "discount" of buying BTC with Ruble vs the USD on Binance.
Figures are shown in %.
Positive figures indicate a "premium" vs USD, negative indicates a "discount".
Indicator is calculated on the close of the 4h candles of each input.
AnyChartI changed few lines of code from TradingView's original Open Interest indicator to make this one. I wanted to compare other charts to while entering my trade like looking at BTC when trading in alts. It has option to view any chart. Add other things to improve your analysis.
Crypto Spot Market Bot | BacktestHello Friends.
This script is only for long positions.
How does the algorithm work ?
The Relative Momentum Index
Relative Strength İndex
Average Directional Movement İndex
Momentum
When rsi and adx produce signals in the same direction, the rmi indicator confirms the signal. After the Confirmed Signal, the buy-side transaction is entered , the closed according to the % of profit taking and stoploss specified on the algorithm in the entered transaction.
In the spot market, it is possible to make money even in a down trend
All shared charts run within a 1-hour time frame.
Note : The shared backtest results have been shared as of 9/9/2021 by calculating 50% balance and 2 pyramiding methods in an account of 1000 dollars. Keep in mind that this algorithm will want to try to average down in possible worst-case scenarios. 2% - %3take profit levels will provide consecutive gains in the spot market.
How should the adjustments be made?
Value variables should be made according to formula a and formula b values and backtest results. You can increase the frequency of transactions by lowering the adx and rsi values.
Overview :
Market Hedge RatioRatio of crypto (total, Bitcoin, or Ethereum market cap) to major stable coins.
A low ratio suggests a lot of people are sitting in cash (sidelined if crypto rallies).
A high ratio suggests possible demand saturation.
TrendsThe Trends indicator is created for trend trading and (Bitsgap) crypto bots of crypto assets over longer time periods.
Works best for 4h, Daily and Weekly candles (even Monthly), but unsuitable for hourly candles and day trading.
This indicator shows you if a crypto pair is in a Bear, Bull or Sideways market.
The idea is to simplify decision making when to sell or buy, or what pairs to use with trading bots.
Stick to the rule of not having bots in a Bear trend!
- Blue = Bull trend
- Red = Bear trend
- Green = Sideways trend - which can be profitable with trading bots
Fiat Flow IndexFiat Flow Index by Lysergik
This indicator compares the change in stable-coin market caps and total crypto market cap and then using those comparisons creates an index from 0 to 100.
When the index spikes and tags the upper or lower threshold levels, it is assumed that a significant inflow or outflow (respectively) of fiat in the crypto space has occurred.
Note: The data of this indicator is independent of price action. It looks only at total market cap and stablecoin market caps to derive its data points.
Smart Money Flow Pro (Dual Mode: MCD & MCDX) MI02bSmart Money Flow Pro (MI02b) indicator shows Buyer / Seller activities by calculating series of Price & Volume data, over a certain period of time.
It analyses Institutional fund possible behavior from the pool of data derived from price volume movement every trading day.
RED bar represents percentage of stock holders are currently in profit.
Purple line is RED bar's moving average.
Green bar represents percentage of stock holders are currently in loss.
Lime Green line is Green bar's moving average.
Yellow bar represents percentage of daily traders (buy & sell at the same day).
Pink line is Yellow bar's moving average.
RED bar > 50% shows institution fund has in control, uptrend is likely easier to continue.
BLUE bar > 50% shows retailer fund is stucked inside, downtrend is likely easier to continue.
Crossing of moving average lines indicates changing of trend (reversal sign):
1) Purple line up-crossed Green line - UPTREND
2) Green line up-crossed Purple line - DOWNTREND
Smart Money Flow Pro includes 6 Long/Buy signals (🔺, ⭕️, 👍, 😊, 📈, 🔷)
Each signals comes with individual alert setting.
Disclaimer:
This script indicator is solely for the purpose of education / opinion sharing only, and should not be construed as investment advice or recommendations to buy or sell any security.
Get your trade advise from a legit broker, you are responsible on your own trade.
Thank you.
Pattern Recognition Pullback StrategyThis script has been designed for use in botting Crypto spot / futures.
The intended use is send signals to a 3commas bot setup for the exchange. The bot uses candle measuring percentile nearest rank filters and range
breakouts to decide if the market is trending. When the market is trending it will look for pullbacks below a moving average and buy in the trend direction on a pullback discount.
With this script you will not be able to send tradingview signals, that is because it is a payed service and for security reasons I am the only one with access to making signals from this script. I will be uploading a second script which is the profit calculator. This way you can toy around to find your preferred settings for the bot and see the results it could have made.
I provided a user manual:
drive.google.com
Binance Open InterestIntro
A free and open source indicator that shows you open interest for Binance USDT and coin margin perpetual swap contracts, plotted as candlesticks.
Open interest means the total number of outstanding derivatives contracts, or in plain and simple English: the total amount of positions that traders have opened and still remain open.
Instructions
I've included data for a variety of cryptocurrencies that are quite popular right now.
However, since it's open source you can of course add any coin you want.
It's important to know that coin margin contracts have their open interest denominated in USD.
So if, for example, the ETH/USD perp shows a value of 470 million, that means 470 mil USD.
Tether margin contracts on the other hand are denominated in the coin itself.
So if, for example, the SOL/USDT perp shows a value of 1 million, that means 1 mil SOL worth of open contracts.
This is how the exchange created and denominated the contracts and I kept it this way to keep the data clean.
You could multiply that 1 mil SOL by the SOL price and it would show you the total open interest in USD terms of course, but that would make the candles look a bit funky.
If you look at the code you can see that for the coin margin contracts I've multiplied BTC open interest by a 100 and for altcoins I multiplied it by 10.
This is because of the Binance contract specifications, they use a multiplier of a 100 for bitcoin and altcoins have a multiplier of 10.
If you google "Binance Trading Rules of coin-margined Contracts" you'll find this info.
Some coins only have a USDT margin perp and not a coin margin perp.
YFI for example doesn't have a coin margin perp, but it is included in the list.
So if you select YFI and choose "coin margin" the indicator won't show anything.
The indicator still works, just select a different contract and you'll see open interest data appear again.
Access
It's free so just favourite it and you'll be able to add it to your chart and use it.
And it's also open source so you could just copy the code and make your own version of it.
Cheers.
Aggregated Perps Volume [daylad]Same thing as my aggregated spot volume indicator, but for crypto perpetual futures contracts ().
Works with any crypto chart! No need to manually update symbols, this indicator will detect if there is a matching symbol and add it automatically!
The price labels display the total volume per bar in USD.
Pulls data for the following pairs (when available):
BINANCE: + base_symbol + PERP
BINANCE: + base_symbol + BUSDPERP
BINANCE: + base_symbol + USDTPERP
OKEX: + base_symbol + USDTPERP
OKEX: + base_symbol + PERP
FTX: + base_symbol + PERP
PHEMEX: + base_symbol + USD
BYBIT: + base_symbol + USD
BYBIT: + base_symbol + USDT
DERIBIT: + base_symbol + PERP
HUOBI: + base_symbol + PERP
BTSE: + base_symbol + PFC
EXAMPLE -- If you're looking at the COINBASE:SOLUSD chart the indicator will automatically aggregate the volume from BINANCE:SOLPERP, FTX:SOLPERP...etc... BYBIT:SOLUSDT...etc... BTSE:SOLPFC. If an exchange does not have a corresponding pair, then that pair returns 0 and does not add to the total.
If you have any questions feel free to ask. Happy trading!
BjCandlePatternsLibrary "BjCandlePatterns"
Patterns is a Japanese candlestick pattern recognition Library for developers. Functions here within detect viable setups in a variety of popular patterns. Please note some patterns are without filters such as comparisons to average candle sizing, or trend detection to allow the author more freedom.
doji(dojiSize, dojiWickSize) Detects "Doji" candle patterns
Parameters:
dojiSize : (float) The relationship of body to candle size (ie. body is 5% of total candle size). Default is 5.0 (5%)
dojiWickSize : (float) Maximum wick size comparative to the opposite wick. (eg. 2 = bottom wick must be less than or equal to 2x the top wick). Default is 2
Returns: (series bool) True when pattern detected
dLab(showLabel, labelColor, textColor) Produces "Doji" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
bullEngulf(maxRejectWick, mustEngulfWick) Detects "Bullish Engulfing" candle patterns
Parameters:
maxRejectWick : (float) Maximum rejection wick size.
The maximum wick size as a percentge of body size allowable for a top wick on the resolution candle of the pattern. 0.0 disables the filter.
eg. 50 allows a top wick half the size of the body. Default is 0% (Disables wick detection).
mustEngulfWick : (bool) input to only detect setups that close above the high prior effectively engulfing the candle in its entirety. Default is false
Returns: (series bool) True when pattern detected
bewLab(showLabel, labelColor, textColor) Produces "Bullish Engulfing" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
bearEngulf(maxRejectWick, mustEngulfWick) Detects "Bearish Engulfing" candle patterns
Parameters:
maxRejectWick : (float) Maximum rejection wick size.
The maximum wick size as a percentge of body size allowable for a bottom wick on the resolution candle of the pattern. 0.0 disables the filter.
eg. 50 allows a botom wick half the size of the body. Default is 0% (Disables wick detection).
mustEngulfWick : (bool) Input to only detect setups that close below the low prior effectively engulfing the candle in its entirety. Default is false
Returns: (series bool) True when pattern detected
bebLab(showLabel, labelColor, textColor) Produces "Bearish Engulfing" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
hammer(ratio, shadowPercent) Detects "Hammer" candle patterns
Parameters:
ratio : (float) The relationship of body to candle size (ie. body is 33% of total candle size). Default is 33%.
shadowPercent : (float) The maximum allowable top wick size as a percentage of body size. Default is 5%.
Returns: (series bool) True when pattern detected
hLab(showLabel, labelColor, textColor) Produces "Hammer" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
star(ratio, shadowPercent) Detects "Star" candle patterns
Parameters:
ratio : (float) The relationship of body to candle size (ie. body is 33% of total candle size). Default is 33%.
shadowPercent : (float) The maximum allowable bottom wick size as a percentage of body size. Default is 5%.
Returns: (series bool) True when pattern detected
ssLab(showLabel, labelColor, textColor) Produces "Star" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
dragonflyDoji() Detects "Dragonfly Doji" candle patterns
Returns: (series bool) True when pattern detected
ddLab(showLabel, labelColor) Produces "Dragonfly Doji" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
Returns: (series label) A label visible at the chart level intended for the title pattern
gravestoneDoji() Detects "Gravestone Doji" candle patterns
Returns: (series bool) True when pattern detected
gdLab(showLabel, labelColor, textColor) Produces "Gravestone Doji" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
tweezerBottom(closeUpperHalf) Detects "Tweezer Bottom" candle patterns
Parameters:
closeUpperHalf : (bool) input to only detect setups that close above the mid-point of the candle prior increasing its bullish tendancy. Default is false
Returns: (series bool) True when pattern detected
tbLab(showLabel, labelColor, textColor) Produces "Tweezer Bottom" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
tweezerTop(closeLowerHalf) Detects "TweezerTop" candle patterns
Parameters:
closeLowerHalf : (bool) input to only detect setups that close below the mid-point of the candle prior increasing its bearish tendancy. Default is false
Returns: (series bool) True when pattern detected
ttLab(showLabel, labelColor, textColor) Produces "TweezerTop" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
spinningTopBull(wickSize) Detects "Bullish Spinning Top" candle patterns
Parameters:
wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body.
Returns: (series bool) True when pattern detected
stwLab(showLabel, labelColor, textColor) Produces "Bullish Spinning Top" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
spinningTopBear(wickSize) Detects "Bearish Spinning Top" candle patterns
Parameters:
wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body.
Returns: (series bool) True when pattern detected
stbLab(showLabel, labelColor, textColor) Produces "Bearish Spinning Top" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
spinningTop(wickSize) Detects "Spinning Top" candle patterns
Parameters:
wickSize : (float) input to adjust detection of the size of the top wick/ bottom wick as a percent of total candle size. Default is 34%, which ensures the wicks are both larger than the body.
Returns: (series bool) True when pattern detected
stLab(showLabel, labelColor, textColor) Produces "Spinning Top" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
morningStar() Detects "Bullish Morning Star" candle patterns
Returns: (series bool) True when pattern detected
msLab(showLabel, labelColor, textColor) Produces "Bullish Morning Star" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
eveningStar() Detects "Bearish Evening Star" candle patterns
Returns: (series bool) True when pattern detected
esLab(showLabel, labelColor, textColor) Produces "Bearish Evening Star" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
haramiBull() Detects "Bullish Harami" candle patterns
Returns: (series bool) True when pattern detected
hwLab(showLabel, labelColor, textColor) Produces "Bullish Harami" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
haramiBear() Detects "Bearish Harami" candle patterns
Returns: (series bool) True when pattern detected
hbLab(showLabel, labelColor, textColor) Produces "Bearish Harami" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
haramiBullCross() Detects "Bullish Harami Cross" candle patterns
Returns: (series bool) True when pattern detected
hcwLab(showLabel, labelColor, textColor) Produces "Bullish Harami Cross" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
haramiBearCross() Detects "Bearish Harami Cross" candle patterns
Returns: (series bool) True when pattern detected
hcbLab(showLabel, labelColor) Produces "Bearish Harami Cross" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
Returns: (series label) A label visible at the chart level intended for the title pattern
marubullzu() Detects "Bullish Marubozu" candle patterns
Returns: (series bool) True when pattern detected
mwLab(showLabel, labelColor, textColor) Produces "Bullish Marubozu" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
marubearzu() Detects "Bearish Marubozu" candle patterns
Returns: (series bool) True when pattern detected
mbLab(showLabel, labelColor, textColor) Produces "Bearish Marubozu" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
abandonedBull() Detects "Bullish Abandoned Baby" candle patterns
Returns: (series bool) True when pattern detected
abwLab(showLabel, labelColor, textColor) Produces "Bullish Abandoned Baby" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
abandonedBear() Detects "Bearish Abandoned Baby" candle patterns
Returns: (series bool) True when pattern detected
abbLab(showLabel, labelColor, textColor) Produces "Bearish Abandoned Baby" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
piercing() Detects "Piercing" candle patterns
Returns: (series bool) True when pattern detected
pLab(showLabel, labelColor, textColor) Produces "Piercing" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
darkCloudCover() Detects "Dark Cloud Cover" candle patterns
Returns: (series bool) True when pattern detected
dccLab(showLabel, labelColor, textColor) Produces "Dark Cloud Cover" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
tasukiBull() Detects "Upside Tasuki Gap" candle patterns
Returns: (series bool) True when pattern detected
utgLab(showLabel, labelColor, textColor) Produces "Upside Tasuki Gap" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
tasukiBear() Detects "Downside Tasuki Gap" candle patterns
Returns: (series bool) True when pattern detected
dtgLab(showLabel, labelColor, textColor) Produces "Downside Tasuki Gap" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
risingThree() Detects "Rising Three Methods" candle patterns
Returns: (series bool) True when pattern detected
rtmLab(showLabel, labelColor, textColor) Produces "Rising Three Methods" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
fallingThree() Detects "Falling Three Methods" candle patterns
Returns: (series bool) True when pattern detected
ftmLab(showLabel, labelColor, textColor) Produces "Falling Three Methods" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
risingWindow() Detects "Rising Window" candle patterns
Returns: (series bool) True when pattern detected
rwLab(showLabel, labelColor, textColor) Produces "Rising Window" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
fallingWindow() Detects "Falling Window" candle patterns
Returns: (series bool) True when pattern detected
fwLab(showLabel, labelColor, textColor) Produces "Falling Window" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
kickingBull() Detects "Bullish Kicking" candle patterns
Returns: (series bool) True when pattern detected
kwLab(showLabel, labelColor, textColor) Produces "Bullish Kicking" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
kickingBear() Detects "Bearish Kicking" candle patterns
Returns: (series bool) True when pattern detected
kbLab(showLabel, labelColor, textColor) Produces "Bearish Kicking" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
lls(ratio) Detects "Long Lower Shadow" candle patterns
Parameters:
ratio : (float) A relationship of the lower wick to the overall candle size expressed as a percent. Default is 75%
Returns: (series bool) True when pattern detected
llsLab(showLabel, labelColor, textColor) Produces "Long Lower Shadow" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
lus(ratio) Detects "Long Upper Shadow" candle patterns
Parameters:
ratio : (float) A relationship of the upper wick to the overall candle size expressed as a percent. Default is 75%
Returns: (series bool) True when pattern detected
lusLab(showLabel, labelColor, textColor) Produces "Long Upper Shadow" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
bullNeck() Detects "Bullish On Neck" candle patterns
Returns: (series bool) True when pattern detected
nwLab(showLabel, labelColor, textColor) Produces "Bullish On Neck" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
bearNeck() Detects "Bearish On Neck" candle patterns
Returns: (series bool) True when pattern detected
nbLab(showLabel, labelColor, textColor) Produces "Bearish On Neck" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
soldiers(wickSize) Detects "Three White Soldiers" candle patterns
Parameters:
wickSize : (float) Maximum allowable top wick size throughout pattern expressed as a percent of total candle height. Default is 5%
Returns: (series bool) True when pattern detected
wsLab(showLabel, labelColor, textColor) Produces "Three White Soldiers" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
crows(wickSize) Detects "Three Black Crows" candle patterns
Parameters:
wickSize : (float) Maximum allowable bottom wick size throughout pattern expressed as a percent of total candle height. Default is 5%
Returns: (series bool) True when pattern detected
bcLab(showLabel, labelColor, textColor) Produces "Three Black Crows" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
triStarBull() Detects "Bullish Tri-Star" candle patterns
Returns: (series bool) True when pattern detected
tswLab(showLabel, labelColor, textColor) Produces "Bullish Tri-Star" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
triStarBear() Detects "Bearish Tri-Star" candle patterns
Returns: (series bool) True when pattern detected
tsbLab(showLabel, labelColor, textColor) Produces "Bearish Tri-Star" identifier label
Parameters:
showLabel : (bool) Shows label when input is true. Default is false
labelColor : (series color) Color of the label border and arrow
textColor : (series color) Text color
Returns: (series label) A label visible at the chart level intended for the title pattern
wrap(cond, barsBack, borderColor, bgcolor) Produces a box wrapping the highs and lows over the look back.
Parameters:
cond : (series bool) Condition under which to draw the box.
barsBack : (series int) the number of bars back to begin drawing the box.
borderColor : (series color) Color of the four borders. Optional. The default is color.gray.
bgcolor : (series color) Background color of the box. Optional. The default is color.gray.
Returns: (series box) A box who's top and bottom are above and below the highest and lowest points over the lookback
topWick() returns the top wick size of the current candle
Returns: (series float) A value equivelent to the distance from the top of the candle body to its high
bottomWick() returns the bottom wick size of the current candle
Returns: (series float) A value equivelent to the distance from the bottom of the candle body to its low
body() returns the body size of the current candle
Returns: (series float) A value equivelent to the distance between the top and the bottom of the candle body
highestBody() returns the highest body of the current candle
Returns: (series float) A value equivelent to the highest body, whether it is the open or the close
lowestBody() returns the lowest body of the current candle
Returns: (series float) A value equivelent to the highest body, whether it is the open or the close
barRange() returns the height of the current candle
Returns: (series float) A value equivelent to the distance between the high and the low of the candle
bodyPct() returns the body size as a percent
Returns: (series float) A value equivelent to the percentage of body size to the overall candle size
midBody() returns the price of the mid-point of the candle body
Returns: (series float) A value equivelent to the center point of the distance bewteen the body low and the body high
bodyupGap() returns true if there is a gap up between the real body of the current candle in relation to the candle prior
Returns: (series bool) true if there is a gap up and no overlap in the real bodies of the current candle and the preceding candle
bodydwnGap() returns true if there is a gap down between the real body of the current candle in relation to the candle prior
Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
gapUp() returns true if there is a gap down between the real body of the current candle in relation to the candle prior
Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
gapDwn() returns true if there is a gap down between the real body of the current candle in relation to the candle prior
Returns: (series bool) true if there is a gap down and no overlap in the real bodies of the current candle and the preceding candle
dojiBody() returns true if the candle body is a doji
Returns: (series bool) true if the candle body is a doji. Defined by a body that is 5% of total candle size