RSI, SRSI, MACD and DMI cross - Open source codeHello,
I'm a passionate trader who has spent years studying technical analysis and exploring different trading strategies. Through my research, I've come to realize that certain indicators are essential tools for conducting accurate market analysis and identifying profitable trading opportunities. In particular, I've found that the RSI, SRSI, MACD cross, and Di cross indicators are crucial for my trading success.
Detailed explanation:
The RSI is a momentum indicator that measures the strength of price movements. It is calculated by comparing the average of gains and losses over a certain period of time. In this indicator, the RSI is calculated based on the close price with a length of 14 periods.
The Stochastic RSI is a combination of the Stochastic Oscillator and the RSI. It is used to identify overbought and oversold conditions of the market. In this indicator, the Stochastic RSI is calculated based on the RSI with a length of 14 periods.
The MACD is a trend-following momentum indicator that shows the relationship between two moving averages of prices. It consists of two lines, the MACD line and the signal line, which are used to generate buy and sell signals. In this indicator, the MACD is calculated based on the close price with fast and slow lengths of 12 and 26 periods, respectively, and a signal length of 9 periods.
The DMI is a trend-following indicator that measures the strength of directional movement in the market. It consists of three lines, the Positive Directional Indicator (+DI), the Negative Directional Indicator (-DI), and the Average Directional Index (ADX), which are used to generate buy and sell signals. In this indicator, the DMI is calculated with a length of 14 periods and an ADX smoothing of 14 periods.
The indicator generates buy signals when certain conditions are met for each of these indicators.
1) For the RSI, a buy signal is generated when the RSI is below or equal to 35 and the Stochastic RSI %K is below or equal to 15, or when the RSI is below or equal to 28 the Stochastic RSI %K is below or equal to 15 or when the RSI is below or equal to 25 and the Stochastic RSI %K is below or equal to 10 or when the RSI is below or equal to 28.
2) For the MACD, a buy signal is generated when the MACD line is below 0, there is a change in the histogram from negative to positive, the MACD line and histogram are negative in the previous period, and the current histogram value is greater than 0.
3) For the DMI, a buy signal is generated when the Positive Directional Indicator (+DI) crosses above the Negative Directional Indicator (-DI), and the -DI is less than the +DI.
The indicator generates sell signals when certain conditions are met for each of these indicators:
1) For the RSI, a sell signal is generated when the RSI is above or equal to 75 and the Stochastic RSI %K is above or equal to 85, or when the RSI is above or equal to 80 and the Stochastic RSI %K is above or equal to 85, or when the RSI is above or equal to 85 and the Stochastic RSI %K is above or equal to 90 or when the RSI is above or equal to 82.
2)For the MACD, a sell signal is generated when the MACD line is above 0, there is a change in the histogram from positive to negative, the MACD line and histogram are positive in the previous period, and the current histogram value is less than the previous histogram value. On the other hand, a buy signal is generated when the MACD line is below 0, there is a change in the histogram from negative to positive, the MACD line and histogram are negative in the previous period, and the current histogram value is greater than the previous histogram value.
3)For the DMI a bearish signal is generated when plusDI crosses above minusDI, indicating that bulls are losing strength and bears are taking control.
The indicator uses a combination of these four indicators to generate potential buy and sell signals. The buy signals are generated when RSI and SRSI values are in oversold conditions, while sell signals are generated when RSI and SRSI values are in overbought conditions. The indicator also uses MACD crossovers and DMI crossovers to generate additional buy and sell signals.
When a signal is strong?
The use of multiple signals within a specific timeframe can increase the accuracy and reliability of the signals generated by this indicator. It is recommended to look for at least two signals within a range of 5-8 candles in order to increase the probability of a successful trade.
Why it's original?
1) There is no indicator in the library that combine all of these indicators and give you a 360 view
2)The combination of the RSI, Stochastic RSI, MACD, and DMI indicators in a single script it's unique and not available in the libray.
3)The specific parameters and conditions used to calculate the signals may be unique and not found in other scripts or libraries.
4)The use of plotshape() to plot the signals as shapes on the chart may be unique compared to other scripts that simply plot lines or bars to indicate signals.
5)The use of alertcondition() to trigger alerts based on the signals may be unique compared to other scripts that do not have custom alert functionality.
Keep attention!
It is important to note that no trading indicator or strategy is foolproof, and there is always a risk of losses in trading. While this indicator may provide useful information for making conclusions, it should not be used as the sole basis for making trading decisions. Traders should always use proper risk management techniques and consider multiple factors when making trading decisions.
Support me:)
If you find this new indicator helpful in your trading analysis, I would greatly appreciate your support! Please consider giving it a like, leaving feedback, or sharing it with your trading network. Your engagement will not only help me improve this tool but will also help other traders discover it and benefit from its features. Thank you for your support!
Komut dosyalarını "28年大学生毕业人数" için ara
SPY 4 Hour Swing TraderThe purpose of this script is to spot 4 hour pivots that indicate ~30 trading day swings. As VIX starts to drop options trading will get more boring and as we get back on the bull and can benefit from swing trading strategy. Swing trading doesn't make a whole lot of sense when VIX is above 28. Seems to get best results on 4 hour chart for this one. This indicator spots a go long opportunity when the 5 ema crosses the 13 ema on the 4 hour along with the RSI > 50 and the ADX > 20 and Stoichastic values (smoothed line < 80 or line < 90) and close > last candle close and the True Range < 6. It also spots uses a couple different means to determine when to exit the trade. Sell condition is primarily when the 13 ema crosses the 5 ema and the MACD line crosses below the signal line and the smoothed Stoichastic appears oversold (greater than 60) and slop of RSI < -.2. Stop Losses and Take Profits are configurable in Inputs along with ability to include short trades plus other MACD and Stoichastic settings. If a stop loss is encountered the trade will close. Also once twice the expected move is encountered partial profits will taken and stop losses and take profits will be re-established based on most recent close. Also a VIX above 28 will trigger any open positions to close. If trying to use this for something other than SPXL it is best to update stop losses and take profit percentages and check backtest results to ensure proper levels have been selected and the script gives satisfactory results.
Fetch Buy And Hold StrategyThis script was created as an experiment using ChatGPT. I actually woudn't recommend using the ai program to help you with your Pinescripts, as it makes a fair amount of mistakes. It was a fun experiment however.
The script is a simple buy and hold tool. Here's what it does:
- Everytime the rsi enters below the set treshold, a counter increases.
- The second increase of the counter happens when the price goes above the treshold, and then dips below the treshold again.
- The program would fire off a buy signal when the counter hits the number 3.
- After the buy. the counter will reset.
Lets take a look at the following example where the rsi treshold is 30:
- So the rsi dips below 30 and the initial counter is set from 0 to 1.
- The price rises which brings the rsi back to 40.
- Then another dip happens and the rsi is now 25, increasing the counter from 1 two.
- Rsi now dips to 23 and nothing happens.
- Rsi goes back up to 31, and dips back to 28 which puts the counter at 3. A buy singal is now fired and the counter is set to 0.
Nonfarm [TjnTjn]This indicator will draw a line on your chart to show the Nonfarm announcement date and a line showing the Nonfarm announcement time for that day.
Because normally the Nonfarm announcement date is not simply the first Friday of the month. Because there are days Nonfarm days can be 8 or 9 or 10.
By checking the entire history of nonfarm announcements, I found some more rules such as if the first Friday of the month hits a holiday, the nonfarm day will be the friday of the following week. The previous months are 28, 29, or 30 days and if the first Friday of this month is on the 3, 2 or 1, the nonfarm day will be the friday of the following week.
Since this type of indicator is not available on the Tradingview library, I have put it up for everyone's convenience to backtest the price movement on nonfarm days to better support trading or simply to avoid trading at time of announed nonfarm.
libKageMiscLibrary "libKageMisc"
Kage's Miscelaneous library
print(_value)
Print a numerical value in a label at last historical bar.
Parameters:
_value : (float) The value to be printed.
Returns: Nothing.
barsBackToDate(_year, _month, _day)
Get the number of bars we have to go back to get data from a specific date.
Parameters:
_year : (int) Year of the specific date.
_month : (int) Month of the specific date. Optional. Default = 1.
_day : (int) Day of the specific date. Optional. Default = 1.
Returns: (int) Number of bars to go back until reach the specific date.
bodySize(_index)
Calculates the size of the bar's body.
Parameters:
_index : (simple int) The historical index of the bar. Optional. Default = 0.
Returns: (float) The size of the bar's body in price units.
shadowSize(_direction)
Size of the current bar shadow. Either "top" or "bottom".
Parameters:
_direction : (string) Direction of the desired shadow.
Returns: (float) The size of the chosen bar's shadow in price units.
shadowBodyRatio(_direction)
Proportion of current bar shadow to the bar size
Parameters:
_direction : (string) Direction of the desired shadow.
Returns: (float) Ratio of the shadow size per body size.
bodyCloseRatio(_index)
Proportion of chosen bar body size to the close price
Parameters:
_index : (simple int) The historical index of the bar. Optional. Default = 0.()
Returns: (float) Ratio of the body size per close price.
lastDayOfMonth(_month)
Returns the last day of a month.
Parameters:
_month : (int) Month number.
Returns: (int) The number (28, 30 or 31) of the last day of a given month.
nameOfMonth(_month)
Return the short name of a month.
Parameters:
_month : (int) Month number.
Returns: (string) The short name ("Jan", "Feb"...) of a given month.
pl(_initialValue, _finalValue)
Calculate Profit/Loss between two values.
Parameters:
_initialValue : (float) Initial value.
_finalValue : (float) Final value = Initial value + delta.
Returns: (float) Profit/Loss as a percentual change.
gma(_Type, _Source, _Length)
Generalist Moving Average (GMA).
Parameters:
_Type : (string) Type of average to be used. Either "EMA", "HMA", "RMA", "SMA", "SWMA", "WMA" or "VWMA".
_Source : (series float) Series of values to process.
_Length : (simple int) Number of bars (length).
Returns: (float) The value of the chosen moving average.
xFormat(_percentValue, _minXFactor)
Transform a percentual value in a X Factor value.
Parameters:
_percentValue : (float) Percentual value to be transformed.
_minXFactor : (float) Minimum X Factor to that the conversion occurs. Optional. Default = 10.
Returns: (string) A formated string.
isLong()
Check if the open trade direction is long.
Returns: (bool) True if the open position is long.
isShort()
Check if the open trade direction is short.
Returns: (bool) True if the open position is short.
lastPrice()
Returns the entry price of the last openned trade.
Returns: (float) The last entry price.
barsSinceLastEntry()
Returns the number of bars since last trade was oppened.
Returns: (series int)
getBotNameFrosty()
Return the name of the FrostyBot Bot.
Returns: (string) A string containing the name.
getBotNameZig()
Return the name of the FrostyBot Bot.
Returns: (string) A string containing the name.
getTicksValue(_currencyValue)
Converts currency value to ticks
Parameters:
_currencyValue : (float) Value to be converted.
Returns: (float) Value converted to minticks.
getSymbol(_botName, _botCustomSymbol)
Formats the symbol string to be used with a bot
Parameters:
_botName : (string) Bot name constant. Either BOT_NAME_FROSTY or BOT_NAME_ZIG. Optional. Default is empty string.
_botCustomSymbol : (string) Custom string. Optional. Default is empy string.
Returns: (string) A string containing the symbol for the bot. If all arguments are empty, the current symbol is returned in Binance format.
showProfitLossBoard()
Calculates and shows a board of Profit/Loss through the years.
Returns: Nothing.
Forex Strength IndicatorThis indicator will display the strength of 8 currencies, EUR, AUD, NZD, JPY, USD, GBP, CHF, and CAD. Each line will represent each currency. Alongside that, Fibonacci levels will be plotted based on a standard deviation from linear regression, with customizable lengths.
For more steady Fibonacci levels, use higher lengths for both Standard Deviations and Linear Regression. All currency lines come from moving averages with options like EMA, SMA, WMA, RMA, HMA, SWMA, and Linear Regression.
When lines of the active pair are far from each other, it means higher divergence in those currency strengths among the other pairs. The closer the lines are, the lower the divergence.
You can use the Fibonacci levels as points for the reversal or end of the current trend. When the lines cross can be used as a parameter for a more accurate signal of the next movement.
All 28 pairs are loaded from the same time frame and will use the same moving average for all of them
Alerts from the line crossing are available.
Selected Dates Filter by @zeusbottradingWe are presenting you feature for strategies in Pine Script.
This function/pine script is about NOT opening trades on selected days. Real usage is for bank holidays or volatile days (PPI, CPI, Interest Rates etc.) in United States and United Kingdom from 2020 to 2030 (10 years of dates of bank holidays in mentioned countries above). Strategy is simple - SMA crossover of two lengts 14 and 28 with close source.
In pine script you can see we picked US and GB bank holidays. If you add this into your strategy, your bot will not open trades on those days. You must make it a rule or a condition. We use it as a rule in opening long/short trades.
You can also add some of your prefered dates, here is just example of our idea. If you want to add your preffered days you can find them on any site like forexfactory, myfxbook and so on. But don’t forget to add function “time_tradingday ! = YourChoosedDate” as it is writen lower in the pine script.
Sometimes the date is substituted for a different day, because the day of the holiday is on Saturday or Sunday.
Made with ❤️ for this community.
If you have any questions or suggestions, let us know.
The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold zeusbottrading TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script.
TechnicalRating█ OVERVIEW
This library is a Pine Script™ programmer’s tool for incorporating TradingView's well-known technical ratings within their scripts. The ratings produced by this library are the same as those from the speedometers in the technical analysis summary and the "Rating" indicator in the Screener , which use the aggregate biases of 26 technical indicators to calculate their results.
█ CONCEPTS
Ensemble analysis
Ensemble analysis uses multiple weaker models to produce a potentially stronger one. A common form of ensemble analysis in technical analysis is the usage of aggregate indicators together in hopes of gaining further market insight and reinforcing trading decisions.
Technical ratings
Technical ratings provide a simplified way to analyze financial markets by combining signals from an ensemble of indicators into a singular value, allowing traders to assess market sentiment more quickly and conveniently than analyzing each constituent separately. By consolidating the signals from multiple indicators into a single rating, traders can more intuitively and easily interpret the "technical health" of the market.
Calculating the rating value
Using a variety of built-in TA functions and functions from our ta library, this script calculates technical ratings for moving averages, oscillators, and their overall result within the `calcRatingAll()` function.
The function uses the script's `calcRatingMA()` function to calculate the moving average technical rating from an ensemble of 15 moving averages and filters:
• Six Simple Moving Averages and six Exponential Moving Averages with periods of 10, 20, 30, 50, 100, and 200
• A Hull Moving Average with a period of 9
• A Volume-Weighted Moving Average with a period of 20
• An Ichimoku Cloud with a conversion line length of 9, base length of 26, and leading span B length of 52
The function uses the script's `calcRating()` function to calculate the oscillator technical rating from an ensemble of 11 oscillators:
• RSI with a period of 14
• Stochastic with a %K period of 14, a smoothing period of 3, and a %D period of 3
• CCI with a period of 20
• ADX with a DI length of 14 and an ADX smoothing period of 14
• Awesome Oscillator
• Momentum with a period of 10
• MACD with fast, slow, and signal periods of 12, 26, and 9
• Stochastic RSI with an RSI period of 14, a %K period of 14, a smoothing period of 3, and a %D period of 3
• Williams %R with a period of 14
• Bull Bear Power with a period of 50
• Ultimate Oscillator with fast, middle, and slow lengths of 7, 14, and 28
Each indicator is assigned a value of +1, 0, or -1, representing a bullish, neutral, or bearish rating. The moving average rating is the mean of all ratings that use the `calcRatingMA()` function, and the oscillator rating is the mean of all ratings that use the `calcRating()` function. The overall rating is the mean of the moving average and oscillator ratings, which ranges between +1 and -1. This overall rating, along with the separate MA and oscillator ratings, can be used to gain insight into the technical strength of the market. For a more detailed breakdown of the signals and conditions used to calculate the indicators' ratings, consult our Help Center explanation.
Determining rating status
The `ratingStatus()` function produces a string representing the status of a series of ratings. The `strongBound` and `weakBound` parameters, with respective default values of 0.5 and 0.1, define the bounds for "strong" and "weak" ratings.
The rating status is determined as follows:
Rating Value Rating Status
< -strongBound Strong Sell
< -weakBound Sell
-weakBound to weakBound Neutral
> weakBound Buy
> strongBound Strong Buy
By customizing the `strongBound` and `weakBound` values, traders can tailor the `ratingStatus()` function to fit their trading style or strategy, leading to a more personalized approach to evaluating ratings.
Look first. Then leap.
█ FUNCTIONS
This library contains the following functions:
calcRatingAll()
Calculates 3 ratings (ratings total, MA ratings, indicator ratings) using the aggregate biases of 26 different technical indicators.
Returns: A 3-element tuple: ( [(float) ratingTotal, (float) ratingOther, (float) ratingMA ].
countRising(plot)
Calculates the number of times the values in the given series increase in value up to a maximum count of 5.
Parameters:
plot : (series float) The series of values to check for rising values.
Returns: (int) The number of times the values in the series increased in value.
ratingStatus(ratingValue, strongBound, weakBound)
Determines the rating status of a given series based on its values and defined bounds.
Parameters:
ratingValue : (series float) The series of values to determine the rating status for.
strongBound : (series float) The upper bound for a "strong" rating.
weakBound : (series float) The upper bound for a "weak" rating.
Returns: (string) The rating status of the given series ("Strong Buy", "Buy", "Neutral", "Sell", or "Strong Sell").
Weird Renko StratThis strategy uses Renko, it generates a signal when there is a reversal in Renko. When using historical data, it provides a good entry and an okay exit. However, in a real-time environment, this strategy is subject to repaint and may produce a false signal.
As a result, the backtesting result should not be used as a metric to predict future results. It is highly recommended to forward-test the strategy before using it in real trading. I forward test it from 12/18/2022 to 12/21/2022 in paper trading, using the alert feature in Tradingview. I made 60 trades trading the BTCUSDT BINANCE 3 min with 26 as the param and under the condition that I use 20x margin, compounding my yield, and having 0 trading fee, a steady loss is generated: from $10 to $3.02.
This is quite interesting. As if I flip the signal from "Long" to "Short" and another way too, it will be a steady profit from $10 to $21.85. Hence, if I'm trying to anti-trade the real-time alert signal, the current "4 Days Result" will be good. Nevertheless, I still have to forward-test it for longer to see if it will fail eventually.
Dive into the setting of the strategy
- Margin is the leverage you use. 1 means 1x, 10 means 10x. It affects the backtest yield when you backtest
- Compound Yield button is for compound calculation, disable it to go back to normal backtesting
- Anti Strategy button is to do the opposite direction trade, when the original strat told you to "Long", you "Short" instead. Enable it to use the feature
- Param is the block size for the Renko chart
- Drawdown is just a visual tool for you in case you want to place a stop loss (represent by the semitransparent red area in the chart)
- From date Thru Date is to specify the backtest range of the strategy, This feature is turned off by default. It is controlled by the Max Backtest Timeframe which will be explain below
- Max Backtest Timeframe control the From date Thru Date function, disable it to enable the From Date Thru Date function
Param is the most important input in this strategy as it directly affects performance. It is highly recommended to backtest nearly all the possible parameters before deploying it in real trading. Some factors should be considered:
- Price of the asset (like an asset of 1 USD vs an asset of 10000 USD required different param)
- Timeframe (1-minute param is different than 1-month param)
I believe this is caused by the volatility of the selected timeframe since different timeframe has different volatility. Param should be fine-tuned before usage.
Here is the param I'm using:
BTCUSDT BINANCE 3min: 26
BTCUSDT BINANCE 5min: 28
BTCUSDT BINANCE 1day: 15
Background of the strategy:
- The strategy starts with $10 at the start of backtesting (customizable in setting)
- The trading fee is set to 0.00% which is not common for most of the popular exchanges (customizable in setting)
- The contract size is not a fixed amount, but it uses your balance to buy it at the open price. If you are using the compound mode, your balance will be your current total balance. If you are using the non-compound mode, it will just use the $10 you start with unless you change the amount you start with. If you are using a margin higher than 1, it will calculate the corresponding contract size properly based on your margin. (Only these options are allowed, you are not able to change them without changing the code)
KH MA Cross, Very basic script, my first actually.
8, 21, 50 MA,
Crosses of MAs both bullish and or bearish will print a rectangle,
Enjoy,
Kurt Hennig,
28, 10, 22 Build
RSI Buy & Sell Trading ScriptThis is my first attempt at a trading script using the RSI indicator for Buy & Sell signals (so please be nice but would appreciate any constructive comments).
Starting with $100 initial capital and using 10% per trade
You can select which month the backtesting starts
There is also a monthly table (sorry can’t remember who I got this from) that shows the total monthly profits, but you’ll need to turn it on by going into settings, Properties and in the Recalculate section tick the “On every tick” box
It should do the following:
Open Buy order if the RSI > 68 and the current Moving Average is greater than the previous Moving average
• TP1 = 50% of Order at 0.4%
• TP2 = 50% of order at 0.8%
• SL = 2% below entry
• Close Buy order if the RSI < 30
Open Sell order if the RSI < 28 and the current Moving Average is less than the previous Moving average
• TP1 = 50% of Order at 0.4%
• TP2 = 50% of order at 0.8%
• SL = 2% above entry
• Close Buy order if the RSI < 60
I would like to build on this if you have any ideas/ code that could help like the following:
• Move the SL to break even when it hits TP1
• Move the SL to TP1 when TP2 hits
• Moving take profit code so I can let the some of the trade stay in play (activate if it hits 1% profit and close trade if price retracts 0.5%)
True Average Period Traded RangeTrue Average Period Trading Range (TAPTR)
The J. Welles Wilder Average True Range calculation includes the ability to calculate in gaps into the equation.
It is in my opinion that gaps are untraded range values until the prices on their own come back and close the gaps.
The TAPTR calculation is simple, it is the average for a set period of time of the HIGH - LOW.
The ATR average calculation is automatically set based on the timeframe period you are looking at.
12 Months (1 year) = 10 (1 decade)
Months = 12 (1 year)
Weeks = 12 (1 business quarter)
Days = 21 (1 trading month)
4 Hour = 9 (5 trading days)
1 Hour = 33 (5 trading days)
45 minutes = 9 (1 trading day)
30 minutes = 14 (1 trading day)
15 minutes = 28 (1 trading day)
10 minutes = 42 (1 trading day)
5 minutes = 85 (1 trading day)
1 minute = 420 (1 trading day)
default value = 21 (if using a timeframe not described above)
The "master trend" as being a 21 SMA.
The colored columns represent the actual range value for that time period.
Description of values from left to right.
1) Actual Trade Range Value for the time period you are viewing
2) % of price (in decimal, you need multiply by 100 to get the true percent)
3) Average Traded Range
4) % of price
5) .618 of Average Traded Range
6) % of price
7) Mean of #3 and #5
8) % of price
The % of price is displayed in its calculated form. You need to multiple the value by 100 if you want the actual percent.
Example: Displayed Value: 0.0246 = 2.46%
Why calculated form only? If the ranges are .72 and the % of price is 2.32 the indicator looks all jacked up like a redneck's pick-up.
However, if it is .0232, everything is to scale.
Why is % of price helpful?
If you are trading and are aware that average period traded range is 5%, you now have an idea of an average return if you could catch from low to high (or short high to low).
Bar Colors
RED is greater than 4.2x TAPTR
ORANGE is greater than 2.618x TAPTR but less than RED
YELLOW is greater than 1.618x TAPTR but less than ORANGE
GREEN is greater than .618x TAPTR but less than YELLOW
BLUE is less than GREEN
The colors of the bars represent how far from the Master Trend (21 SMA) the close is.
This is determined by taking the difference between the close and the 21 SMA and dividing by the current TAPTR.
EXAMPLE:
IF you have a RED bar, the close is greater than 4.2 TAPTRs away from the 21 SMA. This means that either prices will stall and remain flat until
the SMA comes to the prices or turn and return to the SMA.
If prices are greater than 4.2 TAPTR, that also represents that it is greater than 4 or more time periods from the mean if the return traded within the averages.
Fast v Slow Moving Averages Strategy (Variable) [divonn1994]This is a simple moving average based strategy that takes 2 moving averages, a Fast and a Slow one, plots them both, and then decides to enter a 'long' position or exit it based on whether the two lines have crossed each other. It goes 'long when the Fast Moving Average crosses above the Slow Moving Average. This could indicate upwards momentum in prices in the future. It then exits the position when the the Fast Moving Average crosses back below. This could indicate downwards momentum in prices in the future. This is only speculative, though, but sometimes it can be a very good indicator/strategy to predict future action.
I've tried some strategy settings and I found different promising strategies. Here are a few:
BTCUSD ( BitStamp ) 1 Day Timeframe : EMA, Fast length 25 bars, Slow length 62 bars => 28,792x net profit (default)
BTCUSD ( BitStamp ) 1 Day Timeframe : VWMA, Fast length 21 bars, Slow length 60 bars => 15,603x net profit
BTCUSD ( BitStamp ) 1 Day Timeframe : SMA, Fast length 18 bars, Slow length 51 bars => 19,507x net profit
BTCUSD ( BitStamp ) 1 Day Timeframe : RMA, Fast length 20 bars, Slow length 52 bars => 5,729x net profit
BTCUSD ( BitStamp ) 1 Day Timeframe : WMA, Fast length 29 bars, Slow length 60 bars => 19,869x net profit
Features:
-You can choose your preferred moving average: SMA , EMA , WMA , RMA & VWMA .
-You can change the length average for each moving average
-I made the background color Green when you're currently in a long position and Red when not. I made it so you can see when you'd be actively in a trade or not. The Red and Green background colors can be toggled on/off in order to see other indicators more clearly overlayed in the chart, or if you prefer a cleaner look on your charts.
-I also have a plot of the Fast moving average and Slow moving average together. The Opening moving average is Purple, the Closing moving average is White. White on top is a sign of a potential upswing and purple on top is a sign of a potential downswing. I've made this also able to be toggled on/off.
Let me know if you think I should change anything with my script, I'm always open to constructive criticism so feel free to comment below :)
Revolver Oscillator Strategy 1.2 (RSI+UO+MFI)ROS (Revolver Oscillator Strategy)
Version 1.2
Description
This script combines three popular oscillators (RSI, Ultimate Oscillator and MFI) to accurately determine the price momentum of an asset.
Context
- RSI (Relative Strength Index) is a momentum oscillator that measures the speed and change of price movements over a period of time (14).
- Ultimate Oscillator uses three different periods (7, 14, and 28) to represent short, medium, and long-term market trends.
- Money Flow Index (MFI) is a momentum indicator that measures the flow of money into and out over a period of time. It is related to the Relative Strength Index (RSI) but incorporates volume, whereas the RSI only considers price
How does it work?
When a RED bar appears, it means that the three oscillators have exceeded the set thresholds, and it is a SELL signal.
When a GREEN bar appears, it means that the three oscillators are below the set thresholds, and it is a BUY signal.
I recommend leaving the default settings.
Masculine Relative StrengthThis relative strength indicator compares the G8 currencies against each other in all 28 combinations. It uses the 200 period moving average as a scoring system. For example on eurusd if current price action is above the MA that is +1 for the eur and -1 for the dollar and the inverse is applied if current price is under the 200 ma. The higher the number the stronger the currency. The weaker the number the weaker the currency. Pair the strongest currency with the weakest. This indicator does not guarentee profits and past performance does not guarentee the same future results.
even_better_sinewave_mod
Description:
Even better sinewave was an indicator developed by John F. Ehlers (see Cycle Analytics for Trader, pg. 159), in which improvement to cycle measurements completely relies on strong normalization of the waveform. The indicator aims to create an artificially predictive indicator by transferring the cyclic data swings into a sine wave. In this indicator, the modified is on the weighted moving average as a smoothing function, instead of using the super smoother, aim to be more adaptive, and the default length is set to 55 bars.
Sinewave
smoothing = (7*hp + 6*hp_1 + 5*hp_2+ 4*hp_3 + 3*hp_4 + 2*hp5 + hp_6) /28
normalize = wave/sqrt(power)
Notes:
sinewave indicator crossing over -0.9 is considered to beginning of the cycle while crossing under 0.9 is considered as an end of the cycle
line color turns to green considered as a confirmation of an uptrend, while turns red as a confirmation of a downtrend
confidence of using indicator will be much in confirmation paired with another indicator such dynamic trendline e.g. moving average
as cited within Ehlers book Cycle Analytic for Traders, the indicator will be useful if the satisfied market cycle mode and the period of the dominant cycle must be estimated with reasonable accuracy
Other Example
BlackMEX - Production CostBitcoin's Value as determined by Joules of energy input only
Calculations per Medium article EV = (Energy-in) / (Supply Growth Rate) * (Fiat Factor)
Historic Energy Efficiency data can only be entered monthly due to processing speed constraints of below data load and should be considred an estimate only.
Energy Efficiency Data requires manual updating. Currently accurate as of 28 December 2019
Bitcoin Production Cost
Cambridge Bitcoin Electricity Consumption Index (CBECI) - Bitcoin's global electricity consumption in TwH.
NB: Uses MONTHLY averages of raw data from CBECI. TV script run-time is too slow with Daily/Weekly data here.
This requires manual updating once a month for ongoing accuracy.
Weighted Relative Strength IndexWRSI uses 3 different user defined time frames with user defined weight on each time frame to give a final RSI value
Default values:
RSI 1 = 5 minute timeframe with a weightage of 9:14
RSI 2 = 15 minute timeframe with a weightage of 4:14
RSI 1 = 60 minute timeframe with a weightage of 1:14
Works best on a 15 min chart.
Please note this indicator will show exactly same values on all time frame charts so if you are looking at a daily chart you may want to change to 60 min, Daily & Weekly RSI time frame in settings.
The weights used here are basically sqaures of 1,2,& 3, you may choose any numbers that work for you.
The RSI length taken here is 27 (count of nakshatras)
The RSI MA length taken here is 28 (count of nakshatras + Abhijit Nakshatra)
You can obviously change it to what works best for you.
CoinFlip Indicator + StrategyFlip a coin every Monday.
Heads, go long. Tail, go short. Stoploss at 1 ATR, and Take profit at 1 ATR too. 1:1 risk to reward ratio.
After backtesting 2018, 2019, and 2020 with 28 major currency pairs. We are getting close to a 50% win rate with an 8% standard deviation.
Believe it or not, this simple performs better than lots of the popular indicators out there.
Don't believe me? Test it out yourself!!
Use this as a baseline for your backtest and expose all your other crappy indicators :)
HOW TO USE:
As an indicator:
1. Use a daily chart
2. Green arrow below chart, go long, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
3. Red arrow above chart, go short, set a stop-loss at 1 x ATR, and take profit at 1 x ATR
As an indicator:
1. In setting, set a year to test (default to 2020)
2. Go to the strategy tester and observe the stats
P.s. You can also set the period of the ATR to another value other than 14 periods.
SRJ RSI Outperformer StrategyFor Daily timeframe use 100, 40, 21, 200 in input settings.
For 15 Minute time frame use 14, 28, 21, 100 in input settings
Imbalance Identifier With Target BoxTarget Area to help me with my target area for visual reference
Imbalance Identifier - Helps me to see where the trade may come back to
EMA on 1 Minute Time frame for helping to identify Direction to take trades in
I primarily use this as a tool to help me identify very short term direction for scalping small target area (Adjustable)
Preset for the main 28 Forex Pairs, US30,US100,US500 Dax40 and Gold on the 1 Minute timeframe
Multi Day vWAP (Customizable) with AverageIntroducing the Multi-Day vWAP indicator that is fully customizable with average indicator option.
High level overview (default settings):
Default is 10 plots with each setting 1 day apart (1-10 day look back)
Labels for each plot are turned on by default (labels will default to your value, more below)
Use Style tab in options to change colors, plot style, and turn on/off individual plots
Average is turned off by default (style panel will show it's on-- go to Inputs panel and select "Show vWAP Average" to turn on)
Best use case is go to Visibility Panel in options and turn off for Days, Weeks, and Months
To turn off all labels at once go to Style tab and unselect "Labels" checkbox
If you want plots to be as small as possible in Inputs panel set the Plot Width to 0 (zero)
Detail Overview
This indicator will plot your custom daily vWAP values.
You can change the lookback period. If you change the lookback period the label will match your custom value.
For instance, if you change vWAP 1 value to "5", the label for this plot will be 5.
Average Notes:
The average will average all the vWAP values by the divisor. The default is to average all values by 10.
The average will always start to plot from the shortest lookback period. It is not possible to have the average plot before that point.
Trading Tips (default settings)
The simple way to use the vWAP is to treat them as magnets.
For intance,
Generally if price is trading below all the vWAP plots the chart is in a momentum short enviroment. All vWAP areas can be used for upside resistance/reaction areas.
If price is trading above the chart is in a momentum long enviroment and pullbacks can to vWAP levels can be looked as areas of support/reaction.
For instance:
Price is above the current day vWAP and looking to test the previous day vWAP value.
As it approaches the 2 value you are expecting this area to be a reaction area (good trade entry area) for a continuation short trade. Possibly to check back into the current day vWAP value.
I should share that this is a simple way to trade with the vWAP (true success with vWAP is understanding that price trades in vWAP channels).
Stacking and Strong Momentum
The other pattern you should look for is stacking.
For instance on this CL chart:
This chart is strong momentum long.
All 10 day vWAP plots are stacked on top of each other.
Previous action tested below all vWAPs. Price traded thru and came back and retested. Finally closing above all and above the vWAP avearge (red).
When the day vWAP was broke the next target you look for is the 2 vWAP. This reaction area held up and momentum long continued and continuing to trade above current day vWAP.
7 Day Rolling Example (Larger Timeframe)
Another great way to use this indicator is to customize the values for rolling 7 days (5 days for cash markets).
To do this set values to: 7, 14, 21, 28, 35, 42, 49, 56, 63, 70
For instance, this BTC chart:
This chart provides a good example of what you'll find when a chart is at a pivot point.
Price is checking in at the average to remain momentum long.
Upside longer term vWAP plots have been tested and had expected reaction.
Price is trading above the shorter term values.
Simple TA here will note if chart continues to trade above and takes out upper vWAPs long momentum is gaining ground.
On the downside if price trades thru the lower vWAP plots you would expect further downside. In this scenario you would be mindful to expect upside tests before (which could be good entry/reaction areas).
NQ example with 7 day values:
Overall chart is momentum short.
7 is above 14, 21
Maybe early sign of bottom.
If price takes out these values and holds above the buyers have quite a few challenges above.