Multi-Market Swing Trader Webhook Ready [HullBuster] 
  
 Introduction 
This is an all symbol swing trading strategy intended for webhook integration to live accounts. This script employs an adjustable bandwidth ping pong algorithm which can be run in long only, short only or bidirectional modes. Additionally, this script provides advanced features such as pyramiding and DCA. It has been in development for nearly three years and exposes over 90 inputs to accommodate varying risk reward ratios. Equipped with a proper configuration it is suitable for professional traders seeking quality trades from a cloud based platform. This is my most advanced Pine Script to date which combines my RangeV3 and TrendV2 scripts. Using this combination it tries to bridge the gap between range bound and trending markets. I have put a lot of time into creating a system that could transition by itself so as to require less human intervention and thus be able to withstand long periods in full automation mode.
As a Pine strategy, hypothetical performance can be easily back-tested. Allowing you to Iron out the configuration of your target instrument. Now with recent advancements from the Pine development team this same script can be connected to a webhook through the alert mechanism. The requirement of a separate study script has been completely removed. This really makes things a lot easier to get your trading system up and running. I would like to also mention that TradingView has made significant advancements to the back-end over the last year. Notably, compile times are much faster now permitting more complex algorithms to be implemented. Thank you TradingView!
I used QuantConnect as my role model and strived to produce a base script which could compete with higher end cloud based platforms while being attractive to similarly experienced traders. The versatility of the Pine Language combined with the greater selection of end point execution systems provides a powerful alternative to other cloud based platforms.  At the very least, with the features available today, a modular trading system for everyday use is a reality. I hope you'll agree.
This is a swing trading strategy so the behavior of this script is to buy on weakness and sell on strength. In trading parlance this is referred to as Support and Resistance Trading. Support being the point at which prices stop falling and start rising. Resistance being the point at which prices stop rising and fall. The chart real estate between these two points being defined as the range. This script seeks to implement strategies to profit from placing trades within this region. Short positions at resistance and long positions at support. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation (point, sides and a base). When trading in “Ping Pong” mode long and short positions are interleaved continuously as long as there exists a detectable vertex.
This is a non-hedging script so those of us subject to NFA FIFO Rule 2-43(b) should be generally safe to webhook into signals emitted from this script. However, as covered later in this document, there are some technical limitations to this statement. I have tested this script on various instruments for over two years and have configurations for forex, crypto and stocks. This script along with my TrendV2 script are my daily trading vehicles as a webhook into my forex and crypto accounts. This script employs various high risk features that could wipe out your account if not used judiciously. You should absolutely not use this script if you are a beginner or looking for a get-rich-quick strategy. Also please see my CFTC RULE 4.41 disclosure statement at the end of the document. Really!
Does this script repaint? The short answer is yes, it does, despite my best efforts to the contrary. EMAs are central to my strategy and TradingView calculates from the beginning of the series so there is just no getting around this. However, Pine is improving everyday and I am hopeful that this issue will be address from an architectural level at some point in the future. I have programmed my webhook to compensate for this occurrence so, in the mean time, this my recommended way to handle it (at the endpoint and before the broker).
 Design 
This strategy uses a ping pong algorithm of my own design. Basically, trades bounce off each other along the price stream. Trades are produced as a series of reversals. The point at which a trade reverses is a pivot calculation. A measurement is made between the recent valley to peak which results in a standard deviation value. This value is an input to implied probability calculation.Yes, the same implied probability used in sports betting. Odds are then calculated to determine the likelihood of price action continuing or retracing to the pivot. Based on where the account is at alert time, the action could be an entry, take profit or pyramid signal. In this design, trades must occur in alternating sequence. A long followed by a short then another long followed by a short and so on. In range bound price action trades appear along the outer bands of the channel in the aforementioned sequence.  Shorts on the top and longs at the bottom. Generally speaking, the widths of the trading bands can be adjusted using the vertex dynamics in Section 2. There are a dozen inputs in this section used to describe the trading range. It is not a simple adjustment. If pyramids are enabled the strategy overrides the ping pong reversal pattern and begins an accumulation sequence. In this case you will see a series of same direction trades.
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a C++ program on proprietary trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs play a key role in identifying the pivot points. I really like the Hull Moving Average. I use it in all my systems, including 3 other platforms. It’s is an excellent leading indicator and a relatively light calculation.
The trend detection algorithms rely on several factors:
1. Smoothed EMAs in a Willams Alligator pattern.
2. Number of pivots encountered in a particular direction.
3. Which side debt is being incurred.
4. Settings in Section 4 and 5 (long and short)
The strategy uses these factors to determine the probability of prices continuing in the most recent direction. My TrendV2 script uses a higher time frame to determine trend direction. I can’t use that method in this script without exceeding various TradingView limitations on code size. However, the higher time frame is the best way to know which trend is worth pursuing or better to bet against.
The entire script is around 2400 lines of Pine code which pushes the limits of what can be created on this platform given the TradingView maximums for: local scopes, run-time duration and compile time. The module has been through numerous refactoring passes and makes extensive use of ternary statements. As such, It takes a full minute to compile after adding it to a chart. Please wait for the hovering dots to disappear before attempting to bring up the input dialog box. Scrolling the chart quickly may bring up an hour glass.
Regardless of the market conditions: range or trend. The behavior of the script is governed entirely by the 91 inputs. Depending on the settings, bar interval and symbol, you can configure a system to trade in small ranges producing a thousand or more trades. If you prefer wider ranges with fewer trades then the vertex detection settings in Section 2 should employ stiffer values. To make the script more of a trend follower, adjustments are available in Section 4 and 5 (long and short respectively). Overall this script is a range trader and the setups want to get in that way. It cannot be made into a full blown trend trading system. My TrendV2 is equipped for that purpose. Conversely, this script cannot be effectively deployed as a scalper either. The vertex calculation require too much data for high frequency trading. That doesn’t work well for retail customers anyway. The script is designed to function in bar intervals between 5 minutes and 4 hours. However, larger intervals require more backtest data in order to create reliable configurations. TradingView paid plans (Pro) only provide 10K bars which may not be sufficient. Please keep that in mind.
The transition from swing trader to trend follower typically happens after a stop is hit. That means that your account experiences a loss first and usually with a pyramid stack so the loss could be significant. Even then the script continues to alternate trades long and short. The difference is that the strategy tries to be more long on rising prices and more short on falling prices as opposed to simply counter trend trading. Otherwise, a continuous period of rising prices results in a distinctly short pyramid stack. This is much different than my TrendV2 script which stays long on peaks and short on valleys. Basically, the plan is to be profitable in range bound markets and just lose less when a trend comes along. How well this actually plays out will depend largely on the choices made in the sectioned input parameters.
 Sections 
The input dialog for this script contains 91 inputs separated into six sections.
Section 1: Global settings for the strategy including calculation model, trading direction, exit levels, pyramid and DCA settings. This is where you specify your minimum profit and stop levels. You should setup your Properties tab inputs before working on any of the sections. It’s really important to get the Base Currency right before doing any work on the strategy inputs. It is important to understand that the “Minimum Profit” and “Limit Offset” are conditional exits. To exit at a profit, the specified value must be exceeded during positive price pressure. On the other hand, the “Stop Offset” is a hard limit.
Section 2: Vertex dynamics. The script is equipped with four types of pivot point indicators. Histogram, candle, fractal and transform. Despite how the chart visuals may seem. The chart only receives prices. It’s up to the strategy to interpret patterns from the number stream. The quality of the feed and the symbol’s bar characteristics vary greatly from instrument to instrument. Each indicator uses a fundamentally different pattern recognition algorithm. Use trial and error to determine the best fit for your configuration. After selecting an indicator type, there are eight analog fields that must be configured for that particular indicator. This is the hardest part of the configuration process. The values applied to these fields determine how the range will be measured. They have a big effect on the number of trades your system will generate. To see the vertices click on the “Show Markers” check box in this section. Red markers are long positions and blue markers are short. This will give you an idea of where trades will be placed in natural order.
Section 3: Event thresholds. Price spikes are used to enter and exit trades. The magnitude which define these spikes are configured here. The rise and fall events are primarily for pyramid placement. The rise and fall limits determine the exit threshold for the conditional “Limit Offset” field found in Section 1. These fields should be adjusted one at a time. Use a zero value to disengage every one but the one you are working on. Use the fill colors found in Section 6 to get a visual on the values applied to these fields. To make it harder for pyramids to enter stiffen the Event values. This is more of a hack as the formal pyramid parameters are in Section 1.
Section 4 and 5: Long and short settings. These are mirror opposite settings with all opposing fields having the same meaning. Its really easy to introduce data mining bias into your configuration through these fields. You must combat against this tendency by trying to keep your settings as uniform as possible. Wildly different parameters for long and short means you have probably fitted the chart. There are nine analog and thirteen Boolean fields per trade direction. This section is all about how the trades themselves will be placed along the range defined in Section 2. Generally speaking, more restrictive settings will result in less trades but higher quality. Remember that this strategy will enter long on falling prices and short on rising prices. So getting in the trade too early leads to a draw-down. However, this could be what you want if pyramiding is enabled. I, personally, have found that the best configurations come from slightly skewing one side. I just accept that the other side will be sub-par.
Section 6: Chart rendering. This section contains one analog and four Boolean fields. More or less a diagnostic tool. Of particular interest is the “Symbol Debt Sequence” field. This field contains a whole number which paints regions that have sustained a run of bad trades equal or greater than specified value. It is useful when DCA is enabled. In this script Dollar Cost Averaging on new positions continues only until the symbol debt is recouped. To get a better understanding on how this works put a number in this field and activate DCA. You should notice how the trade size increases in the colored regions. The “Summary Report” checkbox displays a blue information box at the live end of the chart. It exposes several metrics which you may find useful if manually trading this strategy from audible alerts or text messages.
 Pyramids 
This script features a downward pyramiding strategy which increases your position size on losing trades. On purely margin trades, this feature can be used to, hypothetically, increase the profit factor of positions (not individual trades). On long only markets, such as crypto, you can use this feature to accumulate coins at depressed prices. The way it works is the stop offset, applied in the Section 1 inputs, determines the maximum risk you intend to bear.  Additional trades will be placed at pivot points calculated all the way down to the stop price. The size of each add on trade is increased by a multiple of its interval. The maximum number of intervals is limited by the “Pyramiding” field in the properties tab. The rate at which pyramid positions are created can be adjusted in Section 1. To see the pyramids click on the “Mark Pyramid Levels” check box in the same section. Blue triangles are painted below trades other than the primary.
Unlike traditional Martingale strategies, the result of your trade is not dependent on the profit or loss from the last trade. The position must recover the R1 point in order to close. Alternatively, you can set a “Pyramid Bale Out Offset” in Section 1 which will terminate the trade early. However, the bale out must coincide with a pivot point and result in a profitable exit in order to actually close the trade. Should the market price exceed the stop offset set in Section 1, the full value of the position, multiplied by the accepted leverage, will be realized as a loss to the trading account. A series of such losses will certainly wipe out your account.
Pyramiding is an advanced feature intended for professional traders with well funded accounts and an appropriate mindset. The availability of this feature is not intended to endorse or promote my use of it. Use at your own risk (peril).
 DCA 
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the properties tab. The inputs for this feature are found in section 3 and include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
To be sure pyramiding and dollar cost averaging is as close to gambling as you can get in respectable trading exchanges. However, if you are looking to compete in a spot trading contest or just want to add excitement to your trading life style those features could find a place in your strategies. Although your backtest may show spectacular gains don’t expect your live trading account to do the same. Every backtest has some measure of data mining bias. Please remember that.
 Webhook Integration 
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. To that end this script has several things going for it.  First off, it is a strategy type script. That means that the strategy place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.  Additionally, my scripts output the current win streak and debt loss counts in the {{strategy.order.alert_message}} field. Depending on the condition, this script will output other useful values in the JSON “comment” field of the alert message. Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
 Operation 
This is a swing trading strategy so the fundamental behavior of this script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. This is slightly misleading since a range as well as a trend are best recognized, in hindsight, after the patterns occur on the chart. In the middle of a trade, one never knows how deep valleys will drop or how high peaks will rise. For certain, long trades will continue to trigger as the market prices fall and short trades on rising prices. This means that the maximum efficiency of this strategy is achieved in choppy markets where the price doesn’t extend very far from its adjacent pivot point. Conversely, this strategy will be the least efficient when market conditions exhibit long continuous single direction price pressure. Especially, when measured in weeks. Translation, the trend is not your friend with this strategy. Internally, the script attempts to recognize prolonged price pressure and changes tactics accordingly. However, at best, the goal is to weather the trend until the range bound market returns. At worst, trend detection fails and pyramid trades continue to be placed until the limit specified in the Properties tab is reached. In all likelihood this could trigger a margin call and if it hits the stop it could wipe out your account.
This script has been in beta test four times since inception. During all that time no one has been successful in creating a configuration from scratch. Most people give up after an hour or so. To be perfectly honest, the configuration process is a bear. I know that but there is no way, currently, to create libraries in Pine. There is also no way specify input parameters other than the flattened out 2-D inputs dialog. And the publish rules clearly state that script variations addressing markets or symbols (suites) are not permitted. I suppose the problem is systemic to be-all-end-all solutions like my script is trying to be. I needed a cloud strategy for all the symbols that I trade and since Pine does not support library modules, include files or inter process communication this script and its unruly inputs are my weapon of choice in the war against the market forces. It takes me about six hours to configure a new symbol. Also not all the symbols I configure are equally successful. I should mention that I have a facsimile of this strategy written in another platform which allows me to run a backtest on 10 years of historical data. The results provide me a sanity check on the inputs I select on this platform.
My personal configurations use a 10 minute bar interval on forex instruments and 15 minutes on crypto. I try to align my TradingView scripts to employ standard intervals available from the broker so that I can backtest longer durations than those available on TradingView. For example, Bitcoin at 15 minute bars is downloadable from several sources. I really like the 10 minute bar. It provides lots of detectable patterns and is easy to store many years in an SQL database.
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configurations that I use for my own trading that I can share with you if you like. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and ROC in Section 2. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 4 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 5 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Turn off Show Markers in Section 2.
Step 13. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. Note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 14. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 15. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 16. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 17.
Step 17. Improve the backtest profitability by adjusting the “Entry Net Change” and “Entry ROC” in Section 4 and 5. 
Step 18. Enable the “Mandatory Snap” checkbox in Section 4 and 5 and adjust the “Snap Candle Delta” and “Snap Fractal Delta” in Section 2. This should reduce some chop producing unprofitable reversals.
Step 19. Increase the distance between opposing trades by adding an “Interleave Delta” in Sections 4 and 5. This is a floating point value which starts at 0.01 and typically does not exceed 2.0.
Step 20. Increase the distance between opposing trades even further by adding a “Decay Minimum Span” in Sections 4 and 5. This is an absolute value specified in the symbol’s quote currency (right side scale of the chart). This value is similar to the minimum profit and stop loss fields in Section 1.
Step 21. The “Buy Composite Strength” input works in tandem with “Long Decay Minimum Span” in Section 4. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Long Decay Minimum Span”.
Step 22. The “Sell Composite Weakness” input works in tandem with “Short Decay Minimum Span” in Section 5. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Short Decay Minimum Span”.
Step 23. Improve the backtest profitability by adjusting the “Adherence Delta” in Section 4 and 5. This field requires the “Adhere to Rising Trend” checkbox  to be enabled.
Step 24. At this point your strategy should be more or less working. Experiment with the remaining check boxes in Section 4 and 5. Keep the ones which seem to improve the performance.
Step 25. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Fractal indicator captures the tallest peaks and valleys. The Transform indicator is the most reliable but doesn’t well work on all instruments.
 Example Settings 
To reproduce the performance shown on the chart please use the following configuration:
1.  Select XBTUSD Kraken as the chart symbol.
2.  On the properties tab set the Order Size to: 0.01 Bitcoin
3.  On the properties tab set the Pyramiding to: 10
4.  In Section 1: Select “Forex” for the Instrument Type
5.  In Section 1: Select “Ping Pong” for the Trading Mode
6.  In Section 1: Input 1200 for the Minimum Profit
7.  In Section 1: Input 15000 for the Stop Offset
8.  In Section 1: Input 1200 for the Pyramid Minimum Span
9.  In Section 1: Check mark the Ultra Wide Pyramids
10. In Section 2: Check mark the Use Transform Indicator
So to be clear, I used a base position size of one - one hundredth of a Bitcoin and allow the script to add up to 10 downward pyramids. The example back-test did hit eight downward pyramids. That means the account would have to be able to withstand a base position size (0.01) times 28. The resulting position size is 0.28 of a Bitcoin. If the price of Bitcoin is 35K then the draw down amount (not including broker fees) would be $9800 dollars. Since I have a premium subscription my backtest chart includes 20K historical bars. That's roughly six months of data. As of today, pro accounts only get 10K bars so the performance cannot be exactly matched with such a difference in historical data. Please keep that in mind.
There are, of course, various ways to reduce the risk incurred from accumulating pyramids. You can increase the “Pyramid Minimum Span” input found in Section 2 which increases the space between each pyramid trade. Also you can set a “Pyramid Bale Out Offset” in the same input section. This lets you out of the trade faster on position recovery. For example: Set a value of 8000 into this input and the number of trades increase to 178 from 157. Since the positions didn’t go full term, more trades were created at less profit each. The total brute force approach would be to simply limit the number of pyramids in the Properties tab.
It should be noted that since this is crypto, accumulating on the long side may be what you want. If you are not trading on margin and thus outright buying coins on the Kraken exchange you likely are interested in increasing your Bitcoin position at depressed prices. This is a popular feature on some of the other crypto trading packages like CryptoHopper and Profit Trailer. Click on Enable TV Long Only Rule in Section 1. This switches the signal emitter to long only. However, you may still see short trades on the chart. They are treated as a close instead of a reversal.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
 CFTC RULE 4.41 
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
Crypto
Ichimoku with MACD/ CMF/ TSIThis is a very powerful trend strategy designed for markets such as stocks market , stock index and crypto.
For time frames I found out that 1h seems to do the trick.
Components:
Ichimoku full pack
MACD histogram
CMF oscillator
TSI oscillator
Rules for entry
Long : 
For Ichimoku:Tenkan part of cloud is bigger than kijun, Chikou is above 0 , close of a candle is above the Senkou
MACD histogram is above 0
CMF oscillator is positive and bigger than 0.1
TSI oscillator is above 0
Short: 
For Ichimoku:Tenkan part of cloud is smaller than kijun, Chikou is below 0 , close of a candle is belowthe Senkou
MACD histogram is below 0
CMF oscillator is negative and below -0.1
TSI oscillator is below 0
Rules for exit
This strategy does not have any risk management inside. Instead it exits whenver it receives an opposite signal form the original one used for entry.
If you have any questions let me know !
Supertrend LSMA long StrategyThis is a long strategy which combines Super trend indicator with LSMA moving average.
In general it tends to works better with long trending markets such as stocks and cryptos using a big timeframe.
The rules are simple
Long entry:
Supertrend is telling us to go long and close of a candle is above moving average
Long exit:
Supertrend is telling us to go short
IF you have any questions, let me know !
Aroon Strategy long onlyThis is a simple long only strategy made of Aroon and Least Square moving average.
The rules are simple:
Long entry = crossover of upper part with the lower part from aroon and close of the candle is above the moving average
Long exit = crossunder of upper part with the lower part from aroon and close of the candle is below the moving average
IF you have any questions let me know !
Pivot Reversal strategy long onlyPivot Point Reversal Strategy
Pivot point reversal strategy is based on the first support level’s price action during the bullish trend and the first resistance level during the bearish trend . Traders follow the main trend and enter into the trade after reversal analyzing pivot point levels.
This version is an upgraded version, combining the initial pivot point reversal strategy together with one of the most accuracy moving average in my opinion for day trade, the Least square moving average.
At the same time I applied an option to backtest using a date range and a leverage calculator.
The default options are optimized for BTC /USDT 2H charts, using 0.1% comission fee.
If you have any questions, let me know
Crypto RSI with RVI StrategyThis is a long only strategy adapted for crypto market.
Its idea is to take the most juice out of a long trend and cut the losses as soon as possible.
For this , its components are RSI with a very big length - 100 or 200 preferably and RVI.
Rules for entry
If RVI is in the buy zone and we have a crossover from RSI with the overbought level.
Rules for exit
With change condition : If RVI is in the sell zone and we have a cross under from RSI with the oversold level.
With stop loss : we have a SL based on movement in % of the price, recommendable between 5-10%.
If you have any questions let me know !
Ichimoku + RSI Crypto trending strategyThis is a crypto trending strategy designed for big timeframes such as 3-4h+.
Its components are:
RSI
ICHIMOKU full pack
Heikin Ashi candles for logic calculation inside
Rules for entry.
For long : we have a long cross condition on ichimoku and price is above the ichimoku lines, and at the same time RSI value is > 50.
For long : we have a short cross condition on ichimoku and price is below the ichimoku lines, and at the same time RSI value is < 50.
Rules for exit
We exit whenever we receive an opposite signal of the initial entry.
SInce this strategy is using no risk management inside, I recommend to be careful with it .
If you have any questions, let me know !
BTC Sentiment analysis RSI 2xEMAThis is a CRYPTO correlation strategy, which is using BTC sentiment with BITFINEX long and short ratios.
WIth them we are making from one side 2 RSI, one for long and another for short. And from another side, we are going to make multiple EMA's, using the ratios for long and short.
Rules for entry
For this scenario I created a long only strategy.
The long entry condition is : we have a crossover of the rsi long ratio with rsi short ratio and long ratio from BITFINEX is above the long EMA and short ratio from BITFINEX is below short EMA.
We exit when we get the opposite condition, in this case  we have a crossunder of the rsi long ratio with rsi short ratio and long ratio from BITFINEX is below the long EMA and short ratio from BITFINEX is above short EMA.
If you have any questions, let me know !
3 RSI 6sma/ema ribbon crypto strategyThis is a very efficient swing trading strategy designed for crypto long timeframes like 2h+.  
Initially we have 3 RSI .  
AFter that we use them as source for 6 SMA/EMA for each RSI, 5, 30, 50, 70, 90, 100. With those we create a ribbon that we are going to use in order to check the direction of the trend.  
Rules for entry: 
For long : if either all the SMA/EMA's from the 2nd RSI are telling us to go long, or all the all SMA/EMA's from the 3rd rsi are telling us to go long   F
For short : if either all the SMA/EMA's from the 2nd RSI are telling us to go short, or all the all SMA/EMA's from the 3rd rsi are telling us to go short   
We exit when we get an opposite condition than the entry one.   
Caution: this strategy has no risk management inside, so use it with caution.   If you have any questions , let me know !   
BTC Candle Correlation Strategy This is a special strategy adapted for crypto market, which instead of using the current chart candles, we use inside calculation a candle from different charts.
For best usage I recommend a big timeframe like 1-4h+.
In this case we take the high, low, open and close candles from different brokers for BTC, and with it we form up the candle that we are going to use for the logic of entry.
At the same time we are going to create an upper and lower bands using a moving average and the difference between high and low.
So in a way to put it, if BTC triggers a sell or buy order, we input instead these orders on the current chart, like in this example with ETH.
Rules for entry
For long : if we have a crossover of the btc source value with the upper band .
For short: if we have a crossunder of the btc source vale with the lower band.
For exit, we do it when we receive a different signal than the initial one.
This strategy does not have any other risk management inside, so use it with caution.
If you have any other questions, let me know !
Multi-X by HamidBoxHello to All, introducing Multi Types Crossover strategy,
simply the best way of trading with Crossover and Crossunder Strategy, How it Works???
I added 5 types of Moving Averages,
1: Simple Moving Average ( SMA )
2: Exponential Moving Average ( EMA )
3: Weighted Moving Average ( WMA )
4: Volume Weighted Moving Average ( VWMA )
5: Relative Moving Average (RMA)
With this indicator, you can do scalping, You can trade not only with similar types of Moving Average indicators but also with different types of Moving Average indicators.
what is mean? like: Normal Condition is:
( Simple Moving Average ) Crossover to ( Simple Moving Average ), SMA x SMA
( Exponential Moving Average ) Crossover to ( Exponential Moving Average ), EMA x EMA
But we can Crossover with:
( Exponential Moving Average ) Crossover to ( Simple Moving Average ), EMA x SMA
( Simple Moving Average ) Crossover to ( Weighted Moving Average ), SMA x WMA
( Weighted Moving Average ) Crossover to ( Weighted Moving Average ), WMA x WMA
( Simple Moving Average ) Crossover to (Relative Moving Average), WMA x RMA
and also I added Moving Average ZONE in this tool, What does it work???
The zone will tell us what type of direction the market has, if the market is above the zone, it's mean we have a Bullish Trend, and if the market is below the zone, it means the market has a Bearish Trend,
so if you want to play on the safe side, never trade when the market is in Bearish Trend, and if you want to play on aggressive mood, you can skip Moving Average Zone section. 
GMMAs v2.0 CRYPTO [badshah_e_alam]Hello Traders , 
The GMMAs v2.0 CRYPTO strategy stands for gap modified moving averages designed for cryptos. This is a non Repainting Indicator.
This strategy version is a advanced and modified to one of my previously published indicator named as "gap modified moving average".
I am using my Modified Moving Average indicator for a while. I always wanted to add some more information to moving 
averages and made some modification to Moving averages.
The additional Information I have added to the Moving Average helps it to act more quickly based on the price of that
particular asset.
How is strategy gives signals?
when the GMMA'w cross over or cross under the GMMA'y than a trade is taken depending on the filter status.
 Info about the settings :
 
The default setting is for 11m ETHUSD , it works with other cryptos and other timeframe as well . For other timeframes it need to be fine tuned and need little change.
The first category is for the selection of Moving average to be modified and the source to be used for that moving average .
I have added seven moving averages to choose between. SMA works good for me , you can choose and play with other MAs.
following are the option to choose MAs
1.EMA
2.SMA
3.HMA
4.RMA
5.WMA
6.VWMA
7.SWMA
Next option in setting is GMMA'y and GMMA'w :
these two settings define the length and lookback period of the MA you have choosed above.
The length is similar to the length of the moving average chosen to be modified. 
The lookback option will look for that number of bars for the modification.
GMMA'w is more sensitive than the GMMA'y. So make sure that the setting input of the GMMA'y is significantly larger than the 
GMMA'w.
FILTER:
I have added TradingView inbuilt SUPERTREND as a filter in the strategy, it works very good in filtering out false trades 
you can enable/disable it in the settings.
EXIT strategy:
The exit Strategy is based on ATR, Take profit and SL are decided by the ATR in the SL/TP setting option. You can change the RR ratio in the setting.
The backtest settings are as follow: 
Initial capital:10k
Initial Commission = 0.000
Initial Pyramiding = 0
 Reference :
Thanks to pinecoders and Tradingview community.
my previous gap modified moving average version is :https://in.tradingview.com/script/e3WestBa-Gap-Modified-Moving-Average/
watermark added from: 
color gradient framework picked from :https://in.tradingview.com/script/hqH4YIFa-Color-Gradient-Framework-PineCoders/
 DISCLAIMER
Any and all liability for risks resulting from investment transactions or other asset dispositions carried out by the user based on information received or a market analysis is expressly excluded by me.
All the information made available here is generally provided to serve as an example only, without obligation and without specific recommendations for action. It does not constitute and cannot replace investment advice. We therefore recommend that you contact your personal financial advisor before carrying out specific transactions and investments.
Do your own research and Risk management before taking any trade.
CryptoKillerCryptoKiller is a trend following trading system. It provides entry and exit points, a money management system and a trade management system.
The entry points (fuchsia line) are determined by CryptoKiller Oscillator (see other published script to understand how the oscillator works).
The trade management system provides the exit points in profit and in loss. This script works with multiple take profits (green lines), the initial position is liquidated little by little as the trend reaches the profit targets. Trade management also provides trailing stop exits to save the remaining profits.
Stop loss (red line) take into account the recent past of the chart to be determined, while take profits are fixed and have been calculated based on historical volatility.
The money management system is very simple, it plans to enter a position with a fixed percentage with respect to equity.
CryptoKiller, during an operation,  also draws supports and resistances on the chart - determined by the oscillator (orange lines) these supports and resistances are used as a filter to understand where there is the greatest probability of trend development (some entry points provided by the oscillator will therefore not be considered by CryptoKiller as entry points, as in disagreement with the traced supports / resistances).
We know that an error appears in the backtest calculation, where the script is said to suffer from a bias, so the backtest calculation may not be accurate. Actually this happens in high times like H4 or daily, but CryptoKiller is not designed for these timeframes. it is a short-term strategy.
For more information read the author's instructions to contact us, we will send a PDF file with a more complete explanation of the strategy accompanied by screenshots.
Access to this script is granted along with access to CryptoKiller Oscillator.
Ichimoku Cloud Strategy Long Only [Bitduke]Slightly modificated and optimized for Pine Script 4.0, Ichimoku Cloud Strategy which, suddenly, good suitable for the several crypto assets.
 Details: 
Enter position when conversion line crosses base line up, and close it when the opposite happens. 
Additional condition for open / close the trade is lagging span, it should be higher than cloud to open position and below - to close it.
 Backtesting:  
Backtested on SOLUSDT ( FTX, Binance )
+150% for 2021 year, 8% dd
+191% for all time, 32% dd
Disadvantages: 
- Small number of trades
- Need to vary parameters for different coins (not very robust)
 Should be tested carefully for other coins / stock market. Different parameters could be needed or even algo modifications. 
 Strategy doesn't repaint.
mark strategy2 divergence bot v0.5 for xbtusdHi first of all thanks for read this.
This is my second strategy for make trading, I optimized it for xbtusd with 30 min charts.
You can personalize some setting for reach a better result then me, these are the setting:
this script is only for long trade, so bearish divergence don't work
1)ema1
U can change this value for use another ema and use a faster  or slower trend
2)ema2
U can change this value for use another ema and use a faster  or slower trend
3)pivot right
U can change this value for watch a number of bar on your right
4)pivot left
U can change this value for watch a number of bar on your left
5)high range
U can change this value for watch a max number of bar
6)low range
U can change this value for watch a min number of bar
7)bullish
U can change this value for enable signal with bullish divergence
8)hidden bullish
U can change this value for enable signal with hidden bullish divergence
9)bearish
U can change this value for enable signal with bearish divergence
10)hidden bearish
U can change this value for enable signal with hidden bearish divergence
11)profit 1 %
U can change this value for the first take profit target
12)profit 2 %
U can change this value for the second take profit target
13)qty target 1 %
U can change this value for close a % of your trade at target 1
14)loss %
U can change this value for close the trade at a % of loss
Have nice day and send me a message if u will earn with my strategy.
If u want my code send me a message
for info send me a message 
Crypto EMA Trend Reversal StrategyThis is an EMA crossover strategy which involves 5 EMAs to trigger trades. The strategy has two take profit settings and uses a stop loss.
TP1 and SL are based on ATR and TP2 is an EMA crossover.
The strategy goes both long and short and the default settings work particularly well as a scalping strategy for ETHUSDT on the 5M time frame.
I have also created another version with tweaked settings for scalping LINKUSDT on the 5M with very similar results.
There is an option to add a volume condition parameter within the script on lines 26-28 which can be added to the end of lines 34-35 in the following format: and vol_cond
I personally don't currently use the volume condition parameter.
MACD Signal with RSI Indicating StrategyThis strategy looks for MACD signal crossover and RSI confirmation of oversold/overbought condition.
Tune to your crypto/stock for best results using the strategy and sent an alert.  Currently set up to use 25% of equity at each buy signal and will sell 1/3 of position at each sell signal.  Initial investment is $1000, but adjust as necessary.
Currently tuned to DOGEUSD on 30min chart.
If you like/use/profit, follow me or shoot me a donation.  If you are looking for a script design, I can help.
Simple MACD + 200EMA StrategyThis script is based on classic MACD / 200EMA strategy.
It takes a Long trade when MACD line crossup Signal line, when both below Zero line, and Close price above 200 EMA.
It takes a Short trade when MACD line crossdown Signal line, when both above Zero line, and Close price below 200 EMA
It seems to have decent results with 1:1.5 Risk/Reward, with 30min TF (on cryptocurrency market)
It has a number of 1 per day on average.
 FEATURES 
ORDERS
You can have both Long and Short, or disable one.
STOPLOSS
Stoploss is based on last swing (high or low). You can adjust the lookback period of the swing.
TAKE PROFIT
For now, there is 2 possibilities for TP :
Using adjustable Risk/Reward ratio (Trailing Stoploss need to be at 0)
Using adjustable Trailing Stoploss percentage (RR Ratio need to be at 0)
Results below are with this parameters :
 
 Start date 01/01/2021
 1:1.5 RR ratio
 100USD Initial capital
 100USD Order Size
 0.01% Commission fees.
Patient Volatility SniperThis strategy waits for moments of high volatility where an asset is significantly overbought/oversold and makes very short trades.
When the indicator line spikes, it means the script sees a "window of opportunity." However, it will only enter a position if the underlying oscillators are overbought/oversold as determined by the threshold you set.
It does not produce a particularly gaudy net profit compared to many other strategies and can go weeks without making a trade. However, since the win/loss ratio tends to be consistently favorable (based on backtests: see below) it may be useful as a supplement to more "active" trading strategies. 
I backtested it over the last year or so with a handful of different altcoins (specifically: ETH, ADA, DOT, XLM, VET, ZEC, and OMG), and it seems fairly robust. Please keep in mind that past results do not guarantee future success. Feel free to confirm the backtesting for yourself, especially as it may change in the future after this was written.
USAGE NOTE: If you have access to custom timeframes on tradingview, I strongly recommend using this strategy on charts in the range of 10m to 12m. In practice, there's not much of a difference, but I did optimize it for those slightly shorter timeframes. There are a handful of tickers for which it does not seem to work very well once you go up to 15m (notably, as of the time of publishing, DOGE).
Commission fee included because not doing so is unrealistic.
High Low Reversal This bot makes use of an algorithm which detects new highs and lows. When doing long trades, the bot will trigger a buy order on a newly made low. When making shorts, the bot will trigger a short trade on new highs.
Currently, the bot is optimized for cryptocurrencies on the M15 time frame. With the right amount of leverage and portfolio optimization this bot can obtain very strong results.
Feel free to optimize it to your own liking on different assets and/or time frames.
This bot performs exceptionally well in trending markets. Currently, it's only making long trades, but you can make it do short trades in the control panel.
The settings of the back test as follows:
starting capital = 100k
leverage = 1
commission = 0.2%
Equity per trade = 50%. Since the bot only makes one trade at a time you can allow it to use a bigger portion of your balance per trade.
I've also made a study-script for easy implementation on the exchange. You get that script once you get access to this bot.
Stochastic TrendDear community,
I've made another simple trading bot for you to use. This bot is based on the Stochastic Oscillator. It only produces long trades currently.
I changed the oscillation period to a much longer one, which in turn creates opportunities to trade long term trends.
The bot goes long when the Entry lines is crossed from below and it will close its long position once the Exit line has been crossed from above.
Extremely Overfit Bitcoin Long/ShortThis is a highly overfit (in my opinion) script to long/short BTC on the 15m time frame. May be usable for other cryptocurrencies or timeframes with some parameter adjustments. I backtested it on a few exchanges with ETH.
The simplest way to increase the number of trades is to decrease the "FastChannelLength" parameter or increase the "SlowChannelLength" parameter, or both. Decreasing the margins of the channels also increases the number of trades. In GENERAL, you should expect that adding more trades will hurt profitability, because, as the title says, this script is extraordinarily overfit. 
It does include a commission fee from the start, which I find is essential to not providing an overly rosy view of how a strategy would work.
Full strategy Psar+ adx + cmf + rsi This ia full strategy made with a combination of a trender, volume, volatility and oscillator.
In this case we only go long.
Indicators used:
Default PSAR
Default CMF
Modified RSI logic, not using OB/OS
ADX with EMA applied
The rules are : we check if we are in a uptrend on psar, together with a positive value in volume, rsi is above the middle line(50), using a big length, and lastly the ADx is superior to the ema ADx
For exit, we check the opposite, like downtrend psar, negative value volume, rsi < 50, and adx < ema adx
If you have any questions let me know.






















