YinYang RSI Volume Trend StrategyThere are many strategies that use RSI or Volume but very few that take advantage of how useful and important the two of them combined are. This strategy uses the Highs and Lows with Volume and RSI weighted calculations on top of them. You may be wondering how much of an impact Volume and RSI can have on the prices; the answer is a lot and we will discuss those with plenty of examples below, but first…
How does this strategy work?
It’s simple really, when the purchase source crosses above the inner low band (red) it creates a Buy or Long. This long has a Trailing Stop Loss band (the outer low band that's also red) that can be adjusted in the Settings. The Stop Loss is based on a % of the inner low band’s price and by default it is 0.1% lower than the inner band’s price. This Stop Loss is not only a stop loss but it can also act as a Purchase Available location.
You can get back into a trade after a stop loss / take profit has been hit when your Reset Purchase Availability After condition has been met. This can either be at Stop Loss, Entry or None.
It is advised to allow it to reset in case the stop loss was a fake out but the call was right. Sometimes it may trigger stop loss multiple times in a row, but you don’t lose much on stop loss and you gain lots when the call is right.
The Take Profit location is the basis line (white). Take Profit occurs when the Exit Source (close, open, high, low or other) crosses the basis line and then on a different bar the Exit Source crosses back over the basis line. For example, if it was a Long and the bar’s Exit Source closed above the basis line, and then 2 bars later its Exit Source closed below the basis line, Take Profit would occur. You can disable Take Profit in Settings, but it is very useful as many times the price will cross the Basis and then correct back rather than making it all the way to the opposing zone.
Longs:
If for instance your Long doesn’t need to Take Profit and instead reaches the top zone, it will close the position when it crosses above the inner top line (green).
Please note you can change the Exit Source too which is what source (close, open, high, low) it uses to end the trades.
The Shorts work the same way as the Long but just opposite, they start when the purchase source crosses under the inner upper band (green).
Shorts:
Shorts take profit when it crosses under the basis line and then crosses back.
Shorts will Stop loss when their outer upper band (green) is crossed with the Exit Source.
Short trades are completed and closed when its Exit Source crosses under the inner low red band.
So, now that you understand how the strategy works, let’s discuss why this strategy works and how it is profitable.
First we will discuss Volume as we deem it plays a much bigger role overall and in our strategy:
As I’m sure many of you know, Volume plays a huge factor in how much something moves, but it also plays a role in the strength of the movement. For instance, let’s look at two scenarios:
Bitcoin’s price goes up $1000 in 1 Day but the Volume was only 10 million
Bitcoin’s price goes up $200 in 1 Day but the Volume was 40 million
If you were to only look at the price, you’d say #1 was more important because the price moved x5 the amount as #2, but once you factor in the volume, you know this is not true. The reason why Volume plays such a huge role in Price movement is because it shows there is a large Limit Order battle going on. It means that both Bears and Bulls believe that price is a good time to Buy and Sell. This creates a strong Support and Resistance price point in this location. If we look at scenario #2, when there is high volume, especially if it is drastically larger than the average volume Bitcoin was displaying recently, what can we decipher from this? Well, the biggest take away is that the Bull’s won the battle, and that likely when that happens we will see bullish movement continuing to happen as most of the Bears Limit Orders have been fulfilled. Whereas with #2, when large price movement happens and Bitcoin goes up $1000 with low volume what can we deduce? The main takeaway is that Bull’s pressured the price up with Market Orders where they purchased the best available price, also what this means is there were very few people who were wanting to sell. This generally dictates that Whale Limit orders for Sells/Shorts are much higher up and theres room for movement, but it also means there is likely a whale that is ready to dump and crash it back down.
You may be wondering, what did this example have to do with YinYang RSI Volume Trend Strategy? Well the reason we’ve discussed this is because we use Volume multiple times to apply multiplications in our calculations to add large weight to the price when there is lots of volume (this is applied both positively and negatively). For instance, if the price drops a little and there is high volume, our strategy will move its bounds MUCH lower than the price actually dropped, and if there was low volume but the price dropped A LOT, our strategy will only move its bounds a little. We believe this reflects higher levels of price accuracy than just price alone based on the examples described above.
Don’t believe us?
Here is with Volume NOT factored in (VWMA = SMA and we remove our Volume Filter calculation):
Which produced -$2880 Profit
Here is with our Volume factored in:
Which produced $553,000 (55.3%)
As you can see, we wen’t from $-2800 profit with volume not factored to $553,000 with volume factored. That's quite a big difference! (Please note previous success does not predict future success we are simply displaying the $ amounts as example).
Now how about RSI and why does it matter in this strategy?
As I’m sure most of you are aware, RSI is one of the leading indicators used in trading. For this reason we figured it would only make sense to incorporate it into our calculations. We fiddled with RSI for quite awhile and sometimes what logically seems to be the right way to use it isn’t. Now, because of this, our RSI calculation is a little odd, but basically what we’re doing is we calculate the RSI, then turn it into a percentage (between 0-1) that can easily be multiplied to the price point we need. The price point we use is the difference between our high purchase zone and our low purchase zone. This allows us to see how much price movement there is between zones. We multiply our zone size with our RSI multiplication and we get the amount we will add +/- to our basis line (white line). This officially creates the NEW high and low purchase zones that we are actually using and displaying in our trades.
If you found that confusing, here are some examples to why it is an important calculation for this strategy:
Before RSI factored in:
Which produced 27.8% Profit
After RSI factored in:
Which produced 553% Profit
As you can see, the RSI makes not only the purchase zones more accurate, but it also greatly increases the profit the strategy is able to make. It also helps ensure an relatively linear profit slope so you know it is reliable with its trades.
This strategy can work on pretty much anything, but you should tweak the values a bit for each pair you are trading it with for best results.
We hope you can find some use out of this simple but effective strategy, if you have any questions, comments or concerns please let us know.
HAPPY TRADING!
#patterns
APIBridge Candlestick Reversal SystemStrategy Premise
This strategy uses the Wick Reversal System introduced in Pivot Boss and generates signals based on Candlestick Patterns.
– Wick Reversal System
– Extreme Reversal System
– Outside Reversal System
– Doji Reversal System
Wick Reversal System:
1. For a Bullish reversal wick to exist, the close of the bar should fall within the top 35% of the overall range of the candle.
2. For a bearish reversal wick to exist, the close of the bar should fall within the bottom 35% of the overall range of the candle.
Extreme Reversal System:
1. The first bar of the pattern is about two times larger than the average size of the candles in the look-back period.
2. The body of the first bar of the pattern should encompass more than 50% of the bar’s total range, but usually not more than 85%.
3. The second bar of the pattern opposes the first. If the first bar of the pattern is bullish (C > 0), then the second bar must be bearish (C < 0). If the first bar is bearish (C < 0), then the second bar must be bullish (C > 0).
Outside Reversal System:
1. The Engulfing bar of a bullish outside reversal setup has a low that is below the prior bar’s low (L < L) and a close that is above the prior bar’s high (C > H).
2. The Engulfing bar of a bearish outside reversal setup has a high that is above the prior bar’s high (H > H) and a close that is below the prior bar’s low (C < L).
3. The Engulfing bar is usually 5 to 25 percent larger than the size of the average bar in the look-back period.
Doji Reversal System:
1. The open and close prices of the Doji should fall within 10 percent of each other, as measured by the total range of the Candlestick .
2. For a Bullish Doji , the high of the Doji Candlestick should be below the ten-period Simple Moving Average (H SMA (10)).
4. For a Bearish Doji , one of the two bars following the Doji must close beneath the low of the Doji (C < L or C < L).
5. For a Bullish Doji setup, one of the two bars following the Doji must close above the high of the Doji (C > H) or C > H)
Strategy Logic
Long Entry:
When Low Pivot Point and Wick Reversal System and Bullish Wick Reversal Setup Pattern Send, LE
OR When Low Pivot Point and Extreme Reversal System and Bullish Extreme Reversal setup Send ,LE
OR When Low Pivot Point and Outside Reversal System and Bullish Outside Reversal Setup Send LE
OR When Low Pivot Point and Doji Reversal System and Bullish Doji Reversal Setup Send, LE
Long Exit:
Either when SL or Target is hit. If SL/ TGT is not hit and
When High Pivot Point and Wick Reversal System and Bearish Wick Reversal Setup Pattern Send LXSE
OR When High Pivot Point Extreme Reversal System and Bearish Extreme Reversal setup Send LXSE
OR When High Pivot Point Outside Reversal System and Bearish Outside Reversal Setup Send LXSE
OR When High Pivot Point Doji Reversal System and Bearish Doji Reversal Setup Send, LXSE
Short Entry:
When High Pivot Point and Wick Reversal System and Bearish Wick Reversal Setup Pattern Send SE
OR When High Pivot Point Extreme Reversal System and Bearish Extreme Reversal setup Send SE
OR When High Pivot Point Outside Reversal System and Bearish Outside Reversal Setup Send SE
OR When High Pivot Point Doji Reversal System and Bearish Doji Reversal Setup Send, SE
Short Exit:
Either when SL or Target is hit. If SL/ TGT is not hit and
When Low Pivot Point and Wick Reversal System and Bullish Wick Reversal Setup Pattern Send, SXLE
OR When Low Pivot Point and Extreme Reversal System and Bullish Extreme Reversal setup Send ,SXLE
OR When Low Pivot Point and Outside Reversal System and Bullish Outside Reversal Setup Send SXLE
OR When Low Pivot Point and Doji Reversal System and Bullish Doji Reversal Setup Send, SXLE
Candlestick Reversal System Algo Strategy Parameters for TradingView Charts
1.Length: This is number of bars used to calculated Ex: 14 à previous 14 candles are used
2.Backtesting : Use this to backtest the strategy between Starting and Ending Date and time , it can also be used to set trades in future time
3.Alert_Message : Need to copy while creating alert into Message Box
4.Trade Setup : Intraday / Positional (Selecct accordingly)
5.Start Time Stop Time (Session 1) : Intraday / Positional start time and end time of trade for session 1
6.End Session 1 : Define time to exit any existing position taken in session 1 so that exchange charges will not apply
7.Use Second Session : Check this to use second intraday session
8.Start Time Stop Time (Session 2) : Intraday / Positional start time and end time of trade for session 2
9.End Session 1 : Define time to exit any existing position taken in session 2 so that exchange charges will not apply
10.Use Target : check if you want to set required target if not cheque will not applicable
11.Use StopLoss : Cheque if you want to set stop loss if not cheque will not applicable
12.Trailling Stoploss : Cheque if you want to set trailing stop loss if not cheque will not applicable
13.Point Or Percentage For TG SL : Use Points or Percentage as per your choice
14.Target : Set as per the selection of (Point Or Percentage For TG SL)
15.Stop Loss : Set as per the selection of (Point Or Percentage For TG SL)
16.TSL_Type : Select as per your logic in %/ATR/Points
17.TSL_Input : Set in case you select %/Points in TSL_Type
18.ATR Length : Set as per your logic if you select ATR in the field of TSL_Type
19.ATR_Mult : Set as per your logic if you select ATR in the field of TSL_Type
20.Segment : Select segment of your logic EQ/FUTIDX/FUTSTK/OPTIDX/OPTSTK/FUTCUR/FUTCUM (Used in case of option / Futures )
21.Select Expiry Date : Select the expiry date of your trade as per the segment you selected (Used in case of option / Futures )
22.Select Expiry Month : Select the expiry Month of your trade as per the segment you selected (Used in case of option / Futures )
23.Year : Select the expiry Year of your trade as per the segment you selected (Used in case of option / Futures )
24.Quantity : Enter the quantity in which you want to trade (Used in case of option / Futures )
25.Product Type : Select MIS/Normal/ CNC as per your logic (Used in case of option / Futures )
26.Order Type : Select Market/Limit as per your logic (Used in case of option / Futures )
27.Strategy Tag : Enter the value in case you are using webhook / advance template in APIBridgeTM
28.Lotsize : Enter the lotsize as per your lotic and quentity selection (Used in case of option / Futures )
29.STEP (OTM/ATM/ ITM ) : Select OTM(+1)/ATM(0)/ ITM (-1) as per your logic works in case of options only
30.DIFFERENCE_BETWEEN 2 STRIKE : Select difference of 2 strikes you have used in APIBridge symbol setting list, like for Nifty 50 BankNifty 100
31.APIB Port : Set as per provided to you by Algoji in case of webhook / advance templet
The Segment full form is given below
EQ Equity
FUTIDX Future Index
FUTSTK Future Stock
OPTIDX Index Option
OPTSTK Stock Option
FUTCUR Futcur Currency
FUTCUM Future Commodity
Bjorgum Double Tap█ OVERVIEW
Double Tap is a pattern recognition script aimed at detecting Double Tops and Double Bottoms. Double Tap can be applied to the broker emulator to observe historical results, run as a trading bot for live trade alerts in real time with entry signals, take profit, and stop orders, or to simply detect patterns.
█ CONCEPTS
How Is A Pattern Defined?
Doubles are technical formations that are both reversal patterns and breakout patterns. These formations typically have a distinctive “M” or a “W” shape with price action breaking beyond the neckline formed by the center of the pattern. They can be recognized when a pivot fails to break when tested for a second time and the retracement that follows breaks beyond the key level opposite. This can trap entrants that were playing in the direction of the prior trend. Entries are made on the breakout with a target projected beyond the neckline equal to the height of the pattern.
Pattern Recognition
Patterns are recognized through the use of zig-zag; a method of filtering price action by connecting swing highs and lows in an alternating fashion to establish trend, support and resistance, or derive shapes from price action. The script looks for the highest or lowest point in a given number of bars and updates a list with the values as they form. If the levels are exceeded, the values are updated. If the direction changes and a new significant point is made, a new point is added to the list and the process starts again. Meanwhile, we scan the list of values looking for the distinctive shape to form as previously described.
█ STRATEGY RESULTS
Back Testing
Historical back testing is the most common method to test a strategy due in part to the general ease of gathering quick results. The underlying theory is that any strategy that worked well in the past is likely to work well in the future, and conversely, any strategy that performed poorly in the past is likely to perform poorly in the future. It is easy to poke holes in this theory, however, as for one to accept it as gospel, one would have to assume that future results will match what has come to pass. The randomness of markets may see to it otherwise, so it is important to scrutinize results. Some commonly used methods are to compare to other markets or benchmarks, perform statistical analysis on the results over many iterations and on differing datasets, walk-forward testing, out-of-sample analysis, or a variety of other techniques. There are many ways to interpret the results, so it is important to do research and gain knowledge in the field prior to taking meaningful conclusions from them.
👉 In short, it would be naive to place trust in one good backtest and expect positive results to continue. For this reason, results have been omitted from this publication.
Repainting
Repainting is simply the difference in behaviour of a strategy in real time vs the results calculated on the historical dataset. The strategy, by default, will wait for confirmed signals and is thus designed to not repaint. Waiting for bar close for entires aligns results in the real time data feed to those calculated on historical bars, which contain far less data. By doing this we align the behaviour of the strategy on the 2 data types, which brings significance to the calculated results. To override this behaviour and introduce repainting one can select "Recalculate on every tick" from the properties tab. It is important to note that by doing this alerts may not align with results seen in the strategy tester when the chart is reloaded, and thus to do so is to forgo backtesting and restricts a strategy to forward testing only.
👉 It is possible to use this script as an indicator as opposed to a full strategy by disabling "Use Strategy" in the "Inputs" tab. Basic alerts for detection will be sent when patterns are detected as opposed to complex order syntax. For alerts mid-bar enable "Recalculate on every tick" , and for confirmed signals ensure it is disabled.
█ EXIT ORDERS
Limit and Stop Orders
By default, the strategy will place a stop loss at the invalidation point of the pattern. This point is beyond the pattern high in the case of Double Tops, or beneath the pattern low in the case of Double Bottoms. The target or take profit point is an equal-legs measurement, or 100% of the pattern height in the direction of the pattern bias. Both the stop and the limit level can be adjusted from the user menu as a percentage of the pattern height.
Trailing Stops
Optional from the menu is the implementation of an ATR based trailing stop. The trailing stop is designed to begin when the target projection is reached. From there, the script looks back a user-defined number of bars for the highest or lowest point +/- the ATR value. For tighter stops the user can look back a lesser number of bars, or decrease the ATR multiple. When using either Alertatron or Trading Connector, each change in the trail value will trigger an alert to update the stop order on the exchange to reflect the new trail price. This reduces latency and slippage that can occur when relying on alerts only as real exchange orders fill faster and remain in place in the event of a disruption in communication between your strategy and the exchange, which ensures a higher level of safety.
👉 It is important to note that in the case the trailing stop is enabled, limit orders are excluded from the exit criteria. Rather, the point in time that the limit value is exceeded is the point that the trail begins. As such, this method will exit by stop loss only.
█ ALERTS
Five Built-in 3rd Party Destinations
The following are five options for delivering alerts from Double Tap to live trade execution via third party API solutions or chat bots to share your trades on social media. These destinations can be selected from the input menu and alert syntax will automatically configure in alerts appropriately to manage trades.
Custom JSON
JSON, or JavaScript Object Notation, is a readable format for structuring data. It is used primarily to transmit data between a server and a web application. In regards to this script, this may be a custom intermediary web application designed to catch alerts and interface with an exchange API. The JSON message is a trade map for an application to read equipped with where its been, where its going, targets, stops, quantity; a full diagnostic of the current state and its previous state. A web application could be configured to follow the messages sent in this format and conduct trades in sync with alerts running on the TV server.
Below is an example of a rendered JSON alert:
{
"passphrase": "1234",
"time": "2022-05-01T17:50:05Z",
"ticker": "ETHUSDTPERP",
"plot": {
"stop_price": 2600.15,
"limit_price": 3100.45
},
"strategy": {
"position_size": 0.1,
"order_action": "buy",
"market_position": "long",
"market_position_size": 0,
"prev_market_position": "flat",
"prev_market_position_size": 0
}
}
Trading Connector
Trading Connector is a third party fully autonomous Chrome extension designed to catch alert webhooks from TradingView and interface with MT4/MT5 to execute live trades from your machine. Alerts to Trading Connector are simple; just select the destination from the input drop down menu, set your ticker in the "TC Ticker" box in the "Alert Strings" section and enter your URL in the alert window when configuring your alert.
Alertatron
Alertatron is an automated algo platform for cryptocurrency trading that is designed to automate your trading strategies. Although the platform is currently restricted to crypto, it offers a versatile interface with high flexibility syntax for complex market orders and conditions. To direct alerts to Alertatron, select the platform from the 3rd party drop down, configure your API key in the ”Alertatron Key” box and add your URL in the alert message box when making alerts.
3 Commas
3 Commas is an easy and quick to use click-and-go third party crypto API solution. Alerts are simple without overly complex syntax. Messages are simply pasted into alerts and executed as alerts are triggered. There are 4 boxes at the bottom of the "Inputs" tab where the appropriate messages to be placed. These messages can be copied from 3 Commas after the bots are set up and pasted directly into the settings menu. Remember to select 3 Commas as a destination from the third party drop down and place the appropriate URL in the alert message window.
Discord
Some may wish to share their trades with their friends in a Discord chat via webhook chat bot. Messages are configured to notify of the pattern type with targets and stop values. A bot can be configured through the integration menu in a Discord chat to which you have appropriate access. Select Discord from the 3rd party drop down menu and place your chat bot URL in the alert message window when configuring alerts.
👉 For further information regarding alert setup, refer to the platform specific instructions given by the chosen third party provider.
█ IMPORTANT NOTES
Setting Alerts
For alert messages to be properly delivered on order fills it is necessary to place the following placeholder in the alert message box when creating an alert.
{{strategy.order.alert_message}}
This placeholder will auto-populate the alert message with the appropriate syntax that is designated for the 3rd party selected in the user menu.
Order Sizing and Commissions
The values that are sent in alert messages are populated from live metrics calculated by the strategy. This means that the actual values in the "Properties" tab are used and must be set by the user. The initial capital, order size, commission, etc. are all used in the calculations, so it is important to set these prior to executing live trades. Be sure to set the commission to the values used by the exchange as well.
👉 It is important to understand that the calculations on the account size take place from the beginning of the price history of the strategy. This means that if historical results have inflated or depleted the account size from the beginning of trade history until now, the values sent in alerts will reflect the calculated size based on the inputs in the "Properties" tab. To start fresh, the user must set the date in the "Inputs" tab to the current date as to remove trades from the trade history. Failure to follow this instruction can result in an unexpected order size being sent in the alert.
█ FOR PINECODERS
• With the recent introduction of matrices in Pine, the script utilizes a matrix to track pivot points with the bars they occurred on, while tracking if that pivot has been traded against to prevent duplicate detections after a trade is exited.
• Alert messages are populated with placeholders ; capability that previously was only possible in alertcondition() , but has recently been extended to `strategy.*()` functions for use in the `alert_message` argument. This allows delivery of live trade values to populate in strategy alert messages.
• New arguments have been added to strategy.exit() , which allow differentiated messages to be sent based on whether the exit occurred at the stop or the limit. The new arguments used in this script are `alert_profit` and `alert_loss` to send messages to Discord
3 EMA + Stochastic RSI + ATR 3ESRA
v0.2a
Coded by Vaida Bogdan
3ESRA consists of a 3 EMA cross + a close above (for longs) the quickest EMA
or below (for shorts). Note that I've deactivated the RSI Cross Over/Under
(you can modify the code and activate it). The strategy also uses a stop loss
that's at 1 ATR distance from the entry price and a take profit that's at
4 times the ATR distance from the entry price.
Candle Patterns Strategy - 2New risk management system: order entry, moving stop loss to breakeven + moving average filter (SMA)
Candlestick Patterns Strategy (revisited)This strategy is used as a benchmark to see how it compares with other strategies posted by me recently. In all, the below collection of candlestick patterns appears to be one of the best among the ones that can be found here, imho.
Candle Patterns StrategyThe script allows you to test popular candlestick patterns on various instruments and timeframes. In addition, you can configure risk management (if the value is zero, it means the function is disabled), and you can also specify the time of the trading session (for example, so that the positions are not transferred to the next day).
The author is grateful to JayRogers and Phi35, their code examples helped a lot in writing the strategy.
AP_PatternsSysCreator: Andrew Palladino
Date: 10/22/2017
Strategy Name: Pattern Classifier System.
Description:
The strategy automatically classifies common price patterns using price fractals an trades them with an ATR based risk management strategy.
The following patterns are currently supported:
Symmetrical Triangle Breakout Long or Short
Ascending Triangle Long
Descending Triangle Short
Ascending Wedge Short
Descending Wedge Long
Future releases will include:
Rectangle Breakouts Long and Short
Head and Shoulders Patterns
The user has the ability to turn on or off any combinations of the individual patterns above.