Stablecoin Supply Ratio Oscillator
The Stablecoin Supply Ratio Oscillator (SSRO) is a cryptocurrency indicator designed for mean reversion analysis and sentiment assessment. It calculates the ratio of CRYPTO:BTCUSD 's market capitalization to the sum of stablecoins' market capitalization and z-scores the result, offering insights into market sentiment and potential turning points.
Methodology:
The SSRO is calculated as follows-
method ssro(float src, array stblsrc, int len) =>
float ssr = src / stblsrc.sum() // Source of the underlying divided by the sum of stablecoin sources
(ssr - ta.sma(ssr, len)) / ta.stdev(ssr, len) // Z-Score Transformed
This ratio is Z-Scored to provide a standardized measure, allowing users to identify periods of market fear or greed based on the allocation of capital between the underlying and Stablecoins ( CRYPTOCAP:USDT , CRYPTOCAP:USDC , CRYPTO:TUSD , CRYPTOCAP:BUSD , CRYPTOCAP:DAI , CRYPTOCAP:USDD , CRYPTOCAP:FRAX ). The z-scored values indicate potential areas of discount (buying opportunities) or premium (selling opportunities) relative to historical patterns.
Customization:
Underlying Asset: SSRO is customizable to different underlying assets, offering a versatile tool for various cryptocurrencies.
Calculation Length: Users can adjust the length of the calculation, tailoring the indicator to short or long-term analysis.
Visualization: SSRO can be displayed as candles, providing a visual representation of premium and discount areas.
Interpretation:
Market Sentiment: Lower SSRO values may indicate market fear, suggesting a preference for stablecoins as a relatively safer haven for capital. Conversely, higher values may suggest market greed, as more capital is allocated to the underlying asset.
Utility and Use Cases:
1. Mean Reversion Analysis: SSRO identifies potential mean reversion opportunities, guiding traders on optimal entry and exit points.
2. Sentiment Analysis: The indicator provides insights into market sentiment, aiding traders in understanding market dynamics.
3. Macro Analysis: The majority of cryptos follow \ correlate to CRYPTO:BTCUSD , Therefore by assessing premium and discount areas of CRYPTO:BTCUSD relative to the chosen underlying asset, users gain insights into potential market tops and bottoms.
4. Divergence Analysis: SSRO divergence from price trends can signal potential reversals, providing traders with additional confirmation for their decisions.
The Stablecoin Supply Ratio Oscillator is a valuable tool for cryptocurrency traders, offering a nuanced perspective on market sentiment and mean reversion opportunities. Its customization options and visual representation make it a versatile and powerful addition to the crypto analyst's toolkit.
Cari dalam skrip untuk "usdt"
@tk · spectral█ OVERVIEW
This script is an indicator that helps traders to identify the price difference between spot and futures of the current crypto plotted into the chart. It works in both types of markets, when the chart is plotting the crypto in spot market, it will compare with its respective futures ticker and vice-versa. If the current asset isn't a crypt ticker, the indicator will not be plotted into the chart.
█ MOTIVATION
Since crypto's derivative market is based on spot market asset's price, to calculate the arbitrage mechanisms that attempts to balance the asset price, this indicator can help traders to identify some spot and futures price divergence that can create an anomaly of funding rate and can push it to an extreme negative — or positive — rate. So, easing to track the price difference between both markets will bring more evidences to identify an artificial price move, specially in crypto assets with low market cap.
█ CONCEPT
The trading concept to use this indicator is the concept of the arbitrage machamism created by exchanges that calculates the funding rate based on spot and futures price difference that will vary from exchange to exchange. This strategy don't works alone. It needs to be aligned together with others indicators like Exponential Moving Averages, Chart Patterns, Support and Resistance, and so on... Even more confluences that you have, bigger are your chances to increase the probability for a successful trade. So, don't use this indicator alone. Compose a trading strategy and use it to improve your analysis.
█ CUSTOMIZATION
This indicator allows the trader to customize the following settings:
GENERAL
Text size
Changes the font size of price difference table to improve accessibility.
Type: string
Options: `tiny`, `small`, `normal`, `large`.
Default: `small`
Position
Changes the position of price difference table.
Type: string
Options: `top_left`, `top_center`, `top_right`, `middle_left`, `middle_center`, `middle_right`, `bottom_left`, `bottom_center`, `bottom_right`.
Default: `bottom_right`
Pair Quote
The ticker quote symbol that will be used to base the ticker comparison from spot to futures (e.g. BTCUSDT which `USDT` is the quote. ETHBTC which `BTC` is the quote).
Type: string
Default: USDT
Spectrum Color
The color of the spectrum candles. Spectrum candles are the candles of the opposite market. If the current ticker is in the spot market, the spectrum candles will be the price of the futures market.
Type: color
Default: #434651
█ FUNCTIONS
The indicator contains the following functions:
stripStarts(src, str)
Strips a defined pattern from a string.
Parameters:
src: (string) Source string
str: (string) String pattern to be stripped from start of source string.
Returns: (string) Stripped string with matched regex pattern.
Volume ValueWhen VelocityTitle: Volume ValueWhen Velocity Trading Strategy
▶ Introduction:
The " Volume ValueWhen Velocity " trading strategy is designed to generate long position signals based on various technical conditions, including volume thresholds, RSI (Relative Strength Index), and price action relative to the Simple Moving Average (SMA). The strategy aims to identify potential buy opportunities when specific criteria are met, helping traders capitalize on potential bullish movements.
▶ How to use and conditions
★ Important : Only on Spot Binance BINANCE:BTCUSDT
Name: Volume ValueWhen Velocity
Operating mode: Long on Spot BINANCE BINANCE:BTCUSDT
Timeframe: Only one hour
Market: Crypto
currency: Bitcoin only
Signal type: Medium or short term
Entry: All sections in the Technical Indicators and Conditions section must be saved to enter (This is explained below)
Exit: Based on loss limit and profit limit It is removed in the settings section
Backtesting:
⁃ Exchange: BINANCE BINANCE:BTCUSDT
⁃ Pair: BTCUSDT
⁃ Timeframe:1h
⁃ Fee: 0.1%
- Initial Capital: 1,000 USDT
- Position sizing: 500 usdt
-Trading Range: 2022-07-01 11:30 ___ 2023-07-21 14:30
▶ Strategy Settings and Parameters:
1. `strategy(title='Volume ValueWhen Velocity', ...`: Sets the strategy title, initial capital, default quantity type, default quantity value, commission value, and trading currency.
↬ Stop-Loss and Take-Profit Settings:
1. long_stoploss_value and long_stoploss_percentage : Define the stop-loss percentage for long positions.
2. long_takeprofit_value and long_takeprofit_percentage : Define the take-profit percentage for long positions.
↬ ValueWhen Occurrence Parameters:
1. occurrence_ValueWhen_1 and occurrence_ValueWhen_2 : Control the occurrences of value events.
2. `distance_value`: Specifies the minimum distance between occurrences of ValueWhen 1 and ValueWhen 2.
↬ RSI Settings:
1. rsi_over_sold and rsi_length : Define the oversold level and RSI length for RSI calculations.
↬ Volume Thresholds:
1. volume_threshold1 , volume_threshold2 , and volume_threshold3 : Set the volume thresholds for multiple volume conditions.
↬ ATR (Average True Range) Settings:
1. atr_small and atr_big : Specify the periods used to calculate the Average True Range.
▶ Date Range for Back-Testing:
1. start_date, end_date, start_month, end_month, start_year, and end_year : Define the date range for back-testing the strategy.
▶ Technical Indicators and Conditions:
1. rsi: Calculates the Relative Strength Index (RSI) based on the defined RSI length and the closing prices.
2. was_over_sold: Checks if the RSI was oversold in the last 10 bars.
3. getVolume and getVolume2 : Custom functions to retrieve volume data for specific bars.
4. firstCandleColor : Evaluates the color of the first candle based on different timeframes.
5. sma : Calculates the Simple Moving Average (SMA) of the closing price over 13 periods.
6. numCandles : Counts the number of candles since the close price crossed above the SMA.
7. atr1 : Checks if the ATR_small is less than ATR_big for the specified security and timeframe.
8. prevClose, prevCloseBarsAgo, and prevCloseChange : ValueWhen functions to calculate the change in the close price between specific occurrences.
9. atrval: A condition based on the ATR_value3.
▶ Buy Signal Condition:
Condition: A combination of multiple volume conditions.
buy_signal: The final buy signal condition that considers various technical conditions and their interactions.
▶ Long Strategy Execution:
1. The strategy will enter a long position (buy) when the buy_signal condition is met and within the specified date range.
2. A stop-loss and take-profit will be set for the long position to manage risk and potential profits.
▶ Conclusion:
The " Volume ValueWhen Velocity " trading strategy is designed to identify long position opportunities based on a combination of volume conditions, RSI, and price action. The strategy aims to capitalize on potential bullish movements and utilizes a stop-loss and take-profit mechanism to manage risk and optimize potential returns. Traders can use this strategy as a starting point for their own trading systems or further customize it to suit their preferences and risk appetite. It is crucial to thoroughly back-test and validate any trading strategy before deploying it in live markets.
↯ Disclaimer:
Risk Management is crucial, so adjust stop loss to your comfort level. A tight stop loss can help minimise potential losses. Use at your own risk.
How you or we can improve? Source code is open so share your ideas!
Leave a comment and smash the boost button!
Mizar_LibraryThe "Mizar_Library" is a powerful tool designed for Pine Script™ programmer’s, providing a collection of general functions that facilitate the usage of Mizar’s DCA (Dollar-Cost-Averaging) bot system.
To begin using the Mizar Library, you first need to import it into your indicator script. Insert the following line below your indicator initiation line: import Mizar_Trading/Mizar_Library/1 as mizar (mizar is the chosen alias).
In the import statement, Mizar_Trading.Mizar_Library_v1 refers to the specific version of the Mizar Library you wish to use. Feel free to modify mizar to your preferred alias name.
Once the library is imported, you can leverage its functions by prefixing them with mizar. . This will prompt auto-completion suggestions displaying all the available user-defined functions provided by the Mizar Library.
Now, let's delve into some of the key functions available in the Mizar Library:
DCA_bot_msg(_cmd)
The DCA_bot_msg function accepts an user-defined type (UDT) _cmd as a parameter and returns a string with the complete JSON command for a Mizar DCA bot.
Parameters:
_cmd (bot_params) : ::: User-defined type (UDT) that holds all the necessary information for the bot command.
Returns: A string with the complete JSON command for a Mizar DCA bot.
rounding_to_ticks(value, ticks, rounding_type)
The rounding_to_ticks function rounds a calculated price to the nearest actual price based on the specified tick size.
Parameters:
value (float) : ::: The calculated price as float type, to be rounded to the nearest real price.
ticks (float) : ::: The smallest possible price obtained through a request in your script.
rounding_type (int) : ::: The rounding type for the price: 0 = closest real price, 1 = closest real price above, 2 = closest real price below.
Returns: A float value representing the rounded price to the next tick.
bot_params
Bot_params is an user-defined type (UDT) that represents the parameters required for a Mizar DCA bot.
Fields:
bot_id (series string) : The ID number of your Mizar DCA bot.
api_key (series string) : Your private API key from your Mizar account (keep it confidential!).
action (series string) : The command to perform: "open" (standard) or "close" optional .
tp_perc (series string) : The take profit percentage in decimal form (1% = "0.01") optional .
base_asset (series string) : The cryptocurrency you want to buy (e.g., "BTC").
quote_asset (series string) : The coin or fiat currency used for payment (e.g., "USDT" is standard if not specified) optional .
direction (series string) : The direction of the position: "long" or "short" (only applicable for two-way hedge bots) optional .
To obtain the JSON command string for the alert_function call, you can use the DCA_bot_msg function provided by the library. Simply pass the cmd_msg UDT as an argument and assign the returned string value to a variable.
Here's an example to illustrate the process:
// Import of the Mizar Library to use the included functions
import/Mizar_Trading/Mizar_Library/1 as mizar
// Example to set a variable called “cmd_msg” and all of its parameters
cmd_msg = mizar.bot_params. new()
cmd_msg.action := "open"
cmd_msg.api_key := "top secret"
cmd_msg.bot_id := "9999"
cmd_msg.base_asset := "BTC"
cmd_msg.quote_asset := "USDT"
cmd_msg.direction := "long"
cmd_msg.tp_perc := "0.015"
// Calling the Mizar conversion function named “DCA_bot_msg()” with the cmd_msg as argument to receive the JSON command and save it in a string variable called “alert_msg”
alert_msg = mizar.DCA_bot_msg(cmd_msg)
Feel free to utilize (series) string variables instead of constant strings. By incorporating the Mizar Library into your Pine Script, you gain access to a powerful set of functions and can leverage them according to your specific requirements.
For additional help or support, you can join the Mizar Discord channel. There, you'll find a dedicated Pine Script channel where you can ask any questions related to Pine Script.
Liquidation Levels on OIThis indicator is used to display estimated contract liquidation prices. When there are dense liquidation areas on the chart, it indicates that there may be a lot of liquidity at that price level. The horizontal lines of different colors on the chart represent different leverage ratios. See below for details.
Let me introduce the principle behind this indicator:
1. When position trading volume increases or decreases significantly higher than usual levels in a specific candlestick chart, it indicates that a large number of contracts were opened during that period. We use the 60-day moving average change as a benchmark line. If the position trading volume changes more than 1.2x, 2x or 3x its MA60 value, it is considered small, medium or large abnormal increase or decrease.
2. This indicator takes an approximate average between high, open, low and close prices of that candlestick as opening price.
3. Since contracts involve liquidity provided by both buyers and sellers with equal amounts of long and short positions corresponding to each contract respectively; since we cannot determine actual settlement prices for contract positions; therefore this indicator estimates settlement prices instead which marks five times (5x), ten times (10x), twenty-five times (25x), fifty times (50x) and one hundred times (100x) long/short settlement prices corresponding to each candlestick chart generating liquidation lines with different colors representing different leverage levels.
4. We can view areas where dense liquidation lines appear as potential liquidation zones which will have high liquidity.
5. We can adjust orders based on predicted liquidation areas because most patterns in these areas will be quickly broken.
6. We provide a density histogram to display the liquidation density of each price range.
Special thanks to the following TradingView community members for providing open-source indicators and contributing to the development of this indicator!
Liquidation - @Mysterysauce
Open Interest Delta - By Leviathan - @LeviathanCapital
Regarding the relationship with the above-mentioned open source indicators:
1. Indicator Liquidation - @Mysterysauce can also draw a liquidation line in the chart, but:
(1) Our indicator generates a liquidation line based on abnormal changes in open interest; their indicator generates a liquidation line based on trading volume.
(2) Our indicator will generate both long and short liquidation lines at the same time; their indicator will only generate a liquidation line in a single direction.
We refer to their method of drawing liquidation lines when drawing our own.
2. Indicator Open Interest Delta - By Leviathan - @LeviathanCapital obtained OI data for Binance USDT perpetual contracts in the code. We refer to their method of obtaining OI data in our code.
============= 中文版本 =============
此指标用于显示估计合约清算价格。当图表上有密集的清算区域时,表示该价格水平可能存在大量流动性。图表上不同颜色的水平线代表不同杠杆比率。详情请参见下面的说明。
让我介绍一下这个指标背后的原理:
1. 当特定蜡烛图对应的合约仓位增加量(OI Delta)显著高于通常水平时,表示在那段时间有大量合约开仓。我们使用OI Delta的60日移动均线作为基准线。如果OI Delta超过其MA60值的1.2倍、2倍或3倍,则认为是小型、中型或大型的异常OI Delta。
2. 该指标将上述蜡烛图高、开、低和收盘价的平均值作为近似的合约开仓价。
3. 由于合约涉及买方和卖方之间相互提供流动性,每个合约对应相等数量的多头和空头头寸。由于我们无法确定合约头寸的实际清算价格,因此该指标估计了清算价格。它标记了与该蜡烛图相对应的多头和空头5倍、10倍、25倍、50倍和100倍的清算价格,生成清算线。不同杠杆水平用不同颜色表示。
4. 我们可以将出现密集清算线的区域视为潜在的清算区域。这些区域将具有高流动性。
5. 我们可以根据预测到的清算区域调整自己的订单,因为根据规律,这些清算区域大部分都会很快被击穿。
6. 我们提供了密度直方图来显示每个价格范围的清算密度
特别感谢以下TradingView社区成员提供开源指标并为该指标的开发做出贡献!
Liquidation - @Mysterysauce
Open Interest Delta - By Leviathan - @LeviathanCapital
与上述开源指标的关系:
1. 指标Liquidation - @Mysterysauce也可以在图中绘制清算线,但是:
(1)我们的指标是基于open interest的异常变化生成的清算线;他们的指标是基于成交量生成的清算线
(2)我们的指标会同时生成多头和空头清算线;他们的指标仅会在单一方向生成清算线
我们的指标在绘制清算线上参考了他们绘制清算线的方式
2. 指标Open Interest Delta - By Leviathan - @LeviathanCapital在代码中获取了Binance USDT永续合约的OI数据。我们在代码中参考他们获取OI数据的方式
Open Interest OffsetThis indicator is used to display whether there has been an abnormal increase or decrease in recent contract positions. Its usage is similar to the RSI indicator.
Please note that this indicator uses fixed (customizable) thresholds of 0.4 and 0.6 to indicate when abnormal opening and closing occur respectively. For some altcoins, their values may far exceed 0.4 so please adjust accordingly based on your symbol.
(1) When there is an abnormal increase in recent contract positions, the value of the indicator will be above 0.4. This means that there may be a liquidation market situation occurring subsequently. If the market background at this time is rising, it may not be suitable to continue buying because the indicator shows that it is currently overbought. On the contrary, it may be appropriate to sell now.
(2) When there is an abnormal decrease in recent contract positions, the value of the indicator will be below -0.4. This means that a liquidation market situation has occurred recently. If the market background at this time is falling, it may not be suitable to continue shorting because the indicator shows that it is currently oversold. On the contrary, it may be appropriate to buy now.
Special thanks to the following TradingView community members for providing open-source indicators and contributing to the development of this indicator!
Open Interest Delta - By Leviathan - @LeviathanCapital
Regarding the relationship with the above-mentioned open source indicator:
Indicator Open Interest Delta - By Leviathan - @LeviathanCapital obtained OI data for Binance USDT perpetual contracts in the code. We refer to their method of obtaining OI data in our code.
============= 中文版本 =============
该指标用于显示近期合约持仓量是否有异常的增加和减少。它的用法类似于RSI指标
请注意,该指标使用了固定的(可定制的)阈值0.4和0.6来提示异常开仓和平仓的发生。对于某些山寨币而言,指标的数值可能远大于0.4。请根据你所关注的标的自行调整
(1)当近期合约持仓量有异常的增加时,指标的值会在0.4以上。这意味着后续可能有清算行情的发生。若此时市场背景为上涨,此时可能不太适合继续做多,因为指标显示目前处于超买行情。相反,现在可能适合卖出
(2)当近期合约的持仓量有异常的减少时,指标的值会在-0.4以下。这意味着近期已经发生了清算行情。若此时市场背景为下跌,此时可能不太适合继续做空,因为指标显示目前处于超卖行情。相反,现在可能适合买入
特别感谢以下TradingView社区成员提供开源指标并为该指标的开发做出贡献!
Open Interest Delta - By Leviathan - @LeviathanCapital
与上述开源指标的关系:
指标Open Interest Delta - By Leviathan - @LeviathanCapital在代码中获取了Binance USDT永续合约的OI数据。我们在代码中参考他们获取OI数据的方式
Stable Coin Dominance RSIThe Stable Coin Dominance RSI evaluates the relative dominance of stable coins within the crypto ecosystem as compared to the total market cap. As stable coin dominance rises, it suggests that market participants are exiting out of crypto assets and into dollar pegged stable coins. The opposite is true inversely; as stable coin dominance diminishes, it suggests that market participants are divesting out of stable coins and into crypto assets.
Stable coin dominance can be expressed as a percentage of the total market cap as follows: Stable Coins / Total Crypto. The Stable Coin Dominance RSI indicator uses this percentage and converts it into an oscillator using the formula for the relative strength index.
The calculation for the indicator is: RSI
The users can select from USDT and USDC, two most dominant stable tokens by market cap, and compare their relative dominance against Bitcoin and the alt market.
The Stable Coin Dominance RSI may be useful on larger timeframes when attempting to identify the market’s appetite for risk along with oversold and undersold readings which may indicate pivots or turn arounds along market extremes.
The limitation of the indicator lies in the fact that stable coins continue to make up a growing percentage of the total market cap over time and thus comparisons to earlier cycles will not be a perfect apples-to-apples evaluation. This being said, the smoothing function of the RSI’s look back helps to moderate these comparative differences.
Trade HourThis script is just finds the best hour to buy and sell hour in a day by checking chart movements in past
For example if the red line is on the 0.63 on BTC/USDT chart it mean the start of 12AM hour on a day is the best hour to buy (all based on
It's just for 1 hour time-frame but you can test it on other charts.
IMPORTANT: You can change time Zone in strategy settings.to get the real hours as your location timezone
IMPORTANT: Its for now just for BTC/USDT but you can optimize and test for other charts...
IMPORTANT: A green and red background color calculated for show the user the best places of buy and sell (green : positive signal, red: negative signals)
settings :
timezone : We choice a time frame for our indicator as our geo location
source : A source to calculate rate of change for it
Time Period : Time period of ROC indicator
About Calculations:
1- We first get a plot that just showing the present hour as a zigzag plot
2- So we use an indicator ( Rate of change ) to calculate chart movements as positive and negative numbers. I tested ROC is the best indicator but you can test close-open or real indicator or etc as indicator.
3 - for observe effects of all previous data we should indicator_cum that just a full sum of indicator values.
4- now we need to split this effects to hours and find out which hour is the best place to buy and which is the best for sell. Ok we should just calculate multiple of hour*indicator and get complete sum of it so:
5- we will divide this number to indicator_cum : (indicator_mul_hour_cum) / indicator_cum
6- Now we have the best hour to buy! and for best sell we should just reverse the ROC indicator and recalculate the best hour for it!
7- A green and red background color calculated for show the user the best places of buy and sell that dynamically changing with observing green and red plots(green : positive signal, red: negative signals) when green plot on 15 so each day on hour 15 the background of strategy indicator will change to 15 and if its go upper after some days and reached to 16 the background green color will move to 16 dynamically.
R19 STRATEGYHello again.
Let me introduce you R19 Strategy I wrote for mostly BTC long/short signals
This is an upgrated version of STRATEGY R18 F BTC strategy.
I checked this strategy on different timeframes and different assest and found it very usefull for BTC 1 Hour and 5 minutes chart.
Strategy is basically takes BTC/USDT as a main indicator, so you can apply this strategy to all cryptocurrencies as they mostly acts accordingly with BTC itself (Of course you can change main indicator to different assets if you think that there is a positive corelation with. i.e. for BTC signals you can sellect DXY index for main indicator to act for BTC long/short signals)
Default variables of the inticator is calibrated to BTC/USDT 5 minute chart. I gained above %77 success.
Strategy simply uses, ADX, MACD, SMA, Fibo, RSI combination and opens positions accordingly. Timeframe variable is very important that, strategy decides according the timeframe you've sellected but acts within the timeframe in the chart. For example, if you're on the 5 minutes chart, but you've selected 1 hour for the time frame variable, strategy looks for 1 hour MACD crossover for opening a position, but this happens in 5 minutes candle, It acts quickly and opens the position.
Strategy also uses a trailing stop loss feature. You can determine max stoploss, at which point trailing starts and at which distance trailing follows. The green and red lines will show your stoploss levels according to the position strategy enters (green for long, red for short stop loss levels). When price exceeds to the certaing levels of success, stop loss goes with the profitable price (this means, when strategy opens a position, you can put your stop loss to the green/red line in actual trading)
You can fine tune strategy to all assets.
Please write down your comments if you get more successfull about different time zones and different assets. And please tell me your fine tuning levels of this strategy as well.
See you all.
threengine_global_automation_libraryLibrary "threengine_global_automation_library"
A collection of functions used for trade automation
getBaseCurrency()
Gets the base currency for the chart's ticker. Supported trade pairs are USD, USDT, USDC, BTC, and PERP.
Returns: Base currency as a string
getChartSymbol()
Get the current chart's symbol without the base currency appended to it. Supported trade paris are USD, USDT, USDC, BTC, and PERP.
Returns: Ssymbol and base currency
getDecimals()
Calculates how many decimals are on the quote price of the current market
Returns: The current deimal places on the market quote price
checkVar()
Plot a string as a label on the chart to test variable value. Use str.tostring() for any variable that isn't a string.
Returns: Label with stringified variable
getStrategyAlertMessage()
Generates stringified JSON for a limit order that can be passed to the strategy alert_message for a long entry.
Returns: Stringifed JSON for a long entry
taGetAdx()
Calculates the Average Directional Index
Returns: The value of ADX as a float
taGetEma()
Calculates the EMA based on a type, source, and length. Supported types are EMA, SMA, RMA, and WMA.
Returns: The value of the selected EMA
isBetweenTwoTimes()
Checks to see if within a rage based on two times
@retunrs true/false boolean
getAllTradeIDs()
This gets all closed trades and open trades
@retunrs an array of all open and closed trade ID's
getOpenTradeIDs()
This gets all open trades
@retunrs an array of all open trade ID's
orderAlreadyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
@retunrs an array of all open and closed trade ID's
orderCurrentlyExists()
This checks to see if a provided order id uses the getAllTradeIDs() function to check
Returns: an array of all open and closed trade ID's
getContractCount()
calulates the number of contracts you can buy with a set amount of capital and a limit price
Returns: number of contracts you can buy based on amount of capital you want to use and a price
getLadderSteps()
Returns: array of ladder entry prices and amounts based on total amount you want to invest across all ladder rungs and either a range between ladderStart and LadderStop based on specificed number of ladderRungs OR ladderStart, ladderRungs, and LadderSpacingPercent
4 main Stablecoin MarketCapThis indicator summarized 4 main stablecoin marketcap (USDT, USDC , BUSD, DAI).
It is given that most of the transactions of cryptocurrencies are traded by stablecoins, and USDT, USDC , BUSD and DAI shared 90%+ of the stablecoins market capacity. Therefore, by summarizing these 4 main stablecoins total market capacity, can reflect the overall demand power.
When the indicator goes up, it is expected that the overall market demand will increase.
When the indicator goes down, it is expected that the cryptocurrencies market might be in a recession.
This indicator could be more useful in a longer timeframe, day-trade or even shorter might not be the suitable timeframe.
-----------------------------------------
V2 update
Separate 4 sectors and shadowed in different colors for 4 different stablecoins for more accurated view.
ALL Ticker ID informationAn example and overview of the syminfo and tickerid functions to be able to access different tools.
Here is an example of accessing the Bitfinex exchange (and requesting "instrument name") when another exchange is open (BINANCE:BTCUSDT)
There is a difference in name between BINANCE:BTCUSDT and BITFINEX:BTCUSD exchanges
Try swapping //
T = "BITFINEX:"+str.tostring(syminfo.basecurrency)+"USDT"
//T = "BITFINEX:"+str.tostring(syminfo.basecurrency)+"USD"
The script will show that this instrument does not exist "Error in the value of the instrument. There is no such currency!"
Implemented Resolve error handling with the ignore_invalid_symbol=true parameter, this gives further processing of the script without errors.
----------------------------------------------------------
Пример и обзор функций syminfo и tickerid для возможности доступа к разным инструментам.
Здесь реализован пример доступа к бирже Bitfinex(и запрос "названия инструмента"), когда открыта другая биржа (BINANCE:BTCUSDT)
Существует разница в названии между биржами BINANCE:BTCUSDT и BITFINEX:BTCUSD
Попробуйте поменять // местами
T = "BITFINEX:"+str.tostring(syminfo.basecurrency)+"USDT"
//T = "BITFINEX:"+str.tostring(syminfo.basecurrency)+"USD"
Скрипт выдаст, что данного инструмента нет "Ошибка в значении инструмента. Такой валюты нет!"
Реализована Обработка ошибки Resolve error с помощью параметра ignore_invalid_symbol=true это дает дальнейшую обработку скрипта без ошибок.
Smart RebalanceThis script is based on the portfolio rebalancing strategy. It's designed to work with cryptocurrencies, but it can work with any market.
How portfolio rebalance works?
Let's assume your initial capital is $1000, and you want to distribute it into 4 coins. This script takes the USDT as the stable coin for the initial money, so in case you want other currency, the pairs must be with that fiat as the quote.
Following our example, you would take BTC, ETH, BNB, and FTT. After selecting the coins, it's time to choose how much allocation is on each. Let's put 25% on each. This way, $250 of our capital on each coin.
After selecting the coins and their allocation, you choose the price change ratio for rebalancing. Let's use 1%. Next, you start to watch the markets. The first thing that happens, following our example, is the BTCUSDT price moving 1% up.
That amount hit the ratio of 1% for the rebalance. Hence, you sell 1% of BTC for USDT and redistribute to the other coins, buying 0.25% of each currency to rebalance the portfolio.
Next, ETHUSDT goes 1% down, time to rebalance again. This time, you need to take 0.33% of each other coin and buy ETH, so this way, it's all divided as the chosen allocation.
Why use rebalancing?
Looks easy, right? It is, but very time demanding. Demands even more if you raise the number of coins you want to distribute. Having a system to do that automatically is a must to work efficiently. Rebalancing spreads the risk among multiple currencies. This way, you earn small when it goes up, but you lose small when it goes down.
What this script helps with portfolio rebalance?
This indicator will not buy/sell for you but will help you choose the best markets for your rebalancing. Which coin will work best in that period? Do I need to have more than 8 coins? How much must be my ratio? Those questions you can answer using this indicator.
What this script has?
Start and End dates
The script will work for a certain period. All calculations will be done in that period.
Coin Ratio %
The amount of price movement of each asset that will be used to calculate the rebalancing
Initial Capital and Broker Fee
The amount of capital to be used on the rebalancing and the broker fee you want to use the strategy. The cost will be applied on every trade, buying or selling the coins.
Assets, allocations, and colors
It's possible to select from 2 to 10 assets to be used on the portfolio. Each purchase must have the allocation %. Suppose the sum of the allocations is different from 100%. In that case, a warning message will appear on the chart instead of the statistics.
Panel and tooltips
There is a panel with a summary of the results
Set allocations automatically
There is an option to make the indicator use the daily asset volume from the day before to determine the allocation percentage of each asset. This option is better if you are unsure how much allocation you want to use on each coin.
Use this indicator as a backtest for your rebalancing strategy. The selected market on the chart will not affect the calculation on this indicator, but the time frame will. The higher the time frame, the higher the coin ratio % must be.
About the code
The code is written to use arrays to store the values of each asset, making the calculations on each candle inside the time range. The for-loops are used to reduce the code length and make it easy to change the analysis of all assets. Finally, the script has some comments on the code.
Williams Fractals BUY/SELL signals indicatorThis indicator made with using Williams Fractals, 20 50 100 Moving Averages and Relative Strength Index. You can easily find entry points by using Long (L), Short (S) signals.
This is a 15min scalping strategy for BTC:USDT Perpetual pair. For use different pairs or TFs you may need to change settings.
How to use
****************
When flashing Long (L) or Short (S) signal you should wait until the candle closing for the confirmation.
After that candle closed with the signal, you can enter a trade in next candle opening.
Your SL should be 3.1% from etnry and TP should be 0.5% from entry for best results. (You can use Long Position / Short Position tool in Prediction and Measurement Tools in drawing pannel to calculate this. This settings only for BTC:USDT Perp 15 min TF. For other TFs or Pairs settings may vary. You can easily change these settings and backtest your own.)
After entering a trade you can be ignored next signals until close the trade.
To learn more about this strategy, please try the "Williams Fractals Strategy" I coded. Thank you!
kimchi(korea) premium percent - bithumb btc / binance btcThis script was created to confirm the fear of kimchi premium in the cryptocurrency market.
The basic operation formula is as follows.
premium(percent) = (BTC KRW - (BTC USDT x USD KRW) / (BTC USDT x USD KRW)) x 100
By calculating the premium, you can check melt up rally.
Looking at the chart, when kimchi's premium reaches 6-8 percent, BTC faces great volatility (mainly downside).
So, a color warning was made for values outside of -2~2%, which is the general kimchi premium (can be changed in settings).
Also, a zero line has been added for readability.
Also, a color change has been added to the ema to see if the value of each market moves in the opposite direction based on the previous candle's closing price. If the two markets move separately, the ema is colored red.
I think this script is a very simple indicator.
It is usually recommended to get value in a large time frame.
Thank you.
DominanceHi!
A script where you can play with 'Dominance" to make things more clear.
Initially we'll get this,
all available % dominance of BTC/Alts,...:
We can set an EMA on it to smooth things out:
We can filter so we keep want we want to see:
Finally, we can adjust the ratio's, which makes comparisons easier
Do mind, when you do this, don't look at the numbers!
They are changed, only to make it visually easier to see what goes up and down
Also, when doing this it may happen that lines flow in each other
Either way, you can get something like this:
You can see when BTC gets the inflow from ALTS, and USDT, you'll see that BNB recently is getting bigger, more inflow of USDT for some time now, etc...
Have fun!
Zignaly TutorialThis strategy serves as a beginner's guide to connect TradingView signals to Zignaly Crypto Trading Platform.
It was originally tested at BTCUSDT pair and 1D timeframe.
Before using this documentation it's recommended that you:
Use default TradingView strategy script or another script and setup its associated alert manually. Just make the alert pop-up in the screen.
Create a 'Copy-Trader provider' (or Signal Provider) in Zignaly and send signals to it either thanks to your browser or with some basic programming.
SETTINGS
__ SETTINGS - Capital
(CAPITAL) Capital quote invested per order in USDT units {100.0}. This setting is only used when '(ZIG) Provider type' is set to 'Signal Provider'.
(CAPITAL) Capital percentage invested per order (%) {25.0}. This setting is only used when '(ZIG) Provider type' is set to 'Copy Trader Provider'.
__ SETTINGS - Misc
(ZIG) Enable Alert message {True}: Whether to enable alert message or not.
(DEBUG) Enable debug on order comments {True}: Whether to show alerts on order comments or not.
Number of decimal digits for Prices {2}.
(DECIMAL) Maximum number of decimal for contracts {3}.
__ SETTINGS - Zignaly
(ZIG) Integration type {TradingView only}: Hybrid : Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync. TradingView only : TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
(ZIG) Zignaly Alert Type {WebHook}: 'Email' or 'WebHook'.
(ZIG) Provider type {Copy Trader Provider}: 'Copy Trader Provider' or 'Signal Provider'. 'Copy Trader Provider' sends a percentage to manage. 'Signal Provider' sends a quote to manage.
(ZIG) Exchange: 'Binance' or 'Kucoin'.
(ZIG) Exchange Type {Spot}: 'Spot' or 'Futures'.
(ZIG) Leverage {1}. Set it to '1' when '(ZIG) Exchange Type' is set to 'Spot'.
__ SETTINGS - Strategy
(STRAT) Strategy Type: 'Long and Short', 'Long Only' or 'Short Only'.
(STOPTAKE) Take Profit? {false}: Whether to enable Take Profit.
(STOPTAKE) Stop Loss? {True}: Whether to enable Stop Loss.
(TRAILING) Enable Trailing Take Profit (%) {True}: Whether to enable Trailing Take Profit.
(STOPTAKE) Take Profit % {3.0}: Take profit percentage. This setting is only used when '(STOPTAKE) Take Profit?' setting is set to true.
(STOPTAKE) Stop Loss % {2.0}: Stop loss percentage. This setting is only used when '(STOPTAKE) Stop Loss?' setting is set to true.
(TRAILING) Trailing Take Profit Trigger (%) {2.5}: Trailing Stop Trigger Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(TRAILING) Trailing Take Profit as a percentage of Trailing Take Profit Trigger (%) {25.0}: Trailing Stop Distance Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(RECENT) Number of minutes to wait to open a new order after the previous one has been opened {6}.
DEFAULT SETTINGS
By default this strategy has been setup with these beginner settings:
'(ZIG) Integration type' : TradingView only
'(ZIG) Provider type' : 'Copy Trader Provider'
'(ZIG) Exchange' : 'Binance'
'(ZIG) Exchange Type' : 'Spot'
'(STRAT) Strategy Type' : 'Long Only'
'(ZIG) Leverage' : '1' (Or no leverage)
but you can change those settings if needed.
FIRST STEP
For both future of spot markets you should make sure to change '(ZIG) Zignaly Alert Type' to match either WebHook or Email. If you have a non paid account in TradingView as in October 2020 you would have to use Email which it's free to use.
RECOMMENDED SETTINGS
__ RECOMMENDED SETTINGS - Spot markets
'(ZIG) Exchange Type' setting should be set to 'Spot'
'(STRAT) Strategy Type' setting should be set to 'Long Only'
'(ZIG) Leverage' setting should be set to '1'
__ RECOMMENDED SETTINGS - Future markets
'(ZIG) Exchange Type' setting should be set to 'Futures'
'(STRAT) Strategy Type' setting should be set to 'Long and Short'
'(ZIG) Leverage' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Signal Providers
'(ZIG) Provider type' setting should be set to 'Signal Provider'
'(CAPITAL) Capital quote invested per order in USDT units' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Copy Trader Providers
'(ZIG) Provider type' setting should be set to 'Copy Trader Provider'
'(CAPITAL) Capital percentage invested per order (%)' setting might be changed if desired.
Strategy Properties setting: 'Initial Capital' might be changed if desired.
INTEGRATION TYPE EXPLANATION
'Hybrid': Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync.
'TradingView only': TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
HOW TO USE THIS STRATEGY
Beginner: Copy and paste the strategy and change it to your needs. Turn off '(DEBUG) Enable debug on order comments' setting.
Medium: Reuse functions and inputs from this strategy into your own as if it was a library.
Advanced: Check Strategy Tester. List of trades. Copy and paste the different suggested 'alert_message' variable contents to your script.
Expert: I needed a way to pass data from TradingView script to the alert. Now I know it's the 'alert_message' variable. I can do this own my own.
ALERTS SETUP
This is the important piece of information that allows you to connect TradingView to Zignaly in a semi-automatic manner.
__ ALERTS SETUP - WebHook
Webhook URL: https : // zignaly . com / api / signals.php?key=MYSECRETKEY
Message: { {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
__ ALERTS SETUP - Email
Setup a new Hotmail account
Add it as an 'SMS email' in TradingView Profile settings page.
Confirm your own the email address
Create a rule in your Hotmail account that 'Redirects' (not forwards) emails to 'signals @ zignaly . email' when (1): 'Subject' includes 'Alert', (2): 'Email body' contains string 'MYZIGNALYREDIRECTTRIGGER' and (3): 'From' contains 'noreply @ tradingview . com'.
In 'More Actions' check: Send Email-to-SMS
Message: ||{{strategy.order.alert_message}}||key=MYSECRETKEY||
MYZIGNALYREDIRECTTRIGGER
'(DEBUG) Enable debug on order comments' is turned on by default so that you can see in the Strategy Tester. List of Trades. The different orders alert_message that would have been sent to your alert. You might want to turn it off it some many letters in the screen is problem.
STRATEGY ADVICE
If you turn on 'Take Profit' then turn off 'Trailing Take Profit'.
ZIGNALY SIDE ADVICE
If you are a 'Signal Provider' make sure that 'Allow reusing the same signalId if there isn't any open position using it?' setting in the profile tab is set to true.
You can find your 'MYSECRETKEY' in your 'Copy Trader/Signal' provider Edit tab at 'Signal URL'.
ADDITIONAL ZIGNALY DOCUMENTATION
docs . zignaly . com / signals / how-to -- How to send signals to Zignaly
3 Ways to send signals to Zignaly
SIGNALS
FINAL REMARKS
This strategy tries to match the Pine Script Coding Conventions as best as possible.
Noro's RiskTurtle StrategyThe idea of this strategy script was taken here:
(PDF-Book, English) bigpicture.typepad.com
Strategy
2 Donchian price channels are being created. Fast and slow. The number of candles for the channels is selected by the user. By default, 20 bars for fast and 50 bars for slow. Blue lines show a slow price channel . And used to enter positions. Using market stop orders. A fast price channel is needed to find out the price for stop-loss. This is the center line of the fast channel. Shown by a red line. The background shows when the positions were opened. Lime background for long positions, and red background for short positions. There is no background if there are no positions.
Risk size
Stop Placement
The Turtles placed their stops based on position risk. No trade could incur more than 2% risk.
Since 1N of price movement represented 1% of Account Equity, the maximum stop
that would allow 2% risk would be 2N of price movement. Turtle stops were set at 2N
below the entry for long positions, and 2N above the entry for short positions.
For
- XBT/USD, BTC /USD, BTC /USDT, ETH/USD, ETH/USDT, etc - need ***/(T)USD(T)
- Timeframes 1h, 2h, 3h, 4h
Noro's SimpleTurtle StrategyThis is a highly simplified version of the Turtle strategy. It is very different from the original Turtle strategy.
Lines
2 Donchian price channels are being created. Fast and slow. The number of candles for the channels is selected by the user. By default, 20 bars for fast and 50 bars for slow. Blue lines show a slow price channel. And used to enter positions. Using market stop orders. A fast price channel is needed to find out the price for stop-loss. This is the center line of the fast channel. Shown by a red line. The background shows when the positions were opened. Lime background for long positions, and red background for short positions. There is no background if there are no positions.
For
- XBT/USD, BTC/USD, BTC/USDT, ETH/USD, ETH/USDT, etc - need ***/(T)USD(T)
- Timeframes 1h, 2h, 3h, 4h
Noro's Channel Close StrategyFor:
- BTC/USD (or XBT/USD, or BTC/USDT) and ETH/USD (or ETH/USDT)
- timeframe 4h
Strategy
Donchain Channel is used.
If the candle is closed above the top line of the channel, open the long (and close the short)
If the candle has closed below the bottom line of the channel - you must open the short (and close the long)
Reverse trading.
Take-profit and stop-loss are not used
Trend Trader Strategy with MACDThis is plots the indicator developed by Andrew Abraham in the Trading the Trend article of TASC September 1998
The strategy I use has already been published explicitly by HPotter, you can review the core code from there.
I have converted the existing strategy codes that have been published into the strategy and the result looks great but I noticed that the indicator performed too much in short periods like 1 minute and I thought it would be healthier to get MACD approval. MACD approval will come selected by default. When the indicator reaches the buy status, if the macd histogram is positive, it enters the long process. By removing this confirmation from the settings window, you can see the normal signal frequency of the indicator.
This strategy is mainly based on trend signals. In fact, I am publishing this strategy to use in alternating trading for Bear-Bull crypto coins.
What does the bear-bull comparison mean?
You can open the same chart in the ETHBEAR / USDT symbol as opposed to the ETHBULL / USDT symbol that appears on the chart. When BUY signal comes in bull symbol, SELL will come in bear symbol. When BUY signal comes in bear symbol, SELL will come in bull symbol. In this way, very fast and very high profit can be obtained by alternating operation.
CL Daily Bitcoin Volume (All exchange included, even Mt.GOX)This daily volume data contains collective total from
____________________________________________________
Historical:
BTC-e BTC/USD (From Q3 2011 to Q3 2016)
BTCChina BTC/CNY (From Q3 2011 to Q2 2017)
Coinsetter BTC/USD (From Q3 2014 to Q1 2016)
MtGox BTC/USD (From July 2010 - 2014 only))
OKcoin International BTC/USD (From Q3 2014 to Q2 2017)
____________________________________________________
Institutions:
CME Bitcoin Futures
Grayscale Bitcoin Trust OTC
____________________________________________________
Spot exchanges:
Bitfinex BTC/USD
Bitstamp BTC/USD
Coinbase BTC/USD
Coinbase BTC/EUR
Binance BTC/USDT
Binance BTC/USDC
Binance BTC/PAX
Gemini BTC/USD
itBit BTC/USD
Kraken BTC/EUR
Kraken BTC/USD
Huobi BTC/USDT
Korbit BTC/KRW
Bitflyer BTC/JPY
____________________________________________________
Others:
Bitmex
40 DOMINANT ALTCOINS BINANCEThis indicator is a combination of 40 different altcoins which are found on Binance exchange.
I have listed all Binance altcoins in the order of the oldest listed and the newest.
Due to limitations on TV for calling only 40 securities at the same time, I have limited myself with adding only the oldest ones (9+ months) and some 8+ to make up at least 40 for more data.
I have excluded BTC, BCC, ETH, USDT, BNB from list as these are the trading pairs.
I have some updates in mind and will try to add more options in coming months
Regularly updating 40 altcoins list by sorting them by market cap and available historical data from Binance
Adding Bitfinex, Bittrex and other exchanges separetly, as there is only 40 security call limit
Adding ETH; USDT pairs for all above exchanges.
You can add any indicator to this indicator - such as MACD, RSI, EMA and so on to help you analyse it more deeper
When you load this indicator, it takes about 1 min wait as it takes and calculates a lot of data. After it is loaded, it works perfectly.
Currently there is only 40 oldest altcoins to gather enough data, but as time passes, I will change some of them to create better picture of alt coins.
Please report any problems and give feedback.
Any idea of improvement is welcome and I will try my best.
Please support me an consider to give a small tip to addresses bellow. It would greatly help me to free more time for improvements as I am working to support family and my time is limited for markets.
ETH: 0xac290B4A721f5ef75b0971F1102e01E1942A4578
BTC: 39p3rKuJYKGqph1Qs35yEfNWoPvpUJBBcy
This will greatly help me to keep update this indicator and give me more time to analyse and sort out all altcoins my their market cap, volume and influence.