Flawless Victory Strategy - 15min BTC Machine Learning StrategyHello everyone, I am a heavy Python programmer bringing machine learning to TradingView. This 15 minute Bitcoin Long strategy was created using a machine learning library and 1 year of historical data in Python. Every parameter is hyper optimized to bring you the most profitable buy and sell signals for Bitcoin on the 15min chart. The historical Bitcoin data was gathered from Binance API, in case you want to know the best exchange to use this long strategy. It is a simple Bollinger Band and RSI strategy with two versions included in the tradingview settings. The first version has a Sharpe Ratio of 7.5 which is amazing, and the second version includes the best stop loss and take profit positions with a Sharpe Ratio of 2.5 . Let me talk a little bit more about how the strategy works. The buy signal is triggered when close price is less than lower Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. The sell signal is triggered when close price is greater than upper Bollinger Band at Std Dev 1, and the RSI is greater than a certain value. What makes this strategy interesting is the parameters the Machine Learning library found when backtesting for the best Sharpe Ratio. I left my computer on for about 28 hours to fully backtest 5000 EPOCHS and get the results. I was able to create a great strategy that might be one of TradingView's best strategies out on the website today. I will continue to apply machine learning to all my strategies from here on forward. Please Let me know if you have any questions or certain strategies you would like me to hyper optimize for you. I'm always willing to create profitable strategies!
P.S. You can always pyramid this strategy for more gains! I just don't add pyramiding when creating my strategies because I want to show you the true win/loss ratio based buying one time and one selling one time. I feel like when creating a strategy that includes pyramiding right off the bat falsifies the win rate. This is my way of being transparent with you all. Have fun trading!
Cryptocurrency
Multi Moving Average Crossing (by Coinrule)Moving Averages are among the most common trading indicators. They are straightforward to interpret and effective to use.
One of the limitations of using moving averages is they can provide buy and sell signals with a relatively high lag , making it very difficult to spot the lows and tops of the trend.
Moving averages calculated with a low number of periods like the MA9 (the average of the previous nine price periods) react very fast to price moves providing prompt signals. On the other side, more signals may end up with more false-signals and more trades in a loss.
On the contrary, moving averages calculated with a higher number of periods like the MA100 (which considers the previous one hundred price periods) give more reliable signals, but with a delay.
A system catching the crossing of the MA50 over the MA100 is a good compromise for successful long-term strategies. It provides, on average, reliable buy signals.
The Multi Moving Average Crossing Strategy tries to optimize the exit without waiting for the same opposite crossing (MA50 below MA100). It uses the MA9 crossing below the MA50, instead, to spot a better time for selling.
The setup is as follows.
BUY when the Moving Average 50 crosses above the Moving Average 100
SELL when the Moving Average 9 crosses below the Moving Average 50
The higher is the time frame to calculate the Moving Averages, the better is the overall performance of the strategy. The 4-hour (or 6-hour) time frame seems to be the best, even if it results in fewer trades. If you want to trade more still with good results, the 1-hour time is a good compromise.
Advantages of the strategy
This strategy seeks to catch those that are more likely relevant uptrends and close the trade relatively quickly. More trades mean more opportunities. This is especially effective if you run the strategy on all the available coins on the market, as you could do with Coinrule.
Generally, a Multi Moving Averages approach beats the classic crossing strategy involving only two Moving Averages. We backtested a sample of twenty trading pairs to assess the benefits empirically.
The results show that the Multi Moving Average Strategy
outperforms 13 out of 20 times
has 95% higher average return
has 67% higher median return
The strategy assumes each order to trade 30% of the available capital and opens a trade at a time. A trading fee of 0.1% is taken into account.
RSI Classic Strategy (by Coinrule)One of the questions hobbyist traders more often ask is: what is the perfect trading indicator?
Every indicator is just a tool, so its efficiency is proportional to your ability to read its signals and translate them into an actionable trading strategy. The RSI is likely the most flexible and easy to use among the technical indicators.
This trading strategy tries to catch short-term swings on the coins of your choice with a simple yet profitable setup.
Buy when the RSI is lower than 30 (you can adjust it to 35 in times of steep uptrend).
Sell when the RSI is greater than 65 (the target may range between 60 and 75 depending on the volatility of the coin).
Note that the buy signal comes when the indicator crosses below 30 and not when it crosses above 30 as it happens on the built-in RSI strategy on Tradingview.
The present script overperforms the built-in strategy, even adding trading fees and using a lower amount of capital for each trade (30%). That means that the system can deliver higher net-profits with lower risk levels.
A typical example of market conditions where this strategy works perfectly is as follows.
The first initial breakout indicates that a new leg up in the trend may start. Bitcoin starts to trade within a range which you can identify when it reaches the point 3. That is the perfect time to start the rule because
- trading within a channel anticipates possible swings up and down
- the trend is on the upside, providing low downside risk in buying the dips.
This strategy works well with selected coins of your choice, and it's a great fit on leverage exchanges like Binance Futures.
If you prefer to run it across all available coins on the market, instead, you may choose an optimized version.
Statistical and Financial MetricsGood morning traders!
This time I want to share with you a little script that, thanks to the use of arrays, allows you to have interesting statistical and financial insights taken from the symbol on chart and compared to those of another symbol you desire (in this case the metrics taken from the perpetual future ETHUSDT are compared to those taken from the perpetual future BTCUSDT, used as a proxy for the direction of cryptocurrency market)
By enabling "prevent repainting", the data retrieved from the compared symbol won't be on real time but they will static since they will belong to the previous closed candle
Here are the metrics you can have by storing data from a variable period of candles (by default 51):
✓ Variance (of the symbol on chart in GREEN; of the compared symbol in WHITE)
✓ Standard Deviation (of the symbol on chart in OLIVE; of the compared symbol in SILVER)
✓ Yelds (of the symbol on chart in LIME; of the compared symbol in GRAY) → yelds are referred to the previous close, so they would be calculated as the the difference between the current close and the previous one all divided by the previous close
✓ Covariance of the two datasets (in BLUE)
✓ Correlation coefficient of the two datasets (in AQUA)
✓ β (in RED) → this insight is calculated in three alternative ways for educational purpose (don't worry, the output would be the same).
WHAT IS BETA (β)?
The BETA of an asset can be interpretated as the representation (in relative terms) of the systematic risk of an asset: in other terms, it allows you to understand how big is the risk (not eliminable with portfolio diversification) of an asset based on the volatilty of its yelds.
We say that this representation is made in relative terms since it is expressed according to the market portfolio: this portfolio is hypothetically the portfolio which maximizes the diversification effects in order to kill all the specific risk of that portfolio; in this way the standard deviation calculated from the yelds of this portfolio will represent just the not-eliminable risk (the systematic risk), without including the eliminable risk (the specific risk).
The BETA of an asset is calculated as the volatilty of this asset around the volatilty of the market portfolio: being more precise, it is the covariance between the yelds of the current asset and those of the market portfolio all divided by the variance of the yelds of market portfolio.
Covariance is calculated as the product between correlation coefficient, standard deviation of the first dataset and standard deviation of the second asset.
So, as the correlation coefficient and the standard deviation of the yelds of our asset increase (it means that the yelds of our asset are very similiar to those of th market portfolio in terms of sign and intensity and that the volatility of these yelds is quite high), the value of BETA increases as well
According to the Capital Asset Pricing Model (CAPM) promoted by William Sharpe (the guy of the "Sharpe Ratio") and Harry Markowitz, in efficient markets the yeld of an asset can be calculated as the sum between the risk-free interest rate and the risk premium. The risk premium of the specific asset would be the risk premium of the market portfolio multiplied with the value of beta. It is simple: if the volatility of the yelds of an asset around the yelds of market protfolio are particularly high, investors would ask for a higher risk premium that would be translated in a higher yeld.
In this way the expected yeld of an asset would be calculated from the linear expression of the "Security Market Line": r_i = r_f + β*(r_m-r_f)
where:
r_i = expected yeld of the asset
r_f = risk free interest rate
β = beta
r_m = yeld of market portfolio
I know that considering Bitcoin as a proxy of the market portfolio involved in the calculation of Beta would be an inaccuracy since it doesn't have the property of maximum diversification (since it is a single asset), but there's no doubt that it's tying the prices of altcoins (upward and downward) thanks to the relevance of its dominance in the capitalization of cryptocurrency market. So, in the lack of a good index of cryptocurrencies (as the FTSE MIB for the italian stock market), and as long the dominance of Bitcoin will persist with this intensity, we can use Bitcoin as a proxy of the market portfolio
Bitcoin Bulls and Bears by @dbtrBitcoin 🔥 Bulls & Bears 🔥
v1.0
This free-of-charge BTC market analysis indicator helps you better understand what's going with Bitcoin from a high-level perspective. At a glance, it will give you an immediate understanding of Bitcoin’s historic price channel dating back to 2011, past and current market cycles, as well as current key support levels.
Usage
Use this indicator with any BTCUSD pairs , ideally with a long price history (such as BNC:BLX )
We recommend to use this indicator in log mode, combined with Weekly or Monthly timeframe.
Features
🕵🏻♂️ Historic price channel curve since 2011
🚨 Bull & bear market cycles (dynamic)
🔥 All-time highs (dynamic)
🌟 Weekly support (dynamic, based on 20 SMA )
💪 Long-term support (channel bottom)
🔝 Potential future price targets (dynamic)
❎ Overbought RSI coloring
📏 Log/non-log support
🌚 Dark mode support
Remarks
With exception of the price channel curve, anything in this indicator is calculated dynamically , including bull/bear market cycles (based on a tweaked 20SMA), ATHs, and so on. As a result, historic market cycles may not be 100% accurately reflected and may also differ slightly in between various time-frames (closest result: Monthly). The indicator may even consider periods of heavy ups/downs as their own market cycles, even though they weren’t. Due to its dynamic nature, this indicator can however adapt to the future and helps you quickly identify potential changes in market structure, even if the indicator is no longer updated.
On top of that bullmarket cycles (colored in green) feature an ingrained RSI: the darker the green color, the more the RSI is overbought and close to a correction (darkest color in the chart = 90 Weekly RSI). In comparison with past bull cycles, it helps you easily spot potential reversal zones.
Thanks
Thanks to @quantadelic and @mabonyi which both have worked on the BTC "growth zones" indicator including the price channel, of which I have used parts of the code as well as the actual price channel data.
Follow me
Follow me here on TradingView to be notified as soon as new free and premium indicators and trading strategies are published. Inquire me for any other requests.
Enjoy & happy trading!
Rate ConverterThis is a simple rate converter that can convert almost anything into almost anything else. It supports cryptocurrencies, currencies and most commodities.
On the chart we see the following:
USD (US Dollar) into EUR (Euro) as a candle stick chart
WTICO (West Texas Intermediate Crude Oil) into ISK (Icelandic Krona) as a bar chart
ADA (Cardano) into JMD (Jamaican Dollar) as a line chart
XPT (Platinum) into XAG (Silver) as a scatter plot
It supports plotting the rates as japanese candlesticks, bars, lines, or as a scatter plot.
Multi-Timeframe Stoch RSIGood evening folks!
Today I want to share with you a simple variant of the Stochastic-RSI built-in indicator.
Nothing too complex: by enabling the relative checkbox and setting the desired (k, d or the RSI ) source and timeframes, you can see higher timeframes data plotted on your screen.
Everything you need to do is enabling the indicator on the lowest timeframe (in this case 15 minutes), then you will see in YELLOW the information retrieved from the next higher timeframe (in this case 30 minutes) and in RED the information retrieved from the highest timeframe (in this case 45 minutes).
IT'S IMPORTANT THAT YOU DISPLAY THE INDICATOR ON THE LOWEST TIMEFRAME!
You can play with the overbought and oversold heights in order to have the best configuration you want (in oversold conditions is suggested to buy while in overbought conditions is suggested to sell)
The higher timeframes data are retrieved avoiding repainting since the method used for taking them is the 10th method described in this PineCoders Article , so, if you want to enable alerts, you SHOULD ignore the disclaimer message related to it without any problem.
Good Trading!
Heikin Ashi + Price Action Crypto LONG StrategyThis is a simple and efficient crypto strategy, designed for big timeframes like 12/24h.
On history it beats buy and hold strategy in many ocasions, and because of a low DD, pyramid can be used to elevate our winnings while still keeping a low DD < 40% avg.
For the purpose of this example, I used 100% of the capital on each trades, together with a comission of 0.1%
Warning : THERE IS NO STOP LOSS ON THIS STRATEGY ,USE IT AT YOUR OWN RISK
This strategy is made with inside Heikin Ashi candles , together with some price actions logics like for long Close > High and green candle and High > High .
We exit when we have a red candle and the current close is lower than the previous Low
If you have any questions, message me in private !
Realized Volatility (annualized for any time frame)Plots standard deviation of returns (realized volatility), and annualizes it for the selected timeframe. Suitable for forex/cryptocurrencies which trade 24/7.
Momentum Strategy (BTC/USDT; 30m) - STOCH RSI (with source code)Here's a strategy for low time frames (30min suggested) for BTC , based on momentum Analysis using Stochastic RSI
By default the strategy will use the 50% of the specified capital for each trade; if "Gamble Sizing" is enabled, it will add the specified amount of capital (25% by default, until reaching the 100% limit or lower) for the next trade after having detected a loss in the previous trade; if the next trade is successful, the size for the next trade comes back to 50%
• Trend Filter LONG: If the fast exponential moving average is UNDER the slow exponential moving average , it won't open LONG positions
• Trend Filter SHORT: If the fast exponential moving average is ABOVE the slow exponential moving average , it won't open SHORT positions
• Bars delay: the strategy will wait the specified amount of bars before closing the current position; the counter is triggered as soon as the closing trade condition is verified
BY MAKING USE OF THIS STRATEGY, YOU ACKNOWLEDGE AND AGREE THAT: (1) YOU ARE AWARE OF THE RISKS ASSOCIATED WITH TRANSACTIONS OF DIGITAL CURRENCIES AND THEIR DERIVATIVES; (2) YOU SHALL ASSUME ALL RISKS RELATED TO THE USE OF THIS STRATEGY AND TRANSACTIONS OF DIGITAL CURRENCIES AND THEIR DERIVATIVES; AND (3) I SHALL NOT BE LIABLE FOR ANY SUCH RISKS OR ADVERSE OUTCOMES.
SOURCE CODE BELOW
Crypto Long only Strategy 3h+ timeframeToday I bring another crypto strategy that works greatly with pairs like BTCEUR, ETHEUR, for 3h+ time frames.
Its a risky strategy because we have a hard stop loss of 25% of our capital which can be modified.
The idea behind its simple, we have a candle which is made from open+high+low+close / 4 , and we make the decision based on this one.
We only go long with this strategy .
For entry: if we have 5 ascending candles we enter, and we exit when we have 4 descending candles.
For this example, I used 100% of the initial capital(1000 EUR/USD), with a commission of 0.1% per each deal.
At the same time, the max capital that can be lost in a trade is going to be the equity risk, in this example 25% .
Overall we can see that's more or less around the same level as buy and hold strategy
Bitcoin Comparison to GBTC!This script tells you if GBTC is overvalued or undervalued compared to Bitcoin.
Maximized Moving Average Crossing (by Coinrule)Using the crossings of two Moving Averages to trade in a trading strategy is a Trend-Following approach. As the name would suggest, to be successful, it requires the asset to be on-trend.
The general limit of a common strategy based on Moving Averages is that they underperform when the market is less volatile or trading sideways. When volatility compresses, the indicators get very close one to another, crossing each other very often. That's exactly the condition when trend-following strategies underperform.
To improve this strategy, it's useful to filter the buy signal using the RSI. When the RSI is close to overbought conditions, that means that the coin is likely trading in an uptrend. Strong uptrends usually come with RSI values that stay overbought for long periods, creating interesting opportunities.
Setup
Buy condition: the MA9 crosses above the MA50, and at the same time, the RSI has a value greater than 55.
Sell condition: the MA9 crosses below the MA50.
The strategy is optimized to provide better results on the 1-hr time frame, but it could work well also on higher time frames, such as the 4-hrs.
The strategy assumes each order to trade 30% of the available capital and opens a trade at a time. A trading fee of 0.1% is taken into account.
Profit MAX MTF HeatMapThis is a powerfull strategy which is made from combining 3 multi timeframes into one for profit max indicator
In this case we have daily, weekly and montly.
Our long conditions are the next ones :
if we have an uptrend on all 3 at the same time, we go long.
If we have a downtrend on all 3 of them at the same time we go short.
For exit, for long, as soon as one of the 3 converts into downtrend we exit the trade.
For exit, for short, as soon as one of the 3 converts into uptrend we exit the trade.
This tool can be used on all types of markets, and can also be changed the time frames.
MACD With Trend Filter: Visual Backtest Module TemplateSample Strategy: MACD Crossover with trend filter options
MA Filter : Price Close Above MA, Search for Buy, Price Close Below MA, Search for Sell
ADX Filter : Take trade only when ADX is above certain treshold
MACD Signal : MACD Cross above signal line while under 0 line indicate Buy Signal
MACD Cross below signal line while above 0 line indicate Sell Signal
-----------------------------
Using Alert Module:
Enable Alert --> Enable TV's alert and plot signal to chart
Alert Type --> Set to take Buy only, Sell only or Both alert
----------------------------
Using Backtest Module:
Enable Backtest --> Enable Backtest simulation
Backtest Type --> Set to take Buy only, Sell only or Both
SL Type -->
ATR : Set SL in ATR times Multiplier below/above entry price
Fixed : Set SL in fixed point below entry point (in 'Dollar'). e.g. for Stocks -> 0.5 equals to 50cent while for EURUSD currency -> 0.005 equal to 50 pips
HiLo Bar : Set SL at highest/lowest wick of previous bar plus/minus Fixed point. e.g. EURUSD HiLo=3 and Fixed Point = 0.0005, buy trade will place SL 5 Pips below lowest of previous 3 bar
SL ATR Period --> Set Lookback Period used for SL's ATR calculation
SL ATR Multi --> Set ATR Multiplier for SL
SL Fixed --> Set Fixed Level for SL (Use when SL Type is either Fixed or HiLo Bar)
SL Bar --> Set Number of previous bar to check for SL placement
TP RR Ratio --> Set TP based on RR multiplier. e.g. 2 means TP level will be twice further from entry point compared to Entry-SL distance.
Notes: The point is for preliminary testing, so it only supports 1 trade at a time and no Trailing Stop
----------------------------
Disclaimer:
This script main objective is to create my personal indicator template so that i just have to modify the indicator module for preliminary testing in future.
Testing Alert Module so i can re-use it as template in future study/indicator
Testing Visual Backtest Module so i can re-use it as template in future study/indicator
i believe using Strategy function is a better approach for this but the entry/exit level seems to be hit n miss (at least for me, still trying to figure what i did wrong)
also, i rather code the strategy in other platform where i can use the more accurate tick data if i want to validate backtest statistics.
My study scripts was built only to test/visualize an idea to see its viability and if it can be used to optimize existing strategy.
credit: ADX code are originally from "ADX and DI" by @BeikabuOyaji although i re-wrote so i can have cleaner read and use RMA instead of SMA
Escaping of Rate from Avarage By Mustafa OZVEREscaping of Rate from Average By Mustafa OZVER
This code shows a location of a rate or price (or etc.) from the average, rated by the standard deviation.
To show that, calculates the ema and standard deviation of our data then calculates the distance between ema and the current data by the standard deviation.
In summary, we can say that this value is the current distance by the long term standard deviation.
This value is between +1 and -1 because we expect the absolute value of the standard distance does not get far from the long term standard deviation.
For scalping, we can use this value as
buy signal when the value is below -1,
sell signal when the value is above +1,
But only this value can not guarantee good results for trading. BE CAREFUL
OnTheMoveWith this plot one is able to compare the different % change in the given time frame. It calculates the sma of a given period (defval = 7) for the close/open.
Strategy would be to choose (trade) from one to other asset in order to get higher rates when pumping or lower when dumping.
The Symbol & exchange has to be specified.
defSymbols = BTC, ETH and LINK
defExchange = BINANCE
Trendy Bar Trend Color LiteLite version of the original Trendy Bar Trend Color
This will only color the candlestick body of your chart
Can be used with solid, hollow, renko, or any other chart type
Custom coloring for Highs, Lows, and consolidation is removed
BTC and ETH Long strategy - version 2I wrote my first article in May 2020. See below
BTC and ETH Long strategy - version1
After 6 months, it is now time to check the result of my script for the last 6 months.
XBTUSD (4H): 14/05/2020 --> 22/11/2020 = +78% in 4 trades
ETHXBT (4H): 14/05/2020 --> 22/11/2020 = +21% in 9 trades
ETHUSD (4H): 14/05/2020 --> 22/11/2020 = +90% in 6 trades
Using the signals from this strategy to trade manually has shown that this was a bit frustrating because of the low rate of winning trades.
If you have to enter 100 trades and see 75% of them failing and 25% winning, this is frustrating. For sure the strategy makes good money but it is difficult to hold this mentality.
So, I have reviewed and modified it to get a higher winning rate.
After few days of work, tests and validation, I managed to get a wining rate close to 60%.
The key element was also to decrease the number of trades by using a higher time frame. (4H candles instead of 2H candles).
- Entry in position is based on
MACD, EMA (20), SMA (100), SMA (200) moving up
AND EMA (20) > SMA (100)
AND SMA (100) > SMA (200)
- Exit the position if: Stoploss is reached OR EMA (20) crossUnder SMA (100)
The goal of this new script is to be able to follow the signals manually and only make few trades per years.
I have also validated it against some other altcoins where some are giving very good results.
Here are some results for 2020 (from 01/01/2020 until now (22/11/2020). Those results are the one I get when using 4H candles.
ETH/USD: +144% in 8 trades.
BTC/USD: +120% in 7 trades.
ETH/BTC: +33% in 9 trades.
ICX/USD: +123% in 10 trades.
LINK/USD: +155% in 11 trades.
MLN/USD: +388% in 8 trades.
ADA/USD: +180% in 7 trades.
LINK/BTC: +97% in 10 trades.
The best is that above results are without considering compound effect. If you re-invest all gains done in each new trade, this will give you the below results :)
ETH/USD: +189% in 8 trades.
BTC/USD: +260% in 7 trades.
ETH/BTC: +29% in 9 trades.
ICX/USD: +112% in 10 trades.
LINK/USD: +222% in 11 trades.
MLN/USD: +793% in 8 trades.
ADA/USD: +319% in 7 trades.
LINK/BTC: +103% in 10 trades.
As you can see, the results are good and the number of trades for 11 months is not big, which allows the trader to place orders manually.
But still, I'm lazy :), so, I have also coded this strategy in HaasScript language which allows you to automate this strategy using the HaasOnline software specialized in automated crypto trading.
I hope that this strategy will give you ideas or will be the starting point for your own strategy.
Let me know if you need more details.
Crypto ZigZag RSI strategy 15minThis strategy is designed for crypto markets like ETHUSD/T, BTCUSD/T and so on.
It works amazingly with 15 min time frames.
Its idea consists in :
We have the RSI indicator, and with it we check for the crossover with overbought and oversold levels. At the same time we have the zigzag which is made from the higher highs and the lower lows between a specific price movement in %.
For entries, they are going to be based on the crossover of rsi with overbought or oversold levels , combined together with cross over 0 line from the the zigzag.
At the same time the strategy has the posibility to go only long, only short or both.
Let me know if you have any questions.
Simple Moving Average + ADX + DMI + Time Range Test
Use long and short moving average to look for a potential price in/out. (default as 14 and 7, bases on the history experience)
ADX and DMI to prevent the small volatility and tangling MA.
This script allows you to set the beginning & end time to test the bullish & bearish market.
If you want an indicator version, here is it.
Thanks.