Volume fight strategyThe Volume fight strategy looks for the predominance of bullish or bearish trading volume on the chart by dividing the trading volume in the bar into 2 parts - "bullish volume" and "bearish volume", and comparing the weighted average values by volume with each other at a given distance.
This strategy is suitable for any instrument (cryptocurrency, Forex, stocks) and is able to work on any TF.
The Volume fight strategy should be used as an auxiliary indicator that tells you who is currently prevailing in the market - " bulls "or"bears".
To configure the strategy , it is necessary to set the range of evaluation of the predominance of bullish or bearish volume (the number of bars, by default-24 bars for TF=1H). The smaller the TF, the higher the range value should be used to filter out false signals.
When there is a predominance of "bulls" on the chart, a green triangle appears (relevant at the close of the bar) and the histogram is highlighted in green, when "bears" appear on the chart, a red triangle appears (relevant at the close of the bar) and the histogram is highlighted in red.
In the strategy settings, there is smoothing to reduce false signals and highlight the flat zone by specifying a percentage, at least which should be the difference between the forces of the "bullish" and "bearish" volume . If the difference between the volume forces is less than the specified one (by default-15%), the zone is considered flat and is displayed in gray on the histogram.
If you set the percentage to zero, the flat zones will not be highlighted, but there will be much more false signals, since the strategy becomes very sensitive when the smoothing percentage decreases.
There is a function-to show the color background of the current trading zone. For" bullish "- green, for" bearish " - red.
In the settings, you can enable the display and use of each signal in the trading zone, not only the initial one, but also each after the flat zone. By default, only the signal of the beginning of the ascending/descending zone is used.
The strategy has alerts for "bullish" and "bearish" movements.
👉Use alerts - "alert() function calls only"
If you have any questions, you can write to me in private messages or by using the contacts in my signature.
----------------------------------------------------
Стратегия Volume fight ищет на графике преобладание бычьего или медвежьего объёма торгов путём разделения торгового объёма в баре на 2 части - "бычий объём" и "медвежий объём", и сравнения средне-взвешенных значений по объёму между собой на заданной дистанции.
Данная стратегия подходит для любого инструмента (криптовалюта, Forex, акции) и способен работать на любом ТФ.
Стратегию Volume fight следует использовать как вспомогательный индикатор, который подсказывает Вам кто сейчас преобладает на рынке - "быки" или "медведи".
Для настройки стратегии необходимо выставить диапазон оценки преобладания бычьего или медвежьего объема (количество баров, по умолчанию - 24 бара для ТФ=1Ч). Чем меньше ТФ, тем выше следует использовать значение диапазона, чтобы отфильтровать ложные сигналы.
При возникновении преобладания на графике "быков" появляется зелёный треугольник (актуален по закрытию бара) и гистограмма подсвечивается зелёным цветом, при возникновении на графике "медведей" появляется красный треугольник (актуален по закрытию бара) и гистограмма подсвечивается красным цветом.
В настройках стратегии есть сглаживание для уменьшения ложных сигналов и выделения зоны флета с помощью указания процента, не менее которого, должна быть разница между силами "бычьего" и "медвежьего" объёма. Если разница между силами объёмов меньше заданного (по умолчанию - 15%), то зона считается флетовой и отображается на гистограмме серым цветом.
Если выставить процент равным нулю, то зоны флета выделяться не будут, но будет гораздо больше ложных сигналов, так как стратегия становится очень чувствительной при снижении процента сглаживания.
Есть функция - показывать цветовой фон текущей торговой зоны. Для "бычьего" - зелёный, для "медвежьего" - красный.
В настройках можно включить отображение и использование каждого сигнал в торговой зоне, не только начального, но и каждого после зоны флета. По умолчанию - только сигнал начала восходящей/нисходящей зоны.
Стратегия имеет оповещения для "бычьего" и "медвежьего" движения.
👉 Используйте оповещения - "Только при вызове функции alert()".
По любым вопросам Вы можете написать мне в личные сообщения или по контактам в моей подписи.
חפש סקריפטים עבור "bear"
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.
ATR with EOM and VORTEXThis is a strategy, designed for long trends for stock and crypto market.
Its made of ATR for volatility, EOM for volume and VORTEX for the trend direction.
In this case on the ATR, I applied an EMA to check if current position is above the EMA -> bull trend, below ema -> bear trend
For EOM I am using the positive and negative value scale, if its positive we are in a bull movement, otherwise a bear movement.
Lastly for VORTEX, I took the min and max, and made an average, after that I am using the average and compare it with 1 value. Above 1 -> bull, belowe 1-> bear.
This strategy only goes long.
If you have any questions, let me know.
Excitement - Crypto Surfer v1For those of us who need more excitement in our crypto journey besides just HODL, here’s a simple crypto robot that trades on the hourly (1H) candles. I call it the Crypto Surfer because it uses the 20 and 40 EMAs (Exponential Moving Averages) to decide when to enter and exit; price tends to “surf” above these EMAs when it is bullish, and “sink” below these EMAs when it is bearish. An additional 160 SMA (Simple Moving Average) with slope-angle detection, was added as a bull / bear filter to reduce the sting of drawdowns, by filtering-out long trades in a prolonged bear market.
USER NOTES:
- This script will buy $10,000 USD worth of crypto-currency per trade.
- It will only open one trade at a time.
- It has been backtested on all the high market cap coins such as Bitcoin, Ethereum, Binance Coin, Polkadot, Cardano.
- It should be run on the Hourly (H1) chart.
- In general, this moving average strategy *should be* profitable for 80% to 90% of the coins out there
- The 160 SMA filter with slope angle detection is designed to stop you from going long in a bear market.
- It is recommended you copy this script and modify it to suit your preferred coin during backtesting, before running live.
- Trading is inherently risky (exciting), and I shall not be liable for any losses you incur, even if these losses are due to sampling bias.
MomentumInvest TrendFollower [@TradersVenue]VSA CheatSheet - Have kept the chart clean and clear not by putting each signal pattern name. What matters is identifying the real price action than the pattern name. To keep the charts clutter free, haven't put the signal name under/above the candle.
Rejection or reversal patterns
Green Circle - Typical SellingClimax, Stopping Volume and Bag Holding signal patterns as per VSA. Strong price volume action but price rejection at lower level.
Red Circle - Typical Buying Climax, End Of Rising, Supply Overcoming Demand signal patterns as per VSA. Strong price volume action but price rejection at higher level.
Green Square - Typical bullish TrendReversal candle as per VSA. Bullish breakout bar immediately after a bearish breakout bar and engulfing the previous one or cover max part of it.
Red Square - Typical bearish TrendReversal candle as per VSA. Bearish breakout bar immediately after a bullish breakout bar and engulfing the previous one or cover max part of it.
Momentum breakout patterns
Blue/Green Star - Bullish breakouts. Downthrust bars with significant price volume action. Green if smaller low weak otherwise blue.
Red/Pink Star - Bearish breakouts. Downthrust bars with significant price volume action. Red if low higher weak else pink.
Candle Color
Green - Bullish with strong price action. Good to enter long towards close with SL of day low. System suggests quantity as per 2% trading rule. One can play with risk defined option strategies or cash segment as per quantity suggested.
Red - Bearish with strong price action. Good to enter short towards close with SL of day high. System suggests quantity as per 2% trading rule. One can play with risk defined option strategies like bear put spread or bear call spreads or go for hedged shorts.
Pink - Bearish with muted price action. Trail SL. Better to avoid trading these candles.
Light blue - Bullish with muted price action. Trail SL. Better to avoid trading these candles.
Plotted EMA Ribbon gives a sense of the strength of momentum. When each MA is placed with wide gaps momentum is strong. When there is EMA confluence, chances of trend strength are weakening. Background color of the chart green indicates bullishness in the underlying and red indicates that bearish pressure in the scrip. If the background color is green and you see one Blue/Green star candle it's good to go long. If the background color is red and you see one Red/Pink star candle it's good to go short.
A word of caution: Trading breakouts is very good. But you need to prepare for breakout failures. Here the system picks wide range bars for going long or short that means SL is wide probably 3% and above. Also if you notice after a strong PV breakout if price sustains below that it can see long unwinding pressure and simillary after a strong PV breakdown, if price sustains above the breakdown candle, chances of short covering is higher. Here money management and risk management becomes very important. Same has been included as part of the indicator to give you an optimal quantity for trade to keep the drawdowns lower. If you enable (1) RECO message and (2) Show Strategy (Else Study)? options then it shows a RECO box with quantity calculated as per 2% loss per trade rule. Lot of risk management, scale up/down for compounding is also available. You may try out those options one by one.
This indicator needs to be used along with the “VSA + Volume Oscillator ”, because this setup relies on VSA (Volume Spread Analysis). The overall usage will be provided through a demo to the subscribing users. In order to gain access to this indicator you may contact me using the below signature.
888 BOT #backtest█ 888 BOT #backtest (open source)
This is an Expert Advisor 'EA' or Automated trading script for ‘longs’ and ‘shorts’, which uses only a Take Profit or, in the worst case, a Stop Loss to close the trade.
It's a much improved version of the previous ‘Repanocha’. It doesn`t use 'Trailing Stop' or 'security()' functions (although using a security function doesn`t mean that the script repaints) and all signals are confirmed, therefore the script doesn`t repaint in alert mode and is accurate in backtest mode.
Apart from the previous indicators, some more and other functions have been added for Stop-Loss, re-entry and leverage.
It uses 8 indicators, (many of you already know what they are, but in case there is someone new), these are the following:
1. Jurik Moving Average
It's a moving average created by Mark Jurik for professionals which eliminates the 'lag' or delay of the signal. It's better than other moving averages like EMA , DEMA , AMA or T3.
There are two ways to decrease noise using JMA . Increasing the 'LENGTH' parameter will cause JMA to move more slowly and therefore reduce noise at the expense of adding 'lag'
The 'JMA LENGTH', 'PHASE' and 'POWER' parameters offer a way to select the optimal balance between 'lag' and over boost.
Green: Bullish , Red: Bearish .
2. Range filter
Created by Donovan Wall, its function is to filter or eliminate noise and to better determine the price trend in the short term.
First, a uniform average price range 'SAMPLING PERIOD' is calculated for the filter base and multiplied by a specific quantity 'RANGE MULTIPLIER'.
The filter is then calculated by adjusting price movements that do not exceed the specified range.
Finally, the target ranges are plotted to show the prices that will trigger the filter movement.
Green: Bullish , Red: Bearish .
3. Average Directional Index ( ADX Classic) and ( ADX Masanakamura)
It's an indicator designed by Welles Wilder to measure the strength and direction of the market trend. The price movement is strong when the ADX has a positive slope and is above a certain minimum level 'ADX THRESHOLD' and for a given period 'ADX LENGTH'.
The green color of the bars indicates that the trend is bullish and that the ADX is above the level established by the threshold.
The red color of the bars indicates that the trend is down and that the ADX is above the threshold level.
The orange color of the bars indicates that the price is not strong and will surely lateralize.
You can choose between the classic option and the one created by a certain 'Masanakamura'. The main difference between the two is that in the first it uses RMA () and in the second SMA () in its calculation.
4. Parabolic SAR
This indicator, also created by Welles Wilder, places points that help define a trend. The Parabolic SAR can follow the price above or below, the peculiarity that it offers is that when the price touches the indicator, it jumps to the other side of the price (if the Parabolic SAR was below the price it jumps up and vice versa) to a distance predetermined by the indicator. At this time the indicator continues to follow the price, reducing the distance with each candle until it is finally touched again by the price and the process starts again. This procedure explains the name of the indicator: the Parabolic SAR follows the price generating a characteristic parabolic shape, when the price touches it, stops and turns ( SAR is the acronym for 'stop and reverse'), giving rise to a new cycle. When the points are below the price, the trend is up, while the points above the price indicate a downward trend.
5. RSI with Volume
This indicator was created by LazyBear from the popular RSI .
The RSI is an oscillator-type indicator used in technical analysis and also created by Welles Wilder that shows the strength of the price by comparing individual movements up or down in successive closing prices.
LazyBear added a volume parameter that makes it more accurate to the market movement.
A good way to use RSI is by considering the 50 'RSI CENTER LINE' centerline. When the oscillator is above, the trend is bullish and when it is below, the trend is bearish .
6. Moving Average Convergence Divergence ( MACD ) and ( MAC-Z )
It was created by Gerald Appel. Subsequently, the histogram was added to anticipate the crossing of MA. Broadly speaking, we can say that the MACD is an oscillator consisting of two moving averages that rotate around the zero line. The MACD line is the difference between a short moving average 'MACD FAST MA LENGTH' and a long moving average 'MACD SLOW MA LENGTH'. It's an indicator that allows us to have a reference on the trend of the asset on which it is operating, thus generating market entry and exit signals.
We can talk about a bull market when the MACD histogram is above the zero line, along with the signal line, while we are talking about a bear market when the MACD histogram is below the zero line.
There is the option of using the MAC-Z indicator created by LazyBear, which according to its author is more effective, by using the parameter VWAP ( volume weighted average price ) 'Z-VWAP LENGTH' together with a standard deviation 'STDEV LENGTH' in its calculation.
7. Volume Condition
Volume indicates the number of participants in this war between bulls and bears, the more volume the more likely the price will move in favor of the trend. A low trading volume indicates a lower number of participants and interest in the instrument in question. Low volumes may reveal weakness behind a price movement.
With this condition, those signals whose volume is less than the volume SMA for a period 'SMA VOLUME LENGTH' multiplied by a factor 'VOLUME FACTOR' are filtered. In addition, it determines the leverage used, the more volume , the more participants, the more probability that the price will move in our favor, that is, we can use more leverage. The leverage in this script is determined by how many times the volume is above the SMA line.
The maximum leverage is 8.
8. Bollinger Bands
This indicator was created by John Bollinger and consists of three bands that are drawn superimposed on the price evolution graph.
The central band is a moving average, normally a simple moving average calculated with 20 periods is used. ('BB LENGTH' Number of periods of the moving average)
The upper band is calculated by adding the value of the simple moving average X times the standard deviation of the moving average. ('BB MULTIPLIER' Number of times the standard deviation of the moving average)
The lower band is calculated by subtracting the simple moving average X times the standard deviation of the moving average.
the band between the upper and lower bands contains, statistically, almost 90% of the possible price variations, which means that any movement of the price outside the bands has special relevance.
In practical terms, Bollinger bands behave as if they were an elastic band so that, if the price touches them, it has a high probability of bouncing.
Sometimes, after the entry order is filled, the price is returned to the opposite side. If price touch the Bollinger band in the same previous conditions, another order is filled in the same direction of the position to improve the average entry price, (% MINIMUM BETTER PRICE ': Minimum price for the re-entry to be executed and that is better than the price of the previous position in a given %) in this way we give the trade a chance that the Take Profit is executed before. The downside is that the position is doubled in size. 'ACTIVATE DIVIDE TP': Divide the size of the TP in half. More probability of the trade closing but less profit.
█ STOP LOSS and RISK MANAGEMENT.
A good risk management is what can make your equity go up or be liquidated.
The % risk is the percentage of our capital that we are willing to lose by operation. This is recommended to be between 1-5%.
% Risk: (% Stop Loss x % Equity per trade x Leverage) / 100
First the strategy is calculated with Stop Loss, then the risk per operation is determined and from there, the amount per operation is calculated and not vice versa.
In this script you can use a normal Stop Loss or one according to the ATR. Also activate the option to trigger it earlier if the risk percentage is reached. '% RISK ALLOWED'
'STOP LOSS CONFIRMED': The Stop Loss is only activated if the closing of the previous bar is in the loss limit condition. It's useful to prevent the SL from triggering when they do a ‘pump’ to sweep Stops and then return the price to the previous state.
█ BACKTEST
The objective of the Backtest is to evaluate the effectiveness of our strategy. A good Backtest is determined by some parameters such as:
- RECOVERY FACTOR: It consists of dividing the 'net profit' by the 'drawdown’. An excellent trading system has a recovery factor of 10 or more; that is, it generates 10 times more net profit than drawdown.
- PROFIT FACTOR: The ‘Profit Factor’ is another popular measure of system performance. It's as simple as dividing what win trades earn by what loser trades lose. If the strategy is profitable then by definition the 'Profit Factor' is going to be greater than 1. Strategies that are not profitable produce profit factors less than one. A good system has a profit factor of 2 or more. The good thing about the ‘Profit Factor’ is that it tells us what we are going to earn for each dollar we lose. A profit factor of 2.5 tells us that for every dollar we lose operating we will earn 2.5.
- SHARPE: (Return system - Return without risk) / Deviation of returns.
When the variations of gains and losses are very high, the deviation is very high and that leads to a very poor ‘Sharpe’ ratio. If the operations are very close to the average (little deviation) the result is a fairly high 'Sharpe' ratio. If a strategy has a 'Sharpe' ratio greater than 1 it is a good strategy. If it has a 'Sharpe' ratio greater than 2, it is excellent. If it has a ‘Sharpe’ ratio less than 1 then we don't know if it is good or bad, we have to look at other parameters.
- MATHEMATICAL EXPECTATION: (% winning trades X average profit) + (% losing trades X average loss).
To earn money with a Trading system, it is not necessary to win all the operations, what is really important is the final result of the operation. A Trading system has to have positive mathematical expectation as is the case with this script: ME = (0.87 x 30.74$) - (0.13 x 56.16$) = (26.74 - 7.30) = 19.44$ > 0
The game of roulette, for example, has negative mathematical expectation for the player, it can have positive winning streaks, but in the long term, if you continue playing you will end up losing, and casinos know this very well.
PARAMETERS
'BACKTEST DAYS': Number of days back of historical data for the calculation of the Backtest.
'ENTRY TYPE': For '% EQUITY' if you have $ 10,000 of capital and select 7.5%, for example, your entry would be $ 750 without leverage. If you select CONTRACTS for the 'BTCUSDT' pair, for example, it would be the amount in 'Bitcoins' and if you select 'CASH' it would be the amount in $ dollars.
'QUANTITY (LEVERAGE 1X)': The amount for an entry with X1 leverage according to the previous section.
'MAXIMUM LEVERAGE': It's the maximum allowed multiplier of the quantity entered in the previous section according to the volume condition.
The settings are for Bitcoin at Binance Futures (BTC: USDTPERP) in 15 minutes.
For other pairs and other timeframes, the settings have to be adjusted again. And within a month, the settings will be different because we all know the market and the trend are changing.
XPloRR S&P500 Stock Market Crash Detection Strategy v2XPloRR S&P500 Stock Market Crash Detection Strategy v2
Long-Term Trailing-Stop strategy detecting S&P500 Stock Market Crashes/Corrections and showing Volatility as warning signal for upcoming crashes
Detecting or avoiding stock market crashes seems to be the 'Holy Grail' of strategies.
Since none of the strategies that I tested can beat the long term Buy&Hold strategy, the purpose was to detect a stock market crash on the S&P500 and step out in time to minimize losses and beat the Buy&Hold strategy. So beat the Buy&Hold strategy with around 10 trades. 100% capitalize sold trade into new trade.
With the default parameters the strategy generates 10262% profit (starting at 01/01/1962 until release date), with 10 closed trades, 100% profitable, while the Buy&Hold strategy only generates 3633% profit, so this strategy beats the Buy&Hold strategy by 2.82 times !
Also the strategy detects all major S&P500 stock market crashes and corrections since 1962 depending on the Trailing Stop Smoothness parameter, and steps out in time to cut losses and steps in again after the bottom has been reached. The 5 major crashes/corrections of 1987, 1990, 2001, 2008 and 2010 were successfully detected with the default parameters.
The script was first released on November 03 2019 and detected the Corona Crash on March 04 2020 with a Volatility crash-alert and a Sell crash-alert.
I have also created an Alerter Study Script based on the engine of this script, which generates Buy, Sell and Volatility signals.
If you are interested in this Alerter version script, please drop me a mail.
The script shows a lot of graphical information:
the Close value is shown in light-green. When the Close value is temporarily lower than the Buy value, the Close value is shown in light-red. This way it is possible to evaluate the virtual losses during the current trade.
the Trailing Stop value is shown in dark-green. When the Sell value is lower than the Buy value, the last color of the trade will be red (best viewed when zoomed)
the EMA and SMA values for both Buy and Sell signals are shown as colored graphs
the Buy signals are labeled in blue and the Sell signals are labeled in purple
the Volatility is shown below in green and red. The Alert Threshold (red) is default set to 2 (see Volatility Threshold parameter below)
How to use this Strategy?
Select the SPX (S&P500) graph and add this script to the graph.
Look in the strategy tester overview to optimize the values Percent Profitable and Net Profit (using the strategy settings icon, you can increase/decrease the parameters), then keep using these parameters for future Buy/Sell signals on the S&P500.
More trades don't necessarily generate more overall profit. It is important to detect only the major crashes and avoid closing trades on the smaller corrections. Bearing the smaller corrections generates a higher profit.
Watch out for the Volatility Alerts generated at the bottom (red). The Threshold can by changed by the Volatility Threshold parameter (default=2% ATR). In almost all crashes/corrections there is an alert ahead of the crash.
Although the signal doesn't predict the exact timing of the crash/correction, it is a clear warning signal that bearish times are ahead!
The correction in December 2018 was not a major crash but there was already a red Volatility warning alert. If the Volatility Alert repeats the next weeks/months, chances are higher that a bigger crash or correction is near. As can be seen in the graphic, the deeper the crash is, the higher and wider the red Volatility signal goes. So keep an eye on the red flag!
Here are the parameters:
Fast MA Buy: buy trigger when Fast MA Buy crosses over the Slow MA Buy value (use values between 10-20)
Slow MA Buy: buy trigger when Fast MA Buy crosses over the Slow MA Buy value (use values between 21-50)
Minimum Buy Strength: minimum upward trend value of the Fast MA Buy value (directional coefficient)(use values between 10-100)
Fast MA Sell: sell trigger when Fast MA Sell crosses under the Slow MA Sell value (use values between 10-20)
Slow MA Sell: sell trigger when Fast MA Sell crosses under the Slow MA Sell value (use values between 21-50)
Minimum Sell Strength: minimum downward trend value of the Fast MA Sell value (directional coefficient)(use values between 10-100)
Trailing Stop ATR: trailing stop % distance from the smoothed Close value (use values between 2-20)
Trailing Stop Smoothness: MA value for smoothing out the Trailing Stop close value
Buy On Start Date: force Buy on start date even without Buy signal (default: true)
Sell On End Date: force Sell on end date even without Sell signal (default: true)
Volatility EMA Period: MA value of the Volatility value (default 15)
Volatility Threshold: Threshold value to change volatility graph to red (default 2)
Volatility Graph Scaler: Scaling of the volatility graph (default 5)
Important : optimizing and using these parameters is no guarantee for future winning trades!
Trend Vector Pro v2.0Trend Vector Pro v2.0
👨💻 Developed by: Mohammed Bedaiwi
💡 Strategy Overview & Coherence
Trend Vector Pro (TVPro) is a momentum-based trend & reversal strategy that uses a custom smoothed oscillator, an optional ADX filter, and classic Pivot Points to create a single, coherent trading framework.
Instead of stacking random indicators, TVPro is built around these integrated components:
A custom momentum engine (signal generation)
An optional ADX filter (trend quality control)
Daily Pivot Points (context, targets & S/R)
Swing-based “Golden Bar” trailing stops (trade management)
Optional extended bar detection (overextension alerts)
All parts are designed to work together and are documented below to address originality & usefulness requirements.
🔍 Core Components & Justification
1. Custom Momentum Engine (Main Signal Source)
TVPro’s engine is a custom oscillator derived from the bar midpoint ( hl2 ), similar in spirit to the Awesome Oscillator but adapted and fully integrated into the strategy. It measures velocity and acceleration of price, letting the script distinguish between strong impulses, weakening trends, and pure noise.
2. ADX Filter (Trend Strength Validation – Optional)
Uses Average Directional Index (ADX) as a gatekeeper.
Why this matters: This prevents the strategy from firing signals in choppy, non-trending environments (when ADX is below the threshold) and keeps trades focused on periods of clear directional strength.
3. Classic Pivot Points (Context & Targets)
Calculates Daily Pivot Points ( PP, R1-R3, S1-S3 ) via request.security() using prior session data.
Why this matters: Momentum gives the signal, ADX validates the environment, and Pivots add external structure for risk and target planning. This is a designed interaction, not a random mashup.
🧭 Trend State Logic (5-State Bar Coloring)
The strategy uses the momentum's value + slope to define five states, turning the chart into a visual momentum map:
🟢 STRONG BULL (Bright Green): Momentum accelerating UP. → Strong upside impulse.
🌲 WEAK BULL (Dark Green): Momentum decelerating DOWN (while positive). → Pullback/pause zone.
🔴 STRONG BEAR (Bright Red): Momentum accelerating DOWN. → Strong downside impulse.
🍷 WEAK BEAR (Dark Red): Momentum decelerating UP (while negative). → Rally/short-covering zone.
🔵 NEUTRAL / CHOP (Cyan): Momentum is near zero (based on noise threshold). → Consolidation / low volatility.
🎯 Signal Logic Modes
TVPro provides two selectable entry styles, controlled by input:
Reversals Only (Cleaner Mode – Default): Targets trend flips. Entry triggers when the current state is Bullish (or Bearish) and the previous state was not. This reduces noise and over-trading.
All Strong Pulses (Aggressive Mode): Targets acceleration phases. Entry triggers when the bar turns to STRONG BULL or STRONG BEAR after any other state. This mode produces more trades.
📌 Risk Management Tools
🟡 Golden Bars – Trailing Stops: Yellow “Trail” Arrows mark confirmed Swing Highs/Lows. These are used as logical trailing stop levels based on market structure.
Extended Bars: Detects when price closes outside a 2-standard-deviation channel, flagging overextension where a pullback is more likely.
Pivot Points: Used as external targets for Take Profit and structural stop placement.
⚙️ Strategy Defaults (Crucial for Publication Compliance)
To keep backtest results realistic and in line with House Rules, TVPro is published with the following fixed default settings:
Order Size: 5% of equity per trade ( default_qty_value = 5 )
Commission: 0.04% per order ( commission_value = 0.04 )
Slippage: 2 ticks ( slippage = 2 )
Initial Capital: 10,000
📘 How to Trade with Trend Vector Pro
Entry: Take Long when a Long signal appears and confirm the bar is Green (Bull state). Short for Red (Bear state).
Stop Loss: Place the initial SL near the latest swing High/Low, or near a relevant Pivot level.
Trade Management: Follow Golden (Trail) Arrows to trail your stop behind structure.
Exits: Exit when: the trailing stop is hit, Price reaches a major Pivot level, or an opposite signal prints.
🛑 Disclaimer
This script is for educational purposes only and does not constitute financial advice. Past performance does not guarantee future results. Always forward-test and use proper risk management before applying any strategy to live trading.
Ghost Robo [Bit2Billions]Ghost Robo — Automated Gap-Based Trading System
*An intelligent, fully automated trading strategy designed to identify high-probability opportunities using fair-value gaps, volume, and price action—without adding clutter to your chart.*
Ghost Robo combines gap detection, volume analysis, and smart entry logic into a single, streamlined system. It executes trades cleanly while offering backtesting, position sizing, alerts, and risk management—all internally. The strategy is engineered to maximize precision and reduce noise, giving traders an actionable, automated trading workflow.
Key Features
1. Automatic Gap Analysis
* Detects bullish and bearish fair-value gaps internally for trade logic.
* Evaluates gap “fill” percentages against configurable thresholds for high-probability entries.
2. Volume-Based Decision Making
* Integrates buying and selling activity to assess the strength of each gap.
* Filters trades based on real-time volume analysis for reliable execution.
3. Smart Entry Rules
* Trades are triggered automatically based on gap characteristics, candle confirmation, and user-defined thresholds.
* Queue management and deduplication avoid repeated trades on the same opportunity.
4. Flexible Filters
* Conditions include volume, bull/bear balance, gap age, and candle patterns.
* Allows traders to tune the strategy for their preferred market conditions.
5. Built-in Risk Management
* Stop-loss enforcement, optional trailing stops, and single-position restrictions.
* Ensures disciplined execution and controlled risk exposure.
6. Clean, No-Visual Execution
* All gap detection and calculations occur internally; charts remain uncluttered.
* Ideal for traders who prefer automated logic without additional chart overlays.
What Ghost Robo Solves
* Automates gap-based trading strategies with precision.
* Ensures disciplined entries using multiple filters and predictive gap logic.
* Reduces repeated trades and focuses on high-quality opportunities.
* Provides a complete system for backtesting, alerts, and position management.
Recommended Timeframes & Markets
* Timeframes: 15m and higher (15m, 1H, 4H, Daily). Works on intraday but benefits from higher timeframe structure.
* Markets: Liquid FX pairs, major crypto, indices, and liquid equities.
* Notes: For illiquid instruments, tighten volume filters or use higher timeframes for cleaner signals.
Inputs & Settings
* Default settings pre-configured
* Simple Show/Hide toggles for modules
* Minimal exposed fields for ease of use
Recommended Timeframes & Markets
* Works best on 15M, 1H, 4H, Daily, and higher
* Suitable across forex, crypto, indices, and liquid equities
* Pivot-based modules may show noise on illiquid assets
Performance & Limitations
* May draw many objects → disable unused modules for speed
* Refresh the chart if historical buffer issues occur
* TradingView platform limitations handled internally
License & Legal
* Proprietary © 2025
* Redistribution, resale, or disclosure prohibited
* Independently developed with proprietary extensions
* Any resemblance to other tools may result from public-domain concepts
Respect & Transparency
* Built on widely recognized public trading concepts.
* Developed with respect for the TradingView community.
* Any overlaps or similarities can be addressed constructively.
Disclaimer
* Educational purposes only
* Not financial advice
* Trading carries risk — always use paper testing and proper risk management
FAQs
* Source code is not public
* Works best on 15m, 1H, 4H, Daily, Weekly charts
* Modules can be hidden/shown with toggles
* Alerts can be set up manually by users
* Supports multiple markets: forex, crypto, indices, and equities
About Ghost Trading Suite
Author: BIT2BILLIONS
Project: Ghost Trading Suite © 2025
Indicators: Ghost Matrix, Ghost Protocol, Ghost Cipher, Ghost Shadow
Strategies: Ghost Robo, Ghost Robo Plus
Pine Version: V6
The Ghost Trading Suite is designed to simplify and automate many aspects of chart analysis. It helps traders identify market structure, divergences, support and resistance levels, and momentum efficiently, reducing manual charting time.
The suite includes several integrated tools — such as Ghost Matrix, Ghost Protocol, Ghost Cipher, Ghost Shadow, Ghost Robo, and Ghost Robo Plus — each combining analytical modules for enhanced clarity in trend direction, volatility, pivot detection, and momentum tracking.
Together, these tools form a cohesive framework that assists in visualizing market behavior, measuring momentum, detecting pivots, and analyzing price structure effectively.
This project focuses on providing adaptable and professional-grade tools that turn complex market data into clear, actionable insights for technical analysis.
Crafted with 💖 by BIT2BILLIONS for Traders. That's All Folks!
Changelog
v1.0 – Core Release
* Introduced fully automated gap-based strategy using fair-value gaps (FVGs) for trade logic.
* Added internal volume analysis to evaluate bullish/bearish strength for each gap.
* Implemented smart entry triggers based on gap “fill” percentages.
* Added configurable filters for volume, bull/bear balance, age of gap, candle confirmation, and cooldown between trades.
* Introduced queue management & deduplication, ensuring only the most relevant gaps are traded and repeated entries are avoided.
* Implemented risk management features, including percentage stop-loss, optional trailing stops, and single-position enforcement.
* Fully non-visual execution, keeping charts clean while all gap detection and trade calculations happen internally.
* Enabled backtesting, position sizing, and alert creation for complete strategy management.
BTC Fear & Greed Incremental StrategyIMPORTANT: READ SETUP GUIDE BELOW OR IT WON'T WORK
# BTC Fear & Greed Incremental Strategy — TradeMaster AI (Pure BTC Stack)
## Strategy Overview
This advanced Bitcoin accumulation strategy is designed for long-term hodlers who want to systematically take profits during greed cycles and accumulate during fear periods, while preserving their core BTC position. Unlike traditional strategies that start with cash, this approach begins with a specified BTC allocation, making it perfect for existing Bitcoin holders who want to optimize their stack management.
## Key Features
### 🎯 **Pure BTC Stack Mode**
- Start with any amount of BTC (configurable)
- Strategy manages your existing stack, not new purchases
- Perfect for hodlers who want to optimize without timing markets
### 📊 **Fear & Greed Integration**
- Uses market sentiment data to drive buy/sell decisions
- Configurable thresholds for greed (selling) and fear (buying) triggers
- Automatic validation to ensure proper 0-100 scale data source
### 🐂 **Bull Year Optimization**
- Smart quarterly selling during bull market years (2017, 2021, 2025)
- Q1: 1% sells, Q2: 2% sells, Q3/Q4: 5% sells (configurable)
- **NO SELLING** during non-bull years - pure accumulation mode
- Preserves BTC during early bull phases, maximizes profits at peaks
### 🐻 **Bear Market Intelligence**
- Multi-regime detection: Bull, Early Bear, Deep Bear, Early Bull
- Different buying strategies based on market conditions
- Enhanced buying during deep bear markets with configurable multipliers
- Visual regime backgrounds for easy market condition identification
### 🛡️ **Risk Management**
- Minimum BTC allocation floor (prevents selling entire stack)
- Configurable position sizing for all trades
- Multiple safety checks and validation
### 📈 **Advanced Visualization**
- Clean 0-100 scale with 2 decimal precision
- Three main indicators: BTC Allocation %, Fear & Greed Index, BTC Holdings
- Real-time portfolio tracking with cash position display
- Enhanced info table showing all key metrics
## How to Use
### **Step 1: Setup**
1. Add the strategy to your BTC/USD chart (daily timeframe recommended)
2. **CRITICAL**: In settings, change the "Fear & Greed Source" from "close" to a proper 0-100 Fear & Greed indicator
---------------
I recommend Crypto Fear & Greed Index by TIA_Technology indicator
When selecting source with this indicator, look for "Crypto Fear and Greed Index:Index"
---------------
3. Set your "Starting BTC Quantity" to match your actual holdings
4. Configure your preferred "Start Date" (when you want the strategy to begin)
### **Step 2: Configure Bull Year Logic**
- Enable "Bull Year Logic" (default: enabled)
- Adjust quarterly sell percentages:
- Q1 (Jan-Mar): 1% (conservative early bull)
- Q2 (Apr-Jun): 2% (moderate mid bull)
- Q3/Q4 (Jul-Dec): 5% (aggressive peak targeting)
- Add future bull years to the list as needed
### **Step 3: Fine-tune Thresholds**
- **Greed Threshold**: 80 (sell when F&G > 80)
- **Fear Threshold**: 20 (buy when F&G < 20 in bull markets)
- **Deep Bear Fear Threshold**: 25 (enhanced buying in bear markets)
- Adjust based on your risk tolerance
### **Step 4: Risk Management**
- Set "Minimum BTC Allocation %" (default 20%) - prevents selling entire stack
- Configure sell/buy percentages based on your position size
- Enable bear market filters for enhanced timing
### **Step 5: Monitor Performance**
- **Orange Line**: Your BTC allocation percentage (target: fluctuate between 20-100%)
- **Blue Line**: Actual BTC holdings (should preserve core position)
- **Pink Line**: Fear & Greed Index (drives all decisions)
- **Table**: Real-time portfolio metrics including cash position
## Reading the Indicators
### **BTC Allocation Percentage (Orange Line)**
- **100%**: All portfolio in BTC, no cash available for buying
- **80%**: 80% BTC, 20% cash ready for fear buying
- **20%**: Minimum allocation, maximum cash position
### **Trading Signals**
- **Green Buy Signals**: Appear during fear periods with available cash
- **Red Sell Signals**: Appear during greed periods in bull years only
- **No Signals**: Either allocation limits reached or non-bull year
## Strategy Logic
### **Bull Years (2017, 2021, 2025)**
- Q1: Conservative 1% sells (preserve stack for later)
- Q2: Moderate 2% sells (gradual profit taking)
- Q3/Q4: Aggressive 5% sells (peak targeting)
- Fear buying active (accumulate on dips)
### **Non-Bull Years**
- **Zero selling** - pure accumulation mode
- Enhanced fear buying during bear markets
- Focus on rebuilding stack for next bull cycle
## Important Notes
- **This is not financial advice** - backtest thoroughly before use
- Designed for **long-term holders** (4+ year cycles)
- **Requires proper Fear & Greed data source** - validate in settings
- Best used on **daily timeframe** for major trend following
- **Cash calculations**: Use allocation % and BTC holdings to calculate available cash: `Cash = (Total Portfolio × (1 - Allocation%/100))`
## Risk Disclaimer
This strategy involves active trading and position management. Past performance does not guarantee future results. Always do your own research and never invest more than you can afford to lose. The strategy is designed for educational purposes and long-term Bitcoin accumulation thesis.
---
*Developed by Sol_Crypto for the Bitcoin community. Happy stacking! 🚀*
ETH INFINITY TREND [1H]: The Institutional Anti-Crash AlgorithmSTOP TRADING AGAINST THE TREND. AUTOMATE YOUR SUCCESS.
Are you tired of strategies that make big gains one month and give it all back the next? Are you looking for an algorithm capable of beating the market while strictly protecting your capital during Crashes?
Discover ETH Infinity Trend , the H1 Swing Trading strategy designed for consistency, safety, and long-term performance.
This is not a nervous scalping bot eaten alive by fees. It is an intelligent Trend Following system, calibrated to capture major Ethereum directional moves while staying liquid (Cash) when the market becomes dangerous.
🏆 WHY IS THIS STRATEGY UNIQUE?
✅ "Bulletproof" History (2017-2025) Unlike the market, which suffered massive losses in 2018 (-80%) and 2022 (-65%), this algorithm successfully protected capital during EVERY major bearish phase.
✅ Bull Run Outperformance The algorithm doesn't just follow; it accelerates gains during parabolic phases (like 2021 and 2025) by staying in position as long as the bullish structure remains intact.
✅ Zero Stress / Zero Overtrading The strategy is patient. It filters out market "noise" to take only high-probability moves. No more stress from holding open positions during crashes.
⚙️ THE "SMART TREND" ENGINE (Proprietary Logic)
This script uses a combination of 3 algorithmic engines to secure your entries. Exact settings are protected to ensure a competitive advantage for members:
Adaptive Trend Engine: Detects flow direction with a wide safety factor to avoid "scam wicks" and stop hunts typical of crypto exchanges. Institutional Long-Term Filter: We only trade in the direction of big investment funds. If the Macro trend is bearish, the algorithm forces a Cash (USDT) position to preserve capital. Dynamic Momentum Filter: The algorithm stays inactive during flat markets (Ranging) to avoid grinding down capital with fees. It only enters if the movement has genuine impulsive strength.
📊 CERTIFIED PERFORMANCE (Historical Backtests)
The numbers speak for themselves. Here is how the strategy behaves under extreme market conditions:
🟢 Current Profitability (2025 YTD): +91% While the classic market (Buy & Hold) shows about +55%, the algorithm massively outperforms by avoiding intermediate corrections.
🛡️ Crash Resistance (2018 Bear Market): +29% This is the most important statistic. In 2018, Ethereum lost -82% of its value. Most traders were wiped out. This strategy not only protected capital but finished the year in profit.
💎 Zero Negative Years (2017-2025) Over a complete 8-year history, including two major market cycles, the strategy has never closed a year with a loss.
📉 RISK MANAGEMENT
Profit Factor: > 2.0 (For every $1 lost, the strategy earns more than $2). Controlled Drawdown: The strategy cuts losing positions quickly using a dynamic Trailing Stop, keeping equity drawdown far below that of the market. Fees Included: All results include transaction fees (Taker) and slippage estimates.
🤖 READY FOR AUTOMATION
This script is turnkey ready to be connected to bots via Webhooks (3Commas, Alertatron, or Custom Python Bot on Vultr/AWS).
No Repainting: Signals are fixed at candle close. What you see is what executes. Clear Signals: Buy (Long) and Exit alerts are fully configurable. Zero Leverage Needed: The strategy is designed to be profitable on Spot or 1x Futures.
🔒 ACCESS & INVITATION
This script is available via Invite Only to guarantee exclusivity and preserve signal quality.
👉 HOW TO GET ACCESS? Send me a private message here on TradingView to inquire about access conditions.
Disclaimer: Past performance is not indicative of future results. Cryptocurrency trading involves risk. Only invest what you can afford to lose.
Trendshift [CHE] StrategyTrendshift Strategy — First-Shift Structural Regime Trading
Profitfactor 2,603
Summary
Trendshift Strategy implements a structural regime-shift trading model built around the earliest confirmed change in directional structure. It identifies major swing highs and lows, validates breakouts through optional ATR-based conviction, and reacts only to the first confirmed shift in each direction. After a regime reversal, the strategy constructs a premium and discount band between the breakout candle and the previous opposite swing. This band is used as contextual bias and may optionally inform stop placement and position sizing.
The strategy focuses on clear, interpretable structural events rather than continuous signal generation. By limiting entries to the first valid shift, it reduces false recycles and allows the structural state to stabilize before a new trade occurs. All signals operate on closed-bar logic, and the strategy avoids higher-timeframe calls to stabilize execution behavior.
Motivation: Why this design?
Many structure-based systems repeatedly trigger as price fluctuates around prior highs and lows. This often leads to multiple flips during volatile or choppy conditions. Trendshift Strategy addresses this problem by restricting execution to the first confirmed structural event in each direction. ATR-based filters help differentiate genuine structural breaks from noise, while the contextual band ensures that the breakout is meaningful in relation to recent volatility.
The design aims to represent a minimalistic structural trading framework focused on regime turns rather than continuous trend signaling. This reduces chart noise and clarifies where the market transitions from one regime to another.
What’s different vs. standard approaches?
Baseline reference
Typical swing-based structure indicators report every break above or below recent swing points.
Architecture differences
First-shift-only regime logic that blocks repeated signals until direction reverses
ATR-filtered validation to avoid weak or momentum-less breaks
Premium and discount bands derived from breakout structure
Optional band-driven stop placement
Optional band-dependent position-sizing factor
Regime timeout system to neutralize structure after extended inactivity
Persistent-state architecture to prevent re-triggering
Practical effect
Only the earliest actionable structure change is traded
Fewer but higher-quality signals
Premium/discount tint assists contextual evaluation
Stops and sizing can be aligned with structural context rather than arbitrary volatility measures
Improved chart interpretability due to reduced marker frequency
How it works (technical)
The algorithm evaluates symmetric swing points using a fixed bar window. When a swing forms, its value and bar index are stored as persistent state. A structural shift occurs when price closes beyond the most recent major swing on the opposite side. If ATR filtering is enabled, the breakout must exceed a volatility-scaled distance to prevent micro-breaks from firing.
Once a valid shift is confirmed, the regime is updated to bullish or bearish. The script records the breakout level, the opposite swing, and derives a band between them. This band is checked for minimum size relative to ATR to avoid unrealistic contexts.
The first shift in a new direction generates both the strategy entry and a visual marker. Additional shifts in the same direction are suppressed until a reversal occurs. If a timeout is enabled, the regime resets after a specified number of bars without structural change, optionally clearing the band.
Stop placement, if enabled, uses either the opposite or same band edge depending on configuration. Position size is computed from account percentage and may optionally scale with the price-span-to-ATR relationship.
Parameter Guide
Market Structure
Swing length (default 5): Controls swing sensitivity. Lower values increase responsiveness.
Use ATR filter (default true): Requires breakouts to show momentum relative to ATR. Reduces false shifts.
ATR length (default 14): Volatility estimation for breakout and band validation.
Break ATR multiplier (default 1.0): Required breakout strength relative to ATR.
Premium/Discount Framework
Enable framework (default true): Activates premium/discount evaluation.
Persist band on timeout (default true): Keeps structural band after timeout.
Min band ATR mult (default 0.5): Rejects narrow bands.
Regime timeout bars (default 500): Neutralizes regime after inactivity.
Invert colors (default false): Color scheme toggle.
Visuals
Show zone tint (default true): Background shade in premium or discount region.
Show shift markers (default true): Display first-shift markers.
Execution and Risk
Risk per trade percent (default 1.0): Determines position size as account percentage.
Use band for size (default false): Scales size relative to band width behavior.
Flat on opposite shift (default true): Forces reversal behavior.
Use stop at band (default false): Stop anchored to band edges.
Stop band side: Chooses which band edge is used for stop generation.
Reading & Interpretation
A green background indicates discount conditions within the structural band; red indicates premium conditions. A green triangle below price marks the first bullish structural shift after a bearish regime. A red triangle above price marks the first bearish structural shift after a bullish regime.
When stops are active, the opposite band edge typically defines the protective level. Band width relative to ATR indicates how significant a structural change is: wider bands imply stronger volatility structure, while narrow bands may be suppressed by the minimum-size filter.
Practical Workflows & Combinations
Trend following: Use first-shift entries as initial regime confirmation. Add higher-timeframe trend filters for additional context.
Swing trading: Combine with simple liquidity or fair-value-gap concepts to refine entries.
Bias mapping: Use higher timeframes for structural regime and lower timeframes for execution within the premium/discount context.
Exit management: When using stops, consider ATR-scaling or multi-stage profit targets. When not using stops, reversals become the primary exit.
Behavior, Constraints & Performance
The strategy uses only confirmed swings and closed-bar logic, avoiding intrabar repaint. Pivot-based swings inherently appear after the pivot window completes, which is standard behavior. No higher-timeframe calls are used, preventing HTF-related repaint issues.
Persistent variables track regime and structural levels, minimizing recomputation. The maximum bars back setting is five-thousand. The design avoids loops and arrays, keeping performance stable.
Known limitations include limited signal density during consolidations, delayed swing confirmation, and sensitivity to extreme gaps that stretch band logic. ATR filtering mitigates some of these effects but does not eliminate them entirely.
Sensible Defaults & Quick Tuning
Fewer but stronger entries: Increase swing length or ATR breakout multiplier.
More responsive entries: Reduce swing length to capture earlier shifts.
More active band behavior: Lower the minimum band ATR threshold.
Stricter stop logic: Use the opposite band edge for stop placement.
Volatile markets: Increase ATR length slightly to stabilize behavior.
What this indicator is—and isn’t
Trendshift Strategy is a structural-regime trading engine that evaluates major directional shifts. It is not a complete trading system and does not include take-profit logic or prediction features. It does not attempt to forecast future price movement and should be used alongside broader market structure, volatility context, and disciplined risk management.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Best regards and happy trading
Chervolino
Retracement Strategy [OmegaTools]Retracement Strategy is a systematic trend–retracement framework designed to identify directional opportunities after a confirmed momentum shift, and to manage exits using either trend reversals or overextension conditions. It is built around a smoothed RSI regime filter and a simple, price-based retracement trigger, making it applicable across a wide range of markets and timeframes while remaining transparent and easy to interpret.
The strategy begins by defining the underlying trend through a two-stage RSI signal. A standard RSI is computed over the user-defined Length input, then smoothed with a short moving average to reduce noise. Two symmetric thresholds are derived from the Threshold parameter: an upper band at 100 minus the threshold and a lower band at the threshold itself. When the smoothed RSI crosses above the upper band, the environment is classified as bullish and the internal trend state is set to uptrend. When the smoothed RSI crosses below the lower band, the environment is classified as bearish and the trend state becomes downtrend. When RSI moves back into the central zone between the two bands, the trend is considered neutral. In addition to the current trend, the strategy tracks the last non-neutral trend direction, which is used to detect genuine trend changes rather than transient oscillations.
Once a trend is established, the strategy looks for retracement entries in the direction of that trend. For long setups in an uptrend, it computes the lowest low over the previous Length minus one bars, excluding the current bar. A long signal is generated when price dips below this recent low while the trend state remains bullish. Symmetrically, for short setups in a downtrend, it computes the highest high over the previous Length minus one bars and enters short when price spikes above this recent high while the trend state remains bearish. This logic is designed to capture pullbacks against the prevailing RSI-defined trend, entering when the market tests or slightly violates recent extremes, rather than chasing breakouts. The candles are visually coloured to reflect the detected trend, highlighting bullish and bearish environments while keeping neutral phases distinguishable on the chart. An ATR-based measure is used solely to position the “UP” and “DN” labels on the chart for clearer visualisation of entry points; it does not directly influence position sizing or stop calculation in this implementation.
Take profit and stop loss behaviour are fully parameterized through the “Take Profit” and “Stop Loss” inputs, each offering three modes: None, Trend Change and Extension. When “Trend Change” is selected for the take profit, the strategy will only exit profitable positions when a confirmed trend reversal occurs. For a long position, this means that the strategy will close the trade when the trend state flips from uptrend to downtrend, and the last recorded trend direction validates that this is a genuine reversal rather than a neutral fluctuation; the same logic applies symmetrically for short positions. When “Extension” is selected as the take profit mode, the strategy closes profitable long trades when the smoothed RSI reaches or exceeds the upper threshold, interpreted as an overbought extension within the bullish regime, and closes profitable short trades when the smoothed RSI falls to or below the lower threshold, interpreted as an oversold extension within the bearish regime. When “None” is chosen, the strategy does not apply any explicit take profit logic, leaving trades to be managed by the stop loss settings or by user discretion in backtesting.
The stop loss parameter works in a parallel way. With “Trend Change” selected as stop loss, any open long position is closed when the trend flips from uptrend to downtrend, regardless of whether the trade is currently in profit or loss, and any open short is closed when the trend flips from downtrend to uptrend. This turns the RSI trend regime into a hard invalidation rule: once the underlying momentum structure reverses, the position is exited. With “Extension” selected for stop loss, long positions are closed when RSI falls back below the upper band and moves towards the opposite side of the range, while short positions are closed when RSI rises above the lower band and moves towards the upper side. In practice, this acts as a dynamic exit based on the oscillator moving out of a favourable context for the existing trade. Selecting “None” for stop loss disables these automatic exits, leaving only the take profit logic, if any, to manage the position. Because take profit and stop loss configuration are independent, the user can construct different profiles, such as pure trend-change exits on both sides, pure overextension exits, or a mix (for example, take profit on overextension and stop loss on trend reversal).
This strategy is designed as an analytical and backtesting framework rather than a finished plug-and-play trading system. It does not include position sizing, risk-per-trade controls, multi-timeframe confirmation, volatility filters or instrument-specific fine-tuning. Its primary purpose is to provide a clear, rule-based structure for testing retracement logic within RSI-defined trends, and to allow users to explore how different exit regimes (trend-change based versus extension based) affect performance on their instruments and timeframes of interest.
Nothing in this script or its description should be interpreted as financial advice, investment recommendation or solicitation to buy or sell any financial instrument. Past performance on backtests does not guarantee future results. The behaviour of this strategy can vary significantly across symbols, timeframes and market conditions, and correlations, volatility and liquidity can change without warning. Before considering any live application, users should thoroughly backtest and forward test the strategy on their own data, adjust parameters to their risk profile and instrument characteristics, and integrate proper money management and trade management rules. Use of this script is entirely at the user’s own risk.
RC - Crypto Scalper v3Cryptocurrency scalping strategy for perpetual futures with risk management and automation capabilities.
## Strategy Overview
This strategy identifies high-probability scalping opportunities in cryptocurrency perpetual futures markets using adaptive position sizing, dynamic stop losses, and intelligent exit management to maintain consistent risk-adjusted returns across varying market conditions.
## Technical Foundation
The strategy employs exponential moving averages for trend detection, Bollinger Bands for volatility measurement and mean reversion signals, RSI for momentum confirmation and overbought/oversold conditions, ATR for dynamic volatility-based stop placement, and VWAP for institutional price level identification. These technical indicators are combined with volume analysis and optional multi-timeframe confirmation to filter low-probability setups.
## Entry Methodology
The strategy identifies trading opportunities using three complementary approaches that can be enabled individually or in combination:
Momentum-Based Entries: Detects directional price movements aligned with short-term and intermediate-term trend indicators, with momentum oscillator confirmation to avoid entries at exhaustion points. Volume analysis provides additional confirmation of institutional participation.
Mean Reversion Entries: Identifies price extremes using statistical volatility bands combined with momentum divergence, targeting high-probability reversal zones in ranging market conditions. Entries require initial price structure confirmation to reduce false signals.
Institutional Flow Entries: Monitors volume-weighted price levels to identify areas where institutional orders are likely concentrated, entering on confirmed breaks of these key levels with supporting directional bias from trend indicators.
Each methodology uses distinct combinations of the technical indicators mentioned above, with specific parameter relationships and confirmation requirements that can be customized based on trader preference and market conditions.
## Exit Framework
Adaptive Stop Loss: Uses ATR-based stops (default 0.7x multiplier on 14-period ATR) that automatically adjust to current market volatility. Stop distance expands during volatile periods to avoid premature stops while tightening during consolidation to protect capital. Alternative percentage-based stops available for traders preferring fixed-distance risk management.
Trailing Profit System: Employs a dual-target exit approach combining fixed limit orders with dynamic trailing stops. The system activates trailing stops when positions reach profitable thresholds, allowing winning trades to capture extended moves while protecting accumulated gains. The high fixed limit (6R default) serves as a ceiling for exceptional moves while the trailing mechanism handles the majority of exits at optimal profit levels.
Time-Based Management: Implements maximum holding period constraints (50 bars default) to prevent capital from being trapped in directionless price action. This ensures consistent capital turnover and prevents the strategy from holding through extended consolidation periods.
Breakeven Protection: Automatically adjusts stop loss to entry price plus commission costs once trades reach predefined profit thresholds (0.7R default), eliminating downside risk on positions that have demonstrated directional follow-through.
## Risk Management
Position Sizing: Dynamic position sizing based on account equity percentage risk model (2% default). Calculates optimal position size based on entry price, stop distance, and account risk tolerance. Includes maximum position exposure caps and minimum position size thresholds to ensure practical trade execution.
Daily Loss Limits: Automatic trading suspension when intraday losses exceed configured threshold (5% of equity default). Prevents catastrophic drawdown days and removes emotional decision-making during adverse market conditions. Resets automatically at the start of each new trading day.
Leverage Controls: Comprehensive leverage monitoring with built-in liquidation protection for margined positions. Strategy calculates liquidation prices based on leverage settings and automatically closes positions approaching critical margin levels, preventing forced liquidations.
Exposure Management: Multiple layers of position size controls including maximum position value as percentage of equity (50% default), leverage-adjusted margin requirements, and minimum capital availability thresholds before opening new positions.
## Market Filters
Session-Based Filtering: Configurable trading windows for Asian (00:00-08:00 UTC), London (08:00-16:00 UTC), and New York (13:00-21:00 UTC) sessions. Allows traders to focus on specific market hours or avoid illiquid periods based on their asset and trading style.
Volatility Requirements: Minimum and maximum ATR percentage thresholds ensure strategy only operates within optimal volatility ranges. Prevents trading during both insufficient movement periods and extreme volatility events where execution quality deteriorates.
Trend Alignment: Optional higher timeframe trend filter ensures directional bias aligns with broader market structure, reducing counter-trend entries during strong directional moves.
Volume Confirmation: Configurable volume requirements for entry validation, ensuring sufficient market participation and reducing false signals during low-liquidity periods.
## Automation Support
Built-in webhook integration generates JSON payloads compatible with popular broker automation platforms. Alert system provides comprehensive notifications for all entry signals, exit executions, risk limit breaches, and daily trading status updates. Supports both automated and manual execution workflows.
## Settings Explanation
Initial Capital: $5,000
Selected as realistic starting point for retail traders entering crypto futures markets. Strategy scales proportionally - larger accounts show similar percentage returns with proportionally larger absolute gains and position sizes.
Risk Per Trade: 2%
Conservative default providing significant drawdown tolerance. With 51% historical win rate and positive expectancy, risking 2% per trade allows for extended losing streaks without account impairment. Adjustable from 0.5% (very conservative) to 5% (aggressive, experienced traders only).
Leverage: 10x
Standard cross-margin leverage for cryptocurrency perpetual futures. Combined with 2% risk setting and maximum 50% equity position size caps, actual exposure remains controlled despite leverage. Built-in liquidation protection provides additional safety layer.
Commission: 0.055%
Modeled on major exchange maker fee structures (Bybit, Binance Futures).
**Slippage: 50 ticks**
Ultra-conservative slippage assumption representing extreme worst-case execution scenarios. ETH perpetual tick size is $0.01, therefore 50 ticks equals $0.50 per side or $1.00 round trip slippage per trade.
Real-world slippage on 30-minute timeframe typically ranges from 2-5 ticks ($0.02-0.05 round trip) under normal conditions, with 10-20 ticks during highly volatile periods. The 50-tick setting assumes every single trade executes during extreme market stress conditions.
This ultra-conservative modeling approach means real-world trading performance under typical market conditions may exceed backtest results, as the strategy has been tested under punishing execution cost assumptions that represent worst-case scenarios rather than expected outcomes.
Stop Loss: ATR-based (0.7x multiplier)
Volatility-adaptive stops optimized for 30-minute cryptocurrency perpetuals. The 0.7x multiplier balances protection against premature stops due to normal market noise. Lower multipliers (0.5-0.6x) suitable for lower timeframes, higher multipliers (0.8-1.2x) for higher timeframes.
Take Profit: 6R (Risk:Reward)
High target designed to work in conjunction with trailing stop system rather than as primary exit mechanism. Historical analysis shows most profitable trades exit via trailing stops at lower multiples, with the 6R limit capturing occasional extended moves. This configuration allows the trailing stop system to operate optimally while providing upside capture on exceptional price runs.
Trailing Stop: Activates at 1R | Offset 0.5R
Trailing mechanism engages when position reaches 1:1 risk-reward, then maintains 0.5R distance from peak favourable price. This configuration allows profitable trades room to develop while protecting accumulated gains from reversals.
Maximum Holding Period: 50 bars
Automatic exit trigger after 50 bars (25 hours on 30-minute timeframe) prevents capital commitment to non-trending price action. Adjustable based on timeframe and trading style preferences.
## Backtest Performance
Test Period: November 2023 - November 2025 (2 years)
Asset: ETH/USDT Perpetual Futures
Timeframe: 30 minutes
Initial Capital: $5,000
Performance Metrics:
- Final Equity: $25,353.99
- Net Profit: $20,353.99
- Total Return: 407.08%
- Annualized Return: ~204%
- Total Trades: 2,549
- Winning Trades: 1,308 (51.28%)
- Losing Trades: 1,241 (48.72%)
- Profit Factor: 1.215
- Sharpe Ratio: 0.813
- Sortino Ratio: 6.428
- Maximum Drawdown: 11.53%
- Average Drawdown: <2%
Trade Statistics:
- Average Win: 1.15% per trade
- Average Loss: -0.98% per trade
- Win/Loss Ratio: 1.17:1
- Largest Win: 7.14%
- Largest Loss: -2.31%
- Average Trade Duration: ~8 hours
- Trades Per Month: ~106
Cost Analysis:
- Total Commission Paid: $21,277.06
- Commission as % of Gross Profit: 18.5%
- Modeled Slippage Impact: $2,549.00 (50 ticks per trade)
- Total Trading Costs: $23,826.06
- Net Profit After All Costs: $20,353.99
Risk-Adjusted Performance:
- Return/Max DD Ratio: 35.3
- Profit Per Trade: $7.98 average
- Risk of Ruin: <0.001% (with 2% risk, 51% win rate, 1.17 R:R)
## Bear Market Validation
To validate robustness across different market conditions, the strategy was additionally tested during the 2022 cryptocurrency bear market:
Test Period: May 2022 - November 2022 (7 months)
Market Conditions: ETH declined 57% (from ~$2,900 to ~$1,200)
Bear Market Results:
- Net Profit: $4,959.69
- Return: 99.19%
- Total Trades: 845
- Win Rate: 51.72%
- Maximum Drawdown: 18.54%
- Profit Factor: 1.235
- Outperformance vs Buy & Hold: +156.3%
The strategy demonstrated profitable performance during severe market decline, with short positions showing particular strength (54.1% win rate on shorts vs 49.4% on longs). This validates that the edge is not dependent on bullish market conditions and the multiple entry methodologies adapt naturally to different market environments.
## Recommended Usage
Optimal Timeframes:
- Primary: 30-minute (tested and optimized)
- Alternative: 1-hour (more selective, fewer trades)
- Not recommended: <15-minute (execution quality deteriorates)
Suitable Assets:
High-liquidity cryptocurrency perpetual futures recommended:
- BTC/USDT (>$2B daily volume)
- ETH/USDT (>$1B daily volume)
- SOL/USDT, AVAX/USDT (>$100M daily volume)
- Avoid low-liquidity pairs (<$50M daily volume)
Risk Configuration:
- Conservative: 1-1.5% per trade
- Moderate: 2-3% per trade (default: 2%)
- Aggressive: 3-5% per trade (requires discipline)
## Important Considerations
Backtesting vs Live Trading: Always paper trade first. Real-world results vary based on execution quality, broker-specific factors, network latency, and individual trade management decisions. Backtest performance represents historical simulation with ultra-conservative cost assumptions, not guaranteed future results.
Market Conditions: Strategy designed for liquid, actively-traded markets. Performance characteristics:
- Strong trends: Optimal (trailing stops capture extended moves)
- Ranging markets: Moderate (mean reversion component provides edge)
- Low volatility: Reduced (ATR filter prevents most entries)
- Extreme volatility: Protected (maximum volatility filter prevents entries)
Cost Impact: Commission represents approximately 18.5% of gross profit in backtests. The 50-tick slippage assumption is deliberately punitive - typical execution will likely be 5-10x better (2-10 ticks actual vs 50 ticks modeled), meaning real-world net results may significantly exceed backtest performance under normal market conditions.
Execution Quality: 30-minute timeframe provides sufficient time for order placement and management. Automated execution recommended for consistency. Manual execution requires discipline to follow signals without hesitation or second-guessing.
Starting Procedures:
1. Run backtest on your specific asset and timeframe
2. Paper trade for minimum 50 trades or 2 weeks
3. Start with minimum position sizes (0.5-1% risk)
4. Gradually scale to target risk levels as confidence builds
5. Monitor actual execution costs vs backtest assumptions
## Strategy Limitations
- Requires liquid markets; performance degrades significantly on low-volume pairs
- No built-in news event calendar; traders should manually avoid scheduled high-impact events
- Weekend/holiday trading may experience wider spreads and different price behaviour
- Does not model spread costs (assumes mid-price fills); add 1-2 ticks additional cost for market orders
- Performance during market structure changes (regime shifts) may differ from backtest period
- Requires consistent monitoring during active trading hours for optimal automated execution
- Slippage assumptions are deliberately extreme; actual slippage will typically be much lower
## Risk Disclosure
Cryptocurrency trading involves substantial risk of loss. Leverage amplifies both gains and losses. This strategy will experience losing streaks and drawdowns. The 11.53% maximum historical drawdown in bull market testing and 18.54% in bear market testing do not represent ceilings - larger drawdowns are possible and should be expected in live trading.
Past performance does not guarantee future results. Market conditions evolve, and historical edge may diminish or disappear. No strategy works in all market conditions. The strategy has been tested with extremely conservative slippage assumptions (50 ticks per trade) that significantly exceed typical execution costs; this provides a safety margin but does not eliminate risk.
Capital at Risk: Only trade with capital you can afford to lose completely. The strategy's positive historical performance across both bull and bear markets does not eliminate the possibility of significant losses or account impairment.
Not Financial Advice: This strategy is an educational tool, not investment advice. Users are solely responsible for their trading decisions, risk management, and outcomes. The developer assumes no liability for trading losses.
Leverage Warning: Trading with leverage can result in losses exceeding initial investment. Ensure you understand leverage mechanics and liquidation risks before using leveraged products.
## Technical Requirements
- TradingView Premium subscription (for strategy testing and alerts)
- Understanding of risk management principles
- Familiarity with perpetual futures mechanics
- Broker account supporting crypto perpetuals (if trading live)
- For automation: Webhook-compatible execution platform
## Version History
v3.0 - November 2025 (Initial Release)
- Multi-methodology entry system (Momentum, Mean Reversion, VWAP)
- Comprehensive risk management framework
- Adaptive exit system with trailing stops
- Session and volatility filtering
- Webhook automation support
- Validated across bull market (2024-25) and bear market (2022) periods
- Tested with ultra-conservative 50-tick slippage assumptions
Disclaimer: This strategy is provided "as-is" for educational purposes. Past performance does not indicate future results. All backtests conducted with 50-tick slippage (ultra-conservative assumptions). Actual trading costs typically significantly lower. Trade responsibly and at your own risk.
Safe Supertrend Strategy (No Repaint)Overview
The Safe Supertrend is a repaint-free version of the popular Supertrend trend-following indicator.
Most Supertrend indicators appear perfect on historical charts because they flip intrabar and then repaint after the candle closes.
This version fixes that by using close-of-bar confirmation only, making every trend flip 100% stable, safe, and non-repainting.
Why This Supertrend Doesn’t Repaint
Most Supertrend indicators calculate their trend direction using the current bar’s data.
But during a live candle:
ATR expands and contracts
The upper/lower bands move
Price moves above/below the band temporarily
A false flip appears → then disappears when the candle closes
That is classic repainting.
This indicator avoids all of that by using:
close > upper
close < lower
This means:
Trend direction flips only based on the previous candle,
No intrabar calculations,
No flickering signals,
No “perfect but fake” historical performance.
Every signal you see on the chart is exactly what was available in real-time.
How It Works
Calculates ATR (Average True Range) and SMA centerline
Builds upper and lower volatility bands
Confirms trend flips only after the previous bar closes
Plots clear bull and bear reversal signals
Works on all markets (crypto, stocks, forex, indices)
No repainting, no recalc, no misleading flips.
Bullish Signal (Trend Up)
A bullish trend begins only when:
The previous candle closes above the upper ATR band,
And this flip is fully confirmed.
A green triangle marks the start of a new uptrend.
Bearish Signal (Trend Down)
A bearish trend begins only when:
The previous candle closes below the lower ATR band,
And the downtrend is confirmed.
A red triangle signals the start of a new downtrend.
Inputs
ATR Length - default 10
ATR Multiplier - default 3.0
Works on all timeframes and market
Simple, but powerful.
Why Use This Version Instead of a Regular Supertrend?
Most Supertrends:
Look great historically
But repaint continuously on live charts
Give false trend flips intrabar
Cannot be reliably used in strategies
This version:
Uses strict previous-bar logic
Never repaints trend direction
Works perfectly in live trading
Backtests accurately
Is ideal for algorithmic strategies
Ideal For:
Trend-following strategies
Breakout trading
Algo trading systems
Reversal detection
Filtering market noise
Swing trading & scalping
Final Note
This is a safer, more reliable Supertrend designed for real-world use — not perfect-looking repaint illusions.
If you use Supertrend in your trading system, this no-repaint version ensures your signals are trustworthy and consistent.
Safe Supertrend Strategy (No Repaint)Overview
The Safe Supertrend is a repaint-free version of the popular Supertrend trend-following indicator.
Most Supertrend indicators appear perfect on historical charts because they flip intrabar and then repaint after the candle closes.
This version fixes that by using close-of-bar confirmation only, making every trend flip 100% stable, safe, and non-repainting.
Why This Supertrend Doesn’t Repaint
Most Supertrend indicators calculate their trend direction using the current bar’s data.
But during a live candle:
ATR expands and contracts
The upper/lower bands move
Price moves above/below the band temporarily
A false flip appears → then disappears when the candle closes
That is classic repainting.
This indicator avoids all of that by using:
close > upper
close < lower
This means:
Trend direction flips only based on the previous candle,
No intrabar calculations,
No flickering signals,
No “perfect but fake” historical performance.
Every signal you see on the chart is exactly what was available in real-time.
How It Works
Calculates ATR (Average True Range) and SMA centerline
Builds upper and lower volatility bands
Confirms trend flips only after the previous bar closes
Plots clear bull and bear reversal signals
Works on all markets (crypto, stocks, forex, indices)
No repainting, no recalc, no misleading flips.
Bullish Signal (Trend Up)
A bullish trend begins only when:
The previous candle closes above the upper ATR band,
And this flip is fully confirmed.
A green triangle marks the start of a new uptrend.
Bearish Signal (Trend Down)
A bearish trend begins only when:
The previous candle closes below the lower ATR band,
And the downtrend is confirmed.
A red triangle signals the start of a new downtrend.
Inputs
ATR Length - default 10
ATR Multiplier - default 3.0
Works on all timeframes and market
Simple, but powerful.
Why Use This Version Instead of a Regular Supertrend?
Most Supertrends:
Look great historically
But repaint continuously on live charts
Give false trend flips intrabar
Cannot be reliably used in strategies
This version:
Uses strict previous-bar logic
Never repaints trend direction
Works perfectly in live trading
Backtests accurately
Is ideal for algorithmic strategies
Ideal For:
Trend-following strategies
Breakout trading
Algo trading systems
Reversal detection
Filtering market noise
Swing trading & scalping
Final Note
This is a safer, more reliable Supertrend designed for real-world use — not perfect-looking repaint illusions.
If you use Supertrend in your trading system, this no-repaint version ensures your signals are trustworthy and consistent.
Pressure Pivots - MPI (Strategy)⇋ PRESSURE PIVOTS — MARKET PRESSURE INDEX STRATEGY
A comprehensive reversal trading system that combines order flow pressure analysis, multi-factor confluence detection, and adaptive machine learning to identify high-probability turning points in liquid markets.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CORE INNOVATION: MARKET PRESSURE INDEX (MPI)
Traditional indicators measure price movement. The Market Pressure Index measures the force behind the movement.
How MPI Works:
Every bar tells two stories through volume distribution:
• Buy Pressure: Volume × (Close - Low) / (High - Low)
• Sell Pressure: Volume × (High - Close) / (High - Low)
• Net Pressure: Buy Pressure - Sell Pressure
This raw pressure is then normalized against baseline activity to create the bounded MPI (-1.0 to +1.0):
• Smooth Pressure: EMA(Net Pressure, period)
• Baseline Activity: SMA(|Net Pressure|, period × 2)
• MPI: (Smooth Pressure / Baseline) × Sensitivity
What MPI Reveals:
MPI > +0.7: Extreme buy pressure → Exhaustion potential
MPI = +0.2 to +0.7: Healthy bullish momentum
MPI = -0.2 to +0.2: Neutral/balanced pressure
MPI = -0.7 to -0.2: Healthy bearish momentum
MPI < -0.7: Extreme sell pressure → Exhaustion potential
Why It Works:
Two bars can both move 10 points, but if one closes at the high on high volume (aggressive buying) and the other closes mid-range on average volume (weak buying), only MPI distinguishes between sustainable momentum and exhaustion. This volume-weighted pressure analysis reveals conviction behind price moves—the key to timing reversals.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
SEVEN-FACTOR CONFLUENCE SYSTEM
MPI extremes alone aren't enough. The system requires multiple independent confirmations through weighted scoring:
1. DIVERGENCE (Weight: 3.0) — Premium Signal Type: DIV
Price makes new high but MPI makes lower high (or inverse for bullish)
• Detection: Tracks pivots with 5-bar lookback, compares price vs MPI at pivot points
• Signal: Purple triangles, highest weight (pressure weakening while price extends)
2. LIQUIDITY SWEEP (Weight: 2.5) — Premium Signal Type: LIQ
Price breaks swing high/low within 0.3 ATR then reverses
• Detection: Break within tolerance + close back through level
• Signal: Orange triangles, second-highest weight (stop hunt reversal)
3. ORDER FLOW IMBALANCE (Weight: 2.0) — Premium Signal Type: OF
Aggressive buying/selling 50% above normal
• Detection: EMA(aggressive volume) vs SMA(imbalance) threshold
• Signal: Aqua triangles, institutional positioning
4. VELOCITY EXHAUSTION (Weight: 1.5)
Parabolic move (2+ ATRs in 3 bars) + extreme MPI
• Detection: |3-bar price change / ATR| > threshold + MPI > ±0.5
• Indicates: Momentum deceleration, blow-off top/bottom
5. WICK REJECTION (Weight: 1.5)
Single bar: wick > 60% of range, or sequence: 2 bars with 40% + 30% wicks
• Detection: Shooting stars (bearish) or hammers (bullish)
• Indicates: Intrabar rejection, battle won by opposing side
6. VOLUME SPIKE (Weight: 1.0)
Volume > 20-bar average × multiplier (default: 2.0x)
• Detection: Participation surge confirmation
• Lowest weight: Can be manipulated, better as confirmation
7. POSITION FACTOR (Weight: 1.0)
At 10-bar highest (bearish) or lowest (bullish)
• Detection: Structural positioning for reversal
• Base requirement: Must be at extreme to score
Scoring Logic:
Premium Signals (DIV/LIQ/OF): Must score ≥6.0 (default premiumThreshold)
Standard Signals (STD): Must score ≥4.0 (default standardThreshold)
Example Scoring:
Divergence (3.0) + Liquidity Sweep (2.5) + Volume (1.0) = 6.5 → FIRES (DIV signal)
Recent High (1.0) + Wick (1.5) + Volume (1.0) + Velocity (1.5) = 5.0 → FIRES (STD signal)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ADAPTIVE LEARNING ENGINE
Unlike static strategies, this system learns from every trade and optimizes itself.
Performance Tracking:
Every trade records:
• Entry Score: Confluence level at entry
• Signal Type: DIV / LIQ / OF / STD
• Win/Loss: Boolean outcome
• R-Multiple: (Exit - Entry) / (Entry - Stop)
• MAE: Maximum Adverse Excursion (worst drawdown)
• MFE: Maximum Favorable Excursion (best profit reached)
Three Adaptive Parameters:
1. Signal Threshold Adaptation
If Win Rate < Target (45%): RAISE threshold → fewer signals, better quality
If Win Rate > Target + 10% AND good R: LOWER threshold → more signals, profitable
2. Stop Distance Adaptation
If Avg MAE > 0.85 AND WR < 50%: WIDEN stops → reduce premature exits
If Avg MAE < 0.4 AND WR > 55%: TIGHTEN stops → reduce risk
3. Target Distance Adaptation
If Avg MFE > Target × 1.5: EXTEND targets → capture more of runners
If Avg MFE < Target × 0.7: SHORTEN targets → take profits faster
Signal Type Filtering:
The system tracks performance by type (DIV/LIQ/OF/STD):
• If Type WR < 40% AND Avg R < 0.8: Type DISABLED
• If Type WR ≥ 40% OR Avg R ≥ 0.8: Type RE-ENABLED
Example: If OF signals consistently lose while DIV signals win, system automatically stops taking OF signals and focuses on DIV.
Warmup Period:
First 30 trades (default) gather baseline data with relaxed thresholds. After warmup, full adaptation activates.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPLETE POSITION MANAGEMENT
Dynamic Position Sizing:
Base Contracts = (Equity × Risk%) / (Stop Distance × Point Value)
Then multiplied by:
• Score Bonus: Up to +50% for highest-scoring signals
• Signal Type Bonus: DIV signals +50%, LIQ signals +30%
• Streak Multiplier: After 3 losses: 50% reduction, After 3 wins: 25% increase
Example: High-scoring DIV signal on winning streak = 3-4× larger position than weak STD signal on losing streak
Entry Modes:
Single Entry: Full size at once, exit at TP2 (or partial at TP1)
Tiered Entry: 40% at TP1 (2R), 60% at TP2 (4R adaptive)
Stop Management (3 Modes):
Structural: Beyond recent 20-bar swing high/low + buffer
ATR: Fixed ATR multiplier (default: 2.0 ATR, then adapts)
Hybrid: Attempt structural, fallback to ATR if invalid
Plus:
• Breakeven: Move stop to entry ± 1 tick when 1R reached
• Trailing: Activate when 1.5R reached, trail 0.8R behind price
• Max Loss Override: Cap dollar risk regardless of calculation
Target Management:
Fixed Mode: TP1 = 2R, TP2 = 4R
Adaptive Mode: TP1 = 2R fixed, TP2 adapts based on MFE analysis
Partial Exits: Default 50% at TP1, remainder at TP2 or trailing stop
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
COMPREHENSIVE RISK CONTROLS
Daily Limits:
• Max Daily Loss: $2,000 default → HALT trading
• Max Daily Trades: 15 default → prevent overtrading
• Max Concurrent: 2 positions → limit correlation risk
Session Controls:
• Trading Hours: Specify start/end times + timezone
• Weekend Block: Optional (avoid crypto weekend volatility)
Prop Firm Protection (Live Trading Only):
• Daily Loss Limit: Stricter of general or prop limit ($1,000 default)
• Trailing Drawdown: Tracks high water mark, HALTS if breach ($2,500 default)
• Reset on Reload: Optional high water mark reset
Liquidity Filter (Optional):
• Time-Based: Avoid first/last X minutes of session
• Volume-Based: Require minimum volume ratio (0.5× average default)
Market Regime Filter (Optional):
• ADX-Based: Only trade when ADX > threshold (trending)
• Block: Consolidation (ADX < 20) or Transitional regimes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
REAL-TIME DASHBOARD
MPI Gauge Section:
Shows current pressure: 🟢 STRONG BUY (+0.5 to +1.0), 🟩 BUY PRESSURE (+0.2 to +0.5), ⚪ NEUTRAL (-0.2 to +0.2), 🟥 SELL PRESSURE (-0.5 to -0.2), 🔴 STRONG SELL (-1.0 to -0.5)
Signal Status Section:
• Active Signals: "🔴 DIV SELL" (purple background), "🟢 LIQ BUY" (orange), "🔵 OF SELL" (aqua), "🟢 STD BUY" (green)
• Warnings: "⚠️ BEAR WARNING" / "⚠️ BULL WARNING" (yellow) — setup forming, not full signal
• Scanning: "⏳ SCANNING..." (gray) — no signal active
• Confidence Bar: Visual score display "██████░░░░" showing confluence strength
Divergence Indicator:
"🟣 BEARISH DIVERGENCE" or "🟡 BULLISH DIVERGENCE" when detected
Performance Statistics:
• Overall Win Rate: Wins/Total with visual bar (lime ≥70%, yellow 50-70%, red <50%)
• Directional: Bearish vs Bullish win rates separately
• By Signal Type: DIV / LIQ / OF / STD individual performance tracking
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
KEY PARAMETERS EXPLAINED
🎯 Pressure Engine:
• MPI Period (5-50, default: 14): Smoothing period — lower for scalping, higher for position trading
• MPI Sensitivity (0.5-5.0, default: 1.5): Amplification — lower compresses range, higher more extremes
🔍 Detection:
• Wick Threshold (0.3-0.9, default: 0.6): Minimum wick-to-range ratio for rejection
• Volume Spike (1.2-3.0x, default: 2.0): Multiplier above average for spike
• Aggressive Ratio (0.5-0.9, default: 0.65): Close position in range for aggressive orders
• Velocity Threshold (1.0-5.0 ATR, default: 2.0): ATR-normalized move for exhaustion
• MPI Extreme (0.5-0.95, default: 0.7): Level considered overbought/oversold
⚖️ Weights:
• Divergence: 3.0 (highest — pressure weakening)
• Liquidity: 2.5 (second — stop hunts)
• Order Flow: 2.0 (institutional positioning)
• Velocity: 1.5 (momentum exhaustion)
• Wick: 1.5 (rejection patterns)
• Volume: 1.0 (lowest — can be manipulated)
🎚️ Thresholds:
• Premium (4.0-15.0, default: 6.0): Score for DIV/LIQ/OF signals
• Standard (2.0-8.0, default: 4.0): Score for STD signals
• Warning Confluence (1-4, default: 2): Factors for yellow diamond warnings
🧬 Adaptive:
• Enable (true/false, default: true): Master learning switch
• Warmup Trades (5-100, default: 30): Data collection before adaptation
• Lookback (20-200, default: 50): Recent trades for performance calculation
• Adapt Speed (0.05-0.50, default: 0.15): Parameter adjustment rate
• Target Win Rate (30-70%, default: 45%): Optimization goal
• Target R-Multiple (0.5-5.0, default: 1.5): Risk/reward goal
💼 Position:
• Base Risk (0.1-10.0%, default: 1.5%): Equity risked per trade
• Max Contracts (1-100, default: 10): Hard position limit
• DIV Bonus (1.0-3.0x, default: 1.5): Size multiplier for divergence signals
• LIQ Bonus (1.0-3.0x, default: 1.3): Size multiplier for liquidity signals
🛡️ Stops:
• Mode (Structural/ATR/Hybrid, default: ATR): Stop placement method
• ATR Multiplier (0.5-5.0, default: 2.0): Stop distance in ATRs (adapts)
• Breakeven at (0.3-3.0R, default: 1.0R): When to move stop to entry
• Trail Trigger (0.5-5.0R, default: 1.5R): When to activate trailing
• Trail Offset (0.3-3.0R, default: 0.8R): Distance behind price
🎯 Targets:
• Mode (Fixed/Adaptive, default: Fixed): Target placement method
• TP1 (0.5-10.0R, default: 2.0R): First target for partial exit
• TP2 (1.0-15.0R, default: 4.0R): Final target (adapts in adaptive mode)
• Partial % (0-100%, default: 50%): Position percentage to exit at TP1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROFESSIONAL USAGE PROTOCOL
Phase 1: Paper Trading (Weeks 1-4)
• Setup: Default settings, all adaptive features ON, 0.5% base risk
• Goal: 30+ trades for warmup, observe MPI behavior and signal frequency
• Adjust: MPI sensitivity if stuck near neutral or always at extremes
• Threshold: Raise/lower if too many/few signals
Phase 2: Micro Live (Weeks 5-8)
• Requirements: WR >43%, at least one type >55%, Avg R >0.8
• Setup: 10-25% intended size, 0.5-1.0% risk, 1 position max
• Focus: Execution quality, match dashboard performance
• Journal: Screenshot every signal, track outcomes
Phase 3: Full Scale (Month 3+)
• Requirements: WR >45% over 50+ trades, Avg R >1.2, drawdown <15%
• Progression: Months 3-4 (1.0-1.5% risk), 5-6 (1.5-2.0%), 7+ (1.5-2.5%)
• Maintenance: Weekly dashboard review, monthly deep analysis
• Warnings: Reduce size if WR drops >10%, consecutive losses >7, or drawdown >20%
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
DEVELOPMENT INSIGHTS
The Pressure Insight: Emerged from analyzing intrabar volume distribution. Within every candlestick, volume accumulates at different price levels. MPI deconstructs this to reveal conviction behind moves.
The Confluence Challenge: Early versions using MPI extremes alone achieved only 42% win rate. The seven-factor confluence system emerged from testing which combinations produced reliable reversals. Divergence + liquidity sweep became the strongest setup (68% win rate in isolation).
The Adaptive Breakthrough: Per-signal-type performance tracking revealed DIV signals winning at 71% while OF signals languished at 38%. Adaptive filtering disabled weak types automatically, recovering win rate from 39% to 54% during the 2022 volatility spike.
The Position Sizing Revelation: Dynamic sizing based on signal quality and recent performance increased Sharpe ratio from 1.2 to 1.9 while decreasing max drawdown from 18% to 12% over 500 trades. Bigger positions on better signals = geometric edge amplification.
The Risk Control Lesson: Testing with $50K accounts revealed catastrophic failure modes: daily loss cascades, overtrading commission bleed, weekend gap blowouts. Multi-layer controls (daily limits, concurrent caps, prop firm protection) became essential.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LIMITATIONS & ASSUMPTIONS
What This Is NOT:
• NOT a Holy Grail: Typical performance 52-58% WR, 1.3-1.8 avg R, probabilistic edge
• NOT Predictive: Identifies high-probability conditions, doesn't forecast prices
• NOT Market-Agnostic: Best on liquid auction-driven markets (futures, forex, major crypto)
• NOT Hands-Off: Requires oversight for news events, gaps, system anomalies
• NOT Immune to Regime Changes: Adaptive engine helps but cannot predict black swans
Critical Assumptions:
1. Volume reflects intent (valid for regulated markets, violated by wash trading)
2. Pressure extremes mean-revert (true in ranging/exhaustion, fails in paradigm shifts)
3. Stop hunts exist (valid in liquid markets, less in thin/random walk periods)
4. Past patterns persist (valid in stable regimes, fails when structure fundamentally changes)
Works Best On: Major futures (ES, NQ, CL), liquid forex pairs (EUR/USD, GBP/USD), large-cap stocks, BTC
Performs Poorly On: Low-volume stocks, illiquid crypto pairs, news-driven headline events
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
RISK DISCLOSURE
Trading futures, forex, and leveraged instruments involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. This strategy is provided for educational purposes only and should not be construed as financial advice.
The adaptive engine learns from historical data—there is no guarantee that past relationships will persist. Market conditions change, volatility regimes shift, and black swan events occur. No strategy can eliminate the risk of loss.
Users must validate performance on their specific instruments and timeframes before risking capital. The developer makes no warranties regarding profitability or suitability. Users assume all responsibility for trading decisions and outcomes.
"The market doesn't care about your indicators. It only cares about pressure—who's willing to pay more, who's desperate to sell. Find the exhaustion. Trade the reversal. Let the system learn the rest."
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
PA Builder [PrimeAutomation]1. PA Builder – Overview
PA Builder is not a fixed strategy; it’s a framework for building strategies. Instead of giving traders one rigid system, it provides a toolbox where entries, exits, filters, risk parameters, and automation rules can all be defined and combined. The core philosophy is confluence: the idea that a trade should only be taken when multiple independent signals agree. The Builder is built around this principle. Every module; trend, reactors, bands, reversals, volume, structure, divergences, externals can be treated as one layer of confidence. The stronger the alignment across layers, the higher the quality of the setup in theory.
In practice, this means PA Builder encourages traders to think in terms of “confluence,” not single indicators. Trend and positioning define whether you should even be looking for longs or shorts. Timing tools such as bands, reversals and candlestick structures determine when inside that broader bias you want to engage. Confirmation tools like volume and flow tell you whether capital is actually supporting the move. Filter systems then ensure that even if everything looks good locally, you still respect higher-timeframe or opposing warnings. The Builder’s philosophy is simple: enter less often, but only when conditions are genuinely in your favour.
2. Core Entry Signal Components
The entry logic in PA Builder is built on a set of signal engines that can be combined in many ways. Trend Signals form a natural foundation. They use low-lag low-pass filters, borrowed from audio signal processing, to extract directional bias from price without the classic delay of classical moving averages. The sensitivity parameter controls how reactive this engine is: lower values favour cleaner trends and fewer whipsaws, while higher values are better suited to short-term intraday trading where speed matters more than smoothness. Many traders start by requiring that Trend Signals show “all bullish” or “all bearish” before allowing any entries in that direction.
Trend signals firing short positions
On top of this directional backbone, the Dynamic Reactor behaves as an adaptive baseline. It accelerates in volatile phases and slows down during consolidation, effectively acting as a moving reference point for both trend and price position. A typical use of this module is to insist that, for long trades, the price sits above a bullish reactor; for shorts, below a bearish one. At the higher-timeframe level, the Quantum Reactor provides a VWAP-style reference that can be anchored to larger candles than the chart you are trading. A common configuration is to trade on a 15-minute chart while requiring that price is above the 4-hour Quantum Reactor for longs or below it for shorts. The “fast” and “slow” options determine how quickly this reference adapts to new information.
Timing is then refined with tools like Quantum Bands, reversals and candle structure analysis. Quantum Bands identify extremes within the current environment. In an uptrend, a tag of the lower band can be treated as a pullback rather than a breakdown; in a downtrend, the upper band acts like a shorting zone. Many traders combine “trend up and above higher-timeframe reactor” with “price temporarily below lower band” to construct a mean-reversion entry inside a larger uptrend. Reversal detection modules examine recent bars to find turning points, with shorter lookbacks capturing fast flips and longer lookbacks tracking deeper structural changes. Candle structure logic goes beyond classical candlestick names and instead focuses on whether price action confirms follow-through or reversion behaviour, with options like “2X” modes that wait for two successive confirmations before acting.
Before and after filtering using reactor applied.
Additional confirmation layers come from Volume Matrix, Money Flow, OSC True7 and divergence detection. Volume and flow tools answer whether actual capital is participating in the move or whether price is drifting on thin activity. OSC True7 categorises the state of the trend into intuitive buckets, strong, healthy, neutral, or exhausted, making it easier to avoid chasing extremes. Divergences between price and momentum can be used either as entry triggers in contrarian systems or as hard filters that block trades when warning signs are present. Finally, two external indicator inputs make it possible to integrate RSI, MACD, custom indicators or even other strategies into the Builder, either as simple thresholds or as comparative logic between two external sources (for example, requiring a fast EMA to be above a slow EMA before allowing longs).
3. Exit System & Trade Management
The exit systems in PA Builder are designed to be as vital as the entry logic. It assumes exits are not an afterthought, but half of the edge. Instead of forcing a single take profit point, the system uses a three-tier structure where you can assign different portions of the position to different targets. A common pattern is to scale out a small portion early (for example at one ATR), another portion at an intermediate level, and keep the largest slice for a deeper move. This creates a natural balance: you book something early to reduce emotional stress, while leaving room to participate in the full potential of a trend.
Targets can be defined using ATR multiples or risk-to-reward ratios that are directly tied to the initial stop distance. Using ATR keeps exits proportional to current volatility. A two ATR target in a quiet environment is very different in absolute price distance from the same multiple in a high-volatility environment, yet conceptually it represents the same “size” move. Risk-to-reward exits build on this by ensuring that if you risk one unit (1R), the reward targets are set at predefined multiples of that risk. This enforces positive expectancy at the structural level: the strategy cannot generate entries with inherently negative payoffs.
Once price begins to move in your favour, trailing logic takes over if you choose to enable it. Trailing can begin immediately from entry or only after a target has been hit. Many users prefer to let TP1 and TP2 behave as fixed profit points and then apply a trailing stop or trailing take profit to the final remainder. That way, routine winners are banked mechanically, while occasional explosive moves can be ridden for as long as the market allows. The breakeven module supports this behaviour by automatically moving stops to entry (or slightly through entry into profit) after a specified condition such as TP1 being hit. This transforms the risk profile mid trade: once breakeven has been secured, remaining size can be managed with much less psychological pressure.
The system also recognises the cost of time. Kill Switch functionality exits trades that have been open too long under mediocre conditions, typically when they are in modest profit but not progressing. This protects you from capital being tied up while better opportunities appear elsewhere. Underlying all of this are several trailing stop mechanisms: percentage-based, tick-based for very short-term strategies, TP linked trailing that activates only once a certain profit threshold has been achieved, and ATR based trailing that automatically scales the trail distance with volatility. Each method serves a slightly different profile of strategy, but all share the same aim: preserve gains and limit downside in a structured way rather than rely on discretionary judgement after the fact.
4. Filters and Risk Management
The filter systems in PA Builder formalise the idea that good trading is often about knowing when not to act. “Do Not Trade” conditions can be configured so that even a perfectly aligned bullish entry stack is overridden if certain bearish evidence is present. These can include higher timeframe reversal structures, powerful opposing divergences, or conflicting signals in key modules. By assigning conditions specifically to “Do Not Long” and “Do Not Short” rather than only to entries, you create asymmetry: buying requires bullish evidence and an absence of strong bearish warnings; selling requires the mirror.
Volatility filters extend this logic to the regime level. Some strategies are inherently suited to low volatility, range bound environments where fading extremes is profitable; others require expansion and energy to function properly. By binding trading permission to volatility ranges, you ensure that a mean-reversion system does not blindly attempt to fade a breakout, and that a momentum system does not spin its wheels in a dead, sideways market. You can even reference volatility from a higher timeframe than the one you trade, so that a five-minute strategy is still aware of the broader one-hour volatility regime it sits inside.
Applied DO NOT TRADE - removes poor signal
Risk management and position sizing are configured so each trade is expressed in units of risk rather than arbitrary size. Leverage, in this framework, is simply a scaling factor for capital efficiency; the actual risk per trade is still controlled by the distance between entry and stop and the percentage of equity you choose to expose. Reinvestment options then decide what proportion of accumulated profit is fed back into position sizing. A more aggressive reinvestment setting accelerates compounding but increases the amplitude of drawdowns; a more conservative one smooths the equity curve at the cost of slower growth. The Base Trade Value parameter ties all of this together by deciding how much nominal capital or how many contracts are committed per trade in light of your maximum allowed simultaneous positions and your intended use of leverage.
External exit conditions provide further flexibility. For example, you might design a system whose entries rely purely on PA Builder’s internal modules, but whose exits use RSI readings, moving average crosses, or a proprietary external indicator. The separation of entry and exit logic allows you to bolt on different behaviours at the tail end of trades while keeping your core signal engine intact. In all cases, the objective is the same: express risk in a controlled, repeatable way that can survive long stretches of unfavourable market conditions.
5. PDT, Cooldowns and Visual Modes
For traders subject to Pattern Day Trading rules, PA Builder includes a day-trade tracking system that counts business days correctly and respects the three-trades-in-five-days limit. This goes beyond simple compliance; it forces discipline. When intraday trading is heavily constrained, you are naturally pushed toward swing-oriented strategies with fewer, more selective entries. The tool visually marks your PDT status so you never inadvertently cross the line and trigger a lockout.
Cooldown systems address another reality: psychological vulnerability after streaks. Following several consecutive wins, many traders unconsciously loosen their standards, take marginal signals, oversize positions, or overtrade. A win-streak cooldown deliberately pauses trading after a configured number of wins, giving you time to reset. The same applies to losing streaks. After a run of losses, the strongest temptation is often to “make it back now,” which is exactly when discipline is weakest. A loss-streak cooldown enforces a break in activity during this high-risk emotional state, helping to prevent cascading damage driven by revenge trading.
Visualisation comes in two main modes. Classic mode emphasises precision: it draws explicit entry lines, stop levels, target levels and fill zones, making it easy to audit risk/reward on each trade, verify that the exit logic behaves as intended, and review historical trades in detail. Modern mode emphasises market feel: instead of focusing on exact levels, it colours candles and backgrounds to reflect momentum, profit state and dynamics.
This helps you see at a glance whether a strategy is operating in a smooth trending environment or a choppy, fragmented one, and whether current trades are broadly working or struggling. Many users develop and debug in Classic mode and then monitor live performance in Modern mode, so both representations become part of the workflow.
6. Strategy Design Workflow, Examples and Cautions
Designing with PA Builder is inherently iterative. You begin with a simple theory and a minimal configuration, perhaps just a trend filter and a basic stop/target structure, and run a backtest. You then examine where the system fails. If you see many losses occurring in counter-trend conditions, you add an additional directional filter or restrict entries with a higher-timeframe reactor condition. If you observe many small whipsaw losses, you might require candle structure confirmation or volume confirmation before allowing an entry. Each change is made one at a time and evaluated. This process gradually builds a layered system where every component has a clear purpose: some reduce drawdown, some increase win rate, some cut out only the worst trades, and others help capture more of the best ones.
A conservative swing strategy might need an agreement between short-term trend signals, a higher-timeframe Quantum position, and a bullish Dynamic Reactor state, while checking that volume supports the move and that no significant bearish reversals or divergences are present on higher timeframes. It might accept relatively few trades, but each trade would be tightly controlled, scaled out over several ATR-based targets and protected with breakeven and trailing logic. On the opposite end, an aggressive scalping configuration would relax some filters, favour faster sensitivities, use short lookback reversals, and tighten stops and targets dramatically, relying on high frequency and careful volatility filtering to maintain edge.
Throughout all of this, overfitting remains the main danger. The more parameters you tune and the more coincidental rules you add to make the backtest equity curve smoother, the more likely it is that you are capturing noise rather than a real, repeatable edge. Signs of overfitting include heavily optimised numeric values with no intuitive justification, large differences between in-sample and out-of-sample results, or strategies that work spectacularly in very specific regimes and collapse elsewhere. To mitigate this, keep strategies as simple as possible, test across different market regimes (bull, bear, range), and accept that robust systems usually look less “perfect” on the historical chart.
Bridging the gap from backtest to live trading is another critical step. Before risking capital, it is wise to paper trade the configuration for a number of trades to confirm that signal frequency, behaviour and execution align with expectations. When going live, starting with minimal size and gradually scaling up based on real-world performance helps manage both financial and psychological risk. If live results diverge significantly from backtest expectations due to slippage, fees, or changing market conditions, you can adjust, reduce size, or temporarily pause rather than commit fully to a failing configuration.
Ultimately, PA Builder is designed to be a tool for building structured, rules-driven trading systems. It gives you the tools to express your ideas, test them, refine them, and run them under controlled risk. It does not remove uncertainty or guarantee results, but it does provide a clear, transparent way to translate trading concepts into executable, testable logic, and to evolve those systems as markets change and your understanding deepens.
Reversal Point Dynamics - Machine Learning⇋ Reversal Point Dynamics - Machine Learning
RPD Machine Learning: Self-Adaptive Multi-Armed Bandit Trading System
RPD Machine Learning is an advanced algorithmic trading system that implements genuine machine learning through contextual multi-armed bandits, reinforcement learning, and online adaptation. Unlike traditional indicators that use fixed rules, RPD learns from every trade outcome , automatically discovers which strategies work in current market conditions, and continuously adapts without manual intervention .
Core Innovation: The system deploys six distinct trading policies (ranging from aggressive trend-following to conservative range-bound strategies) and uses LinUCB contextual bandit algorithms with Random Fourier Features to learn which policy performs best in each market regime. After the initial learning phase (50-100 trades), the system achieves autonomous adaptation , automatically shifting between policies as market conditions evolve.
Target Users: Quantitative traders, algorithmic trading developers, systematic traders, and data-driven investors who want a system that adapts over time . Suitable for stocks, futures, forex, and cryptocurrency on any liquid instrument with >100k daily volume.
The Problem This System Solves
Traditional Technical Analysis Limitations
Most trading systems suffer from three fundamental challenges :
Fixed Parameters: Static settings (like "buy when RSI < 30") work well in backtests but may struggle when markets change character. What worked in low-volatility environments may not work in high-volatility regimes.
Strategy Degradation: Manual optimization (curve-fitting) produces systems that perform well on historical data but may underperform in live trading. The system never adapts to new market conditions.
Cognitive Overload: Running multiple strategies simultaneously forces traders to manually decide which one to trust. This leads to hesitation, late entries, and inconsistent execution.
How RPD Machine Learning Addresses These Challenges
Automated Strategy Selection: Instead of requiring you to choose between trend-following and mean-reversion strategies, RPD runs all six policies simultaneously and uses machine learning to automatically select the best one for current conditions. The decision happens algorithmically, removing human hesitation.
Continuous Learning: After every trade, the system updates its understanding of which policies are working. If the market shifts from trending to ranging, RPD automatically detects this through changing performance patterns and adjusts selection accordingly.
Context-Aware Decisions: Unlike simple voting systems that treat all conditions equally, RPD analyzes market context (ADX regime, entropy levels, volatility state, volume patterns, time of day, historical performance) and learns which combinations of context features correlate with policy success.
Machine Learning Architecture: What Makes This "Real" ML
Component 1: Contextual Multi-Armed Bandits (LinUCB)
What Is a Multi-Armed Bandit Problem?
Imagine facing six slot machines, each with unknown payout rates. The exploration-exploitation dilemma asks: Should you keep pulling the machine that's worked well (exploitation) or try others that might be better (exploration)? RPD solves this for trading policies.
Academic Foundation:
RPD implements Linear Upper Confidence Bound (LinUCB) from the research paper "A Contextual-Bandit Approach to Personalized News Article Recommendation" (Li et al., 2010, WWW Conference). This algorithm is used in content recommendation and ad placement systems.
How It Works:
Each policy (AggressiveTrend, ConservativeRange, VolatilityBreakout, etc.) is treated as an "arm." The system maintains:
Reward History: Tracks wins/losses for each policy
Contextual Features: Current market state (8-10 features including ADX, entropy, volatility, volume)
Uncertainty Estimates: Confidence in each policy's performance
UCB Formula: predicted_reward + α × uncertainty
The system selects the policy with highest UCB score , balancing proven performance (predicted_reward) with potential for discovery (uncertainty bonus). Initially, all policies have high uncertainty, so the system explores broadly. After 50-100 trades, uncertainty decreases, and the system focuses on known-performing policies.
Why This Matters:
Traditional systems pick strategies based on historical backtests or user preference. RPD learns from actual outcomes in your specific market, on your timeframe, with your execution characteristics.
Component 2: Random Fourier Features (RFF)
The Non-Linearity Challenge:
Market relationships are often non-linear. High ADX may indicate favorable conditions when volatility is normal, but unfavorable when volatility spikes. Simple linear models struggle to capture these interactions.
Academic Foundation:
RPD implements Random Fourier Features from "Random Features for Large-Scale Kernel Machines" (Rahimi & Recht, 2007, NIPS). This technique approximates kernel methods (like Support Vector Machines) while maintaining computational efficiency for real-time trading.
How It Works:
The system transforms base features (ADX, entropy, volatility, etc.) into a higher-dimensional space using random projections and cosine transformations:
Input: 8 base features
Projection: Through random Gaussian weights
Transformation: cos(W×features + b)
Output: 16 RFF dimensions
This allows the bandit to learn non-linear relationships between market context and policy success. For example: "AggressiveTrend performs well when ADX >25 AND entropy <0.6 AND hour >9" becomes naturally encoded in the RFF space.
Why This Matters:
Without RFF, the system could only learn "this policy has X% historical performance." With RFF, it learns "this policy performs differently in these specific contexts" - enabling more nuanced selection.
Component 3: Reinforcement Learning Stack
Beyond bandits, RPD implements a complete RL framework :
Q-Learning: Value-based RL that learns state-action values. Maps 54 discrete market states (trend×volatility×RSI×volume combinations) to 5 actions (4 policies + no-trade). Updates via Bellman equation after each trade. Converges toward optimal policy after 100-200 trades.
TD(λ) with Eligibility Traces: Extension of Q-Learning that propagates credit backwards through time . When a trade produces an outcome, TD(λ) updates not just the final state-action but all states visited during the trade, weighted by eligibility decay (λ=0.90). This accelerates learning from multi-bar trades.
Policy Gradient (REINFORCE): Learns a stochastic policy directly from 12 continuous market features without discretization. Uses gradient ascent to increase probability of actions that led to positive outcomes. Includes baseline (average reward) for variance reduction.
Meta-Learning: The system learns how to learn by adapting its own learning rates based on feature stability and correlation with outcomes. If a feature (like volume ratio) consistently correlates with success, its learning rate increases. If unstable, rate decreases.
Why This Matters:
Q-Learning provides fast discrete decisions. Policy Gradient handles continuous features. TD(λ) accelerates learning. Meta-learning optimizes the optimization. Together, they create a robust, multi-approach learning system that adapts more quickly than any single algorithm.
Component 4: Policy Momentum Tracking (v2 Feature)
The Recency Challenge:
Standard bandits treat all historical data equally. If a policy performed well historically but struggles in current conditions due to regime shift, the system may be slow to adapt because historical success outweighs recent underperformance.
RPD's Solution:
Each policy maintains a ring buffer of the last 10 outcomes. The system calculates:
Momentum: recent_win_rate - global_win_rate (range: -1 to +1)
Confidence: consistency of recent results (1 - variance)
Policies with positive momentum (recent outperformance) get an exploration bonus. Policies with negative momentum and high confidence (consistent recent underperformance) receive a selection penalty.
Effect: When markets shift, the system detects the shift more quickly through momentum tracking, enabling faster adaptation than standard bandits.
Signal Generation: The Core Algorithm
Multi-Timeframe Fractal Detection
RPD identifies reversal points using three complementary methods :
1. Quantum State Analysis:
Divides price range into discrete states (default: 6 levels)
Peak signals require price in top states (≥ state 5)
Valley signals require price in bottom states (≤ state 1)
Prevents mid-range signals that may struggle in strong trends
2. Fractal Geometry:
Identifies swing highs/lows using configurable fractal strength
Confirms local extremum with neighboring bars
Validates reversal only if price crosses prior extreme
3. Multi-Timeframe Confirmation:
Analyzes higher timeframe (4× default) for alignment
MTF confirmation adds probability bonus
Designed to reduce false signals while preserving valid setups
Probability Scoring System
Each signal receives a dynamic probability score (40-99%) based on:
Base Components:
Trend Strength: EMA(velocity) / ATR × 30 points
Entropy Quality: (1 - entropy) × 10 points
Starting baseline: 40 points
Enhancement Bonuses:
Divergence Detection: +20 points (price/momentum divergence)
RSI Extremes: +8 points (RSI >65 for peaks, <40 for valleys)
Volume Confirmation: +5 points (volume >1.2× average)
Adaptive Momentum: +10 points (strong directional velocity)
MTF Alignment: +12 points (higher timeframe confirms)
Range Factor: (high-low)/ATR × 3 - 1.5 points (volatility adjustment)
Regime Bonus: +8 points (trending ADX >25 with directional agreement)
Penalties:
High Entropy: -5 points (entropy >0.85, chaotic price action)
Consolidation Regime: -10 points (ADX <20, no directional conviction)
Final Score: Clamped to 40-99% range, classified as ELITE (>85%), STRONG (75-85%), GOOD (65-75%), or FAIR (<65%)
Entropy-Based Quality Filter
What Is Entropy?
Entropy measures randomness in price changes . Low entropy indicates orderly, directional moves. High entropy indicates chaotic, unpredictable conditions.
Calculation:
Count up/down price changes over adaptive period
Calculate probability: p = ups / total_changes
Shannon entropy: -p×log(p) - (1-p)×log(1-p)
Normalized to 0-1 range
Application:
Entropy <0.5: Highly ordered (ELITE signals possible)
Entropy 0.5-0.75: Mixed (GOOD signals)
Entropy >0.85: Chaotic (signals blocked or heavily penalized)
Why This Matters:
Prevents trading during choppy, news-driven conditions where technical patterns may be less reliable. Automatically raises quality bar when market is unpredictable.
Regime Detection & Market Microstructure - ADX-Based Regime Classification
RPD uses Wilder's Average Directional Index to classify markets:
Bull Trend: ADX >25, +DI > -DI (directional conviction bullish)
Bear Trend: ADX >25, +DI < -DI (directional conviction bearish)
Consolidation: ADX <20 (no directional conviction)
Transitional: ADX 20-25 (forming direction, ambiguous)
Filter Logic:
Blocks all signals during Transitional regime (avoids trading during uncertain conditions)
Blocks Consolidation signals unless ADX ≥ Min Trend Strength
Adds probability bonus during strong trends (ADX >30)
Effect: Designed to reduce signal frequency while focusing on higher-quality setups.
Divergence Detection
Bearish Divergence:
Price makes higher high
Velocity (price momentum) makes lower high
Indicates weakening upward pressure → SHORT signal quality boost
Bullish Divergence:
Price makes lower low
Velocity makes higher low
Indicates weakening downward pressure → LONG signal quality boost
Bonus: Adds probability points and additional acceleration factor. Divergence signals have historically shown higher success rates in testing.
Hierarchical Policy System - The Six Trading Policies
1. AggressiveTrend (Policy 0):
Probability Threshold: 60% (trades more frequently)
Entropy Threshold: 0.70 (tolerates moderate chaos)
Stop Multiplier: 2.5× ATR (wider stops for trends)
Target Multiplier: 5.0R (larger targets)
Entry Mode: Pyramid (scales into winners)
Best For: Strong trending markets, breakouts, momentum continuation
2. ConservativeRange (Policy 1):
Probability Threshold: 75% (more selective)
Entropy Threshold: 0.60 (requires order)
Stop Multiplier: 1.8× ATR (tighter stops)
Target Multiplier: 3.0R (modest targets)
Entry Mode: Single (one-shot entries)
Best For: Range-bound markets, low volatility, mean reversion
3. VolatilityBreakout (Policy 2):
Probability Threshold: 65% (moderate)
Entropy Threshold: 0.80 (accepts high entropy)
Stop Multiplier: 3.0× ATR (wider stops)
Target Multiplier: 6.0R (larger targets)
Entry Mode: Tiered (splits entry)
Best For: Compression breakouts, post-consolidation moves, gap opens
4. EntropyScalp (Policy 3):
Probability Threshold: 80% (very selective)
Entropy Threshold: 0.40 (requires extreme order)
Stop Multiplier: 1.5× ATR (tightest stops)
Target Multiplier: 2.5R (quick targets)
Entry Mode: Single
Best For: Low-volatility grinding moves, tight ranges, highly predictable patterns
5. DivergenceHunter (Policy 4):
Probability Threshold: 70% (quality-focused)
Entropy Threshold: 0.65 (balanced)
Stop Multiplier: 2.2× ATR (moderate stops)
Target Multiplier: 4.5R (balanced targets)
Entry Mode: Tiered
Best For: Divergence-confirmed reversals, exhaustion moves, trend climax
6. AdaptiveBlend (Policy 5):
Probability Threshold: 68% (balanced)
Entropy Threshold: 0.75 (balanced)
Stop Multiplier: 2.0× ATR (standard)
Target Multiplier: 4.0R (standard)
Entry Mode: Single
Best For: Mixed conditions, general trading, fallback when no clear regime
Policy Clustering (Advanced/Extreme Modes)
Policies are grouped into three clusters based on regime affinity:
Cluster 1 (Trending): AggressiveTrend, DivergenceHunter
High regime affinity (0.8): Performs well when ADX >25
Moderate vol affinity (0.6): Works in various volatility
Cluster 2 (Ranging): ConservativeRange, AdaptiveBlend
Low regime affinity (0.3): Better suited for ADX <20
Low vol affinity (0.4): Optimized for calm markets
Cluster 3 (Breakout): VolatilityBreakout
Moderate regime affinity (0.6): Works in multiple regimes
High vol affinity (0.9): Requires high volatility for optimal characteristics
Hierarchical Selection Process:
Calculate cluster scores based on current regime and volatility
Select best-matching cluster
Run UCB selection within chosen cluster
Apply momentum boost/penalty
This two-stage process reduces learning time - instead of choosing among 6 policies from scratch, system first narrows to 1-2 policies per cluster, then optimizes within cluster.
Risk Management & Position Sizing
Dynamic Kelly Criterion Sizing (Optional)
Traditional Fixed Sizing Challenge:
Using the same position size for all signal probabilities may be suboptimal. Higher-probability signals could justify larger positions, lower-probability signals smaller positions.
Kelly Formula:
f = (p × b - q) / b
Where:
p = win probability (from signal score)
q = loss probability (1 - p)
b = win/loss ratio (average_win / average_loss)
f = fraction of capital to risk
RPD Implementation:
Uses Fractional Kelly (1/4 Kelly default) for safety. Full Kelly is theoretically optimal but can recommend large position sizes. Fractional Kelly reduces volatility while maintaining adaptive sizing benefits.
Enhancements:
Probability Bonus: Normalize(prob, 65, 95) × 0.5 multiplier
Divergence Bonus: Additional sizing on divergence signals
Regime Bonus: Additional sizing during strong trends (ADX >30)
Momentum Adjustment: Hot policies receive sizing boost, cold policies receive reduction
Safety Rails:
Minimum: 1 contract (floor)
Maximum: User-defined cap (default 10 contracts)
Portfolio Heat: Max total risk across all positions (default 4% equity)
Multi-Mode Stop Loss System
ATR Mode (Default):
Stop = entry ± (ATR × base_mult × policy_mult)
Consistent risk sizing
Ignores market structure
Best for: Futures, forex, algorithmic trading
Structural Mode:
Finds swing low (long) or high (short) over last 20 bars
Identifies fractal pivots within lookback
Places stop below/above structure + buffer (0.1× ATR)
Best for: Stocks, instruments that respect structure
Hybrid Mode (Intelligent):
Attempts structural stop first
Falls back to ATR if:
Structural level is invalid (beyond entry)
Structural stop >2× ATR away (too wide)
Best for: Mixed instruments, adaptability
Dynamic Adjustments:
Breakeven: Move stop to entry + 1 tick after 1.0R profit
Trailing: Trail stop 0.8R behind price after 1.5R profit
Timeout: Force close after 30 bars (optional)
Tiered Entry System
Challenge: Equal sizing on all signals may not optimize capital allocation relative to signal quality.
Solution:
Tier 1 (40% of size): Enters immediately on all signals
Tier 2 (60% of size): Enters only if probability ≥ Tier 2 trigger (default 75%)
Example:
Calculated optimal size: 10 contracts
Signal probability: 72%
Tier 2 trigger: 75%
Result: Enter 4 contracts only (Tier 1)
Same signal at 80% probability
Result: Enter 10 contracts (4 Tier 1 + 6 Tier 2)
Effect: Automatically scales size to signal quality, optimizing capital allocation.
Performance Optimization & Learning Curve
Warmup Phase (First 50 Trades)
Purpose: Ensure all policies get tested before system focuses on preferred strategies.
Modifications During Warmup:
Probability thresholds reduced 20% (65% becomes 52%)
Entropy thresholds increased 20% (more permissive)
Exploration rate stays high (30%)
Confidence width (α) doubled (more exploration)
Why This Matters:
Without warmup, system might commit to early-performing policy without testing alternatives. Warmup forces thorough exploration before focusing on best-performing strategies.
Curriculum Learning
Phase 1 (Trades 1-50): Exploration
Warmup active
All policies tested
High exploration (30%)
Learning fundamental patterns
Phase 2 (Trades 50-100): Refinement
Warmup ended, thresholds normalize
Exploration decaying (30% → 15%)
Policy preferences emerging
Meta-learning optimizing
Phase 3 (Trades 100-200): Specialization
Exploration low (15% → 8%)
Clear policy preferences established
Momentum tracking fully active
System focusing on learned patterns
Phase 4 (Trades 200+): Maturity
Exploration minimal (8% → 5%)
Regime-policy relationships learned
Auto-adaptation to market shifts
Stable performance expected
Convergence Indicators
System is learning well when:
Policy switch rate decreasing over time (initially ~50%, should drop to <20%)
Exploration rate decaying smoothly (30% → 5%)
One or two policies emerge with >50% selection frequency
Performance metrics stabilizing over time
Consistent behavior in similar market conditions
System may need adjustment when:
Policy switch rate >40% after 100 trades (excessive exploration)
Exploration rate not decaying (parameter issue)
All policies showing similar selection (not differentiating)
Performance declining despite relaxed thresholds (underlying signal issue)
Highly erratic behavior after learning phase
Advanced Features
Attention Mechanism (Extreme Mode)
Challenge: Not all features are equally important. Trading hour might matter more than price-volume correlation, but standard approaches treat them equally.
Solution:
Each RFF dimension has an importance weight . After each trade:
Calculate correlation: sign(feature - 0.5) × sign(reward)
Update importance: importance += correlation × 0.01
Clamp to range
Effect: Important features get amplified in RFF transformation, less important features get suppressed. System learns which features correlate with successful outcomes.
Temporal Context (Extreme Mode)
Challenge: Current market state alone may be incomplete. Historical context (was volatility rising or falling?) provides additional information.
Solution:
Includes 3-period historical context with exponential decay (0.85):
Current features (weight 1.0)
1 bar ago (weight 0.85)
2 bars ago (weight 0.72)
Effect: Captures momentum and acceleration of market features. System learns patterns like "rising volatility with falling entropy" that may precede significant moves.
Transfer Learning via Episodic Memory
Short-Term Memory (STM):
Last 20 trades
Fast adaptation to immediate regime
High learning rate
Long-Term Memory (LTM):
Condensed historical patterns
Preserved knowledge from past regimes
Low learning rate
Transfer Mechanism:
When STM fills (20 trades), patterns consolidated into LTM . When similar regime recurs later, LTM provides faster adaptation than starting from scratch.
Practical Implementation Guide - Recommended Settings by Instrument
Futures (ES, NQ, CL):
Adaptive Period: 20-25
ML Mode: Advanced
RFF Dimensions: 16
Policies: 6
Base Risk: 1.5%
Stop Mode: ATR or Hybrid
Timeframe: 5-15 min
Forex Majors (EURUSD, GBPUSD):
Adaptive Period: 25-30
ML Mode: Advanced
RFF Dimensions: 16
Policies: 6
Base Risk: 1.0-1.5%
Stop Mode: ATR
Timeframe: 5-30 min
Cryptocurrency (BTC, ETH):
Adaptive Period: 20-25
ML Mode: Extreme (handles non-stationarity)
RFF Dimensions: 32 (captures complexity)
Policies: 6
Base Risk: 1.0% (volatility consideration)
Stop Mode: Hybrid
Timeframe: 15 min - 4 hr
Stocks (Large Cap):
Adaptive Period: 25-30
ML Mode: Advanced
RFF Dimensions: 16
Policies: 5-6
Base Risk: 1.5-2.0%
Stop Mode: Structural or Hybrid
Timeframe: 15 min - Daily
Scaling Strategy
Phase 1 (Testing - First 50 Trades):
Max Contracts: 1-2
Goal: Validate system on your instrument
Monitor: Performance stabilization, learning progress
Phase 2 (Validation - Trades 50-100):
Max Contracts: 2-3
Goal: Confirm learning convergence
Monitor: Policy stability, exploration decay
Phase 3 (Scaling - Trades 100-200):
Max Contracts: 3-5
Enable: Kelly sizing (1/4 Kelly)
Goal: Optimize capital efficiency
Monitor: Risk-adjusted returns
Phase 4 (Full Deployment - Trades 200+):
Max Contracts: 5-10
Enable: Full momentum tracking
Goal: Sustained consistent performance
Monitor: Ongoing adaptation quality
Limitations & Disclaimers
Statistical Limitations
Learning Sample Size: System requires minimum 50-100 trades for basic convergence, 200+ trades for robust learning. Early performance (first 50 trades) may not reflect mature system behavior.
Non-Stationarity Risk: Markets change over time. A system trained on one market regime may need time to adapt when conditions shift (typically 30-50 trades for adjustment).
Overfitting Possibility: With 16-32 RFF dimensions and 6 policies, system has substantial parameter space. Small sample sizes (<200 trades) increase overfitting risk. Mitigated by regularization (λ) and fractional Kelly sizing.
Technical Limitations
Computational Complexity: Extreme mode with 32 RFF dimensions, 6 policies, and full RL stack requires significant computation. May perform slowly on lower-end systems or with many other indicators loaded.
Pine Script Constraints:
No true matrix inversion (uses diagonal approximation for LinUCB)
No cryptographic RNG (uses market data as entropy)
No proper random number generation for RFF (uses deterministic pseudo-random)
These approximations reduce mathematical precision compared to academic implementations but remain functional for trading applications.
Data Requirements: Needs clean OHLCV data. Missing bars, gaps, or low liquidity (<100k daily volume) can degrade signal quality.
Forward-Looking Bias Disclaimer
Reward Calculation Uses Future Data: The RL system evaluates trades using an 8-bar forward-looking window. This means when a position enters at bar 100, the reward calculation considers price movement through bar 108.
Why This is Disclosed:
Entry signals do NOT look ahead - decisions use only data up to entry bar
Forward data used for learning only, not signal generation
In live trading, system learns identically as bars unfold in real-time
Simulates natural learning process (outcomes are only known after trades complete)
Implication: Backtested metrics reflect this 8-bar evaluation window. Live performance may vary if:
- Positions held longer than 8 bars
- Slippage/commissions differ from backtest settings
- Market microstructure changes (wider spreads, different execution quality)
Risk Warnings
No Guarantee of Profit: All trading involves substantial risk of loss. Machine learning systems can fail if market structure fundamentally changes or during unprecedented events.
Maximum Drawdown: With 1.5% base risk and 4% max total risk, expect potential drawdowns. Historical drawdowns do not predict future drawdowns. Extreme market conditions can exceed expectations.
Black Swan Events: System has not been tested under: flash crashes, trading halts, circuit breakers, major geopolitical shocks, or other extreme events. Such events can exceed stop losses and cause significant losses.
Leverage Risk: Futures and forex involve leverage. Adverse moves combined with leverage can result in losses exceeding initial investment. Use appropriate position sizing for your risk tolerance.
System Failures: Code bugs, broker API failures, internet outages, or exchange issues can prevent proper execution. Always monitor automated systems and maintain appropriate safeguards.
Appropriate Use
This System Is:
✅ A machine learning framework for adaptive strategy selection
✅ A signal generation system with probabilistic scoring
✅ A risk management system with dynamic sizing
✅ A learning system designed to adapt over time
This System Is NOT:
❌ A price prediction system (does not forecast exact prices)
❌ A guarantee of profits (can and will experience losses)
❌ A replacement for due diligence (requires monitoring and understanding)
❌ Suitable for complete beginners (requires understanding of ML concepts, risk management, and trading fundamentals)
Recommended Use:
Paper trade for 100 signals before risking capital
Start with minimal position sizing (1-2 contracts) regardless of calculated size
Monitor learning progress via dashboard
Scale gradually over several months only after consistent results
Combine with fundamental analysis and broader market context
Set account-level risk limits (e.g., maximum drawdown threshold)
Never risk more than you can afford to lose
What Makes This System Different
RPD implements academically-derived machine learning algorithms rather than simple mathematical calculations or optimization:
✅ LinUCB Contextual Bandits - Algorithm from WWW 2010 conference (Li et al.)
✅ Random Fourier Features - Kernel approximation from NIPS 2007 (Rahimi & Recht)
✅ Q-Learning, TD(λ), REINFORCE - Standard RL algorithms from Sutton & Barto textbook
✅ Meta-Learning - Learning rate adaptation based on feature correlation
✅ Online Learning - Real-time updates from streaming data
✅ Hierarchical Policies - Two-stage selection with clustering
✅ Momentum Tracking - Recent performance analysis for faster adaptation
✅ Attention Mechanism - Feature importance weighting
✅ Transfer Learning - Episodic memory consolidation
Key Differentiators:
Actually learns from trade outcomes (not just parameter optimization)
Updates model parameters in real-time (true online learning)
Adapts to changing market regimes (not static rules)
Improves over time through reinforcement learning
Implements published ML algorithms with proper citations
Conclusion
RPD Machine Learning represents a different approach from traditional technical analysis to adaptive, self-learning systems . Instead of manually optimizing parameters (which can overfit to historical data), RPD learns behavior patterns from actual trading outcomes in your specific market.
The combination of contextual bandits, reinforcement learning, random fourier features, hierarchical policy selection, and momentum tracking creates a multi-algorithm learning system designed to handle non-stationary markets better than static approaches.
After the initial learning phase (50-100 trades), the system achieves autonomous adaptation - automatically discovering which strategies work in current conditions and shifting allocation without human intervention. This represents an approach where systems adapt over time rather than remaining static.
Use responsibly. Paper trade extensively. Scale gradually. Understand that past performance does not guarantee future results and all trading involves risk of loss.
Taking you to school. — Dskyz, Trade with insight. Trade with anticipation.
coinbot_mr_table이 스크립트는 **"MA 리본(Moving Average Ribbon) 기반 자동매매 전략"**입니다.
이름(coinbot_mr_table)에 모든 기능이 요약되어 있습니다.
coinbot: user_id, exchange, leverage 등 자동매매 봇과 연동하기 위한 웹훅(Webhook) 신호 전송 기능이 포함되어 있습니다.
mr (MA Ribbon): 18개(5~90)의 이동평균선(EMA 또는 SMA)이 100 이평선을 기준으로 정배열/역배열되는지를 색상(LIME/RUBI)으로 구분하여 추세를 판단합니다.
table: 전략의 백테스팅 성과(총 승률, 일일 수익률 등)를 차트 위에 '누적 통계'와 '일일 통계' 테이블로 시각화해 줍니다.
이 스크립트의 매매 로직과 자동매매 신호에 대한 자세한 설명을 한글과 영어로 각각 제공해 드립니다.
🇰🇷 한글 (Korean)
이 스크립트는 **"MA 리본(Moving Average Ribbon)"**을 핵심 엔진으로 사용하는 완전 자동매매(Autotrade) 전략 신호 생성기입니다.
이 지표의 목적은 차트에서 추세를 시각적으로 보여주는 것을 넘어, 구체적인 매매 신호(진입, 분할 익절, 손절)가 발생할 때마다 JSON 형식의 명령어를 자동매매 봇으로 전송하는 것입니다.
1. 📈 매매 전략: MA 리본 추세 추종
이 전략은 18개의 단기/중기 이동평균선(5~90)과 1개의 장기 이동평균선(100)을 사용하여 추세를 정의합니다.
100 이평선: 장기 추세를 가르는 기준선(강/약을 나누는 분수령)입니다.
18개 리본: 이 리본들이 100 이평선 위에서 모두 상승(LIME 색상)하면 '강세 추세', 아래에서 모두 하락(RUBI 색상)하면 '약세 추세'로 판단합니다.
2. 🚦 진입 및 청산 신호
이 전략은 '전환(Reversing)' 전략입니다. 즉, 롱 신호가 발생하면 숏 포지션을 종료하고 롱으로 진입하며, 그 반대도 마찬가지입니다. (항상 롱 또는 숏 포지션을 유지합니다.)
진입 신호 (Long):
추세 확정: 모든 리본이 100 이평선 위에서 '강세(LIME)'로 통일될 때.
재진입 (불타기): 강세 추세 중, 리본이 일시적으로 조정(GREEN)을 보이다가 다시 '강세(LIME)'로 복귀할 때.
진입 신호 (Short):
추세 확정: 모든 리본이 100 이평선 아래에서 '약세(RUBI)'로 통일될 때.
재진입 (물타기): 약세 추세 중, 리본이 일시적으로 반등(MAROON)하다가 다시 '약세(RUBI)'로 복귀할 때.
청산 신호 (자동매매):
진입 (ENTRY): 롱/숏 신호 발생 시, 설정한 user_id, exchange, leverage 등을 포함한 JSON 메시지를 전송합니다.
익절 (TAKE_PROFIT): 롱/숏 포지션이 사용자가 설정한 TP1, TP2, TP3 목표가에 도달하면, 설정된 물량(qty_percent)만큼 분할 익절하라는 JSON 메시지를 전송합니다.
손절 (CLOSE): 포지션이 설정한 sl_percent에 도달하면, 포지션을 즉시 종료하라는 JSON 메시지를 전송합니다.
3. 📊 핵심 기능: 통계 테이블
이 스크립트는 백테스팅 성과를 두 개의 테이블로 요약하여 차트에 실시간으로 표시합니다.
누적 통계 (Total Stats): 전체 기간의 총 진입 횟수, 승/패, 승률(Winrate), 총수익률(Total Profit) 등을 보여줍니다.
일일 통계 (Daily Stats): '오늘' 하루 동안 발생한 매매의 성과(승/패, 승률, 수익률)만 따로 집계하여 보여줍니다.
🇺🇸 영어 (English)
This script is an automated trading (Autotrade) strategy signal generator based on a "Moving Average (MA) Ribbon."
Its purpose extends beyond visual trend analysis; it is designed to generate specific JSON-formatted commands and send them to an automated trading bot whenever a trade signal (entry, take-profit, stop-loss) occurs.
1. 📈 Trading Strategy: MA Ribbon Trend Following
This strategy uses 18 short-to-mid-term Moving Averages (5 to 90) and one long-term Moving Average (100) to define the trend.
100-MA: This acts as the baseline filter, dividing the market into a long-term bull or bear state.
18-MA Ribbon: When all 18 ribbons are above the 100-MA and rising (LIME color), it defines a 'Strong Bull Trend'. When all are below the 100-MA and falling (RUBI color), it defines a 'Strong Bear Trend'.
2. 🚦 Entry and Exit Signals
This is a 'Reversing' strategy. This means when a long signal occurs, it closes any existing short position and enters long, and vice-versa. It is designed to hold a position (either long or short) at all times.
Long Entry Signals:
Trend Confirmation: When all ribbons unify into a 'Strong Bull' (LIME) state above the 100-MA.
Re-entry (Buy the Dip): During a bull trend, if the ribbon shows a temporary pullback (GREEN) and then flips back to 'Strong Bull' (LIME).
Short Entry Signals:
Trend Confirmation: When all ribbons unify into a 'Strong Bear' (RUBI) state below the 100-MA.
Re-entry (Sell the Rally): During a bear trend, if the ribbon shows a temporary rally (MAROON) and then flips back to 'Strong Bear' (RUBI).
Exit Signals (For Automation):
ENTRY: When a long/short signal occurs, it sends a JSON message with the user's user_id, exchange, leverage, etc.
TAKE_PROFIT: When a position reaches the user-defined TP1, TP2, or TP3 price targets, it sends a JSON message to take profit on the specified quantity (qty_percent) for that portion.
CLOSE (Stop-Loss): When a position hits the sl_percent threshold, it sends a JSON message to immediately close the entire position.
3. 📊 Key Feature: Statistics Tables
The script provides two real-time summary tables on the chart to visualize backtesting performance.
Cumulative Stats: Shows lifetime performance, including total trades, wins, losses, win rate, and total profit.
Daily Stats: Isolates and displays the performance metrics (wins, losses, win rate, profit) for "Today's" trading activity only.
NLR-ADX Divergence Strategy Triple-ConfirmedHow it works
Builds a cleaner DMI/ADX
Recomputes classic +DI, −DI, ADX over a user-set length.
Then “non-linear regresses” each series toward a mean (your choice: dynamic EMA of the series or a fixed Static Mid like 50).
The further a value is from the mean, the stronger the pull (controlled by alphaMin/alphaMax and the γ exponent), giving smoother, more stable DI/ADX lines with less whipsaw.
Optional EMA smoothing on top of that.
Lock in values at confirmed pivots
Uses price pivots (left/right bars) to confirm swing lows and highs.
When a pivot confirms, the script captures (“freezes”) the current +DI, −DI, and ADX values at that bar and stores them. This avoids later drift from smoothing/EMAs.
Check for triple divergence
For a bullish setup (potential long):
Price makes a Lower Low vs. a prior pivot low,
+DI is higher than before (bulls quietly stronger),
−DI is lower (bears weakening),
ADX is lower (trend fatigue).
For a bearish setup (potential short)
Price makes a Higher High,
+DI is lower, −DI is higher,
ADX is lower.
Adds a “no-intersection” sanity check: between the two pivots, the live series shouldn’t snake across the straight line connecting endpoints. This filters messy, low-quality structures.
Trade logic
On a valid triple-confirm, places a strategy.entry (Long for bullish, Short for bearish) and optionally labels the bar (BUY or SELL with +DI/−DI/ADX arrows).
Simple flip behavior: if you’re long and a new short signal prints (or vice versa), it closes the open side and flips.
Key inputs you can tweak
Custom DMI Settings
DMI Length — base length for DI/ADX.
Non-Linear Regression Model
Mean Reference — EMA(series) (dynamic) or Static mid (e.g., 50).
Dynamic Mean Length & Deviation Scale Length — govern the mean and scale used for regression.
Min/Max Regression & Non-Linearity Exponent (γ) — how strongly values are pulled toward the mean (stronger when far away).
Divergence Engine
Pivot Left/Right Bars — how strict the swing confirmation is (larger = more confirmation, more delay).
Min Bars Between Pivots — avoids comparing “near-duplicate” swings.
Max Historical Pivots to Store — memory cap.
CBC Flip StrategyThe CBC Flip Strategy is a momentum-based trading system that identifies shifts in market control by monitoring price closes relative to previous bars' highs and lows: it flips to bullish mode when the close exceeds the prior high (indicating bulls in control) and enters a long position, or to bearish mode when the close falls below the prior low (indicating bears in control) and enters a short position, all while incorporating optional confluences like higher timeframe CBC alignment, RSI thresholds (above 50 + offset for longs, below 50 - offset for shorts), and EMA positioning (above for longs, below for shorts) to filter entries; trades are restricted to a user-defined session window and direction preferences, with exits handled via tick-based TP/SL, reversal on chart or higher timeframe CBC flips, and an optional flatten at a specified time to close all positions.
Number of Contracts: Adjust the quantity of contracts per trade (default: 1).
SL and TP Ticks: Set stop-loss (default: 12 ticks) and take-profit (default: 24 ticks) distances from entry.
Exit Strategy: Choose from TP/SL in ticks, exit on chart CBC flip (reverses on opposite signal), or exit on higher timeframe CBC flip.
Flatten All: Enable/disable flattening all positions at a customizable time (default: 16:00, with adjustable hour/minute).
Trading Session: Define the time window for allowing entries (default: 0800-1700).
Trade Direction: Select "Both" (longs and shorts), "Only Long", "Only Short", or "Towards Daily Open" (longs if below daily open, shorts if above).
Higher Timeframe CBC Confluence: Toggle use of HTF CBC alignment (default: enabled, with customizable HTF like "240").
RSI Confluence: Toggle RSI filter (default: enabled, with adjustable length=14, offset=20 for thresholds).
EMA Confluence: Toggle EMA filter (default: enabled, with adjustable length=200 for position relative to price).
Hyper SAR Reactor Trend StrategyHyperSAR Reactor Adaptive PSAR Strategy
Summary
Adaptive Parabolic SAR strategy for liquid stocks, ETFs, futures, and crypto across intraday to daily timeframes. It acts only when an adaptive trail flips and confirmation gates agree. Originality comes from a logistic boost of the SAR acceleration using drift versus ATR, plus ATR hysteresis, inertia on the trail, and a bear-only gate for shorts. Add to a clean chart and run on bar close for conservative alerts.
Scope and intent
• Markets: large cap equities and ETFs, index futures, major FX, liquid crypto
• Timeframes: one minute to daily
• Default demo: BTC on 60 minute
• Purpose: faster yet calmer PSAR that resists chop and improves short discipline
• Limits: this is a strategy that places simulated orders on standard candles
Originality and usefulness
• Novel fusion: PSAR AF is boosted by a logistic function of normalized drift, trail is monotone with inertia, entries use ATR buffers and optional cooldown, shorts are allowed only in a bear bias
• Addresses false flips in low volatility and weak downtrends
• All controls are exposed in Inputs for testability
• Yardstick: ATR normalizes drift so settings port across symbols
• Open source. No links. No solicitation
Method overview
Components
• Adaptive AF: base step plus boost factor times logistic strength
• Trail inertia: one sided blend that keeps the SAR monotone
• Flip hysteresis: price must clear SAR by a buffer times ATR
• Volatility gate: ATR over its mean must exceed a ratio
• Bear bias for shorts: price below EMA of length 91 with negative slope window 54
• Cooldown bars optional after any entry
• Visual SAR smoothing is cosmetic and does not drive orders
Fusion rule
Entry requires the internal flip plus all enabled gates. No weighted scores.
Signal rule
• Long when trend flips up and close is above SAR plus buffer times ATR and gates pass
• Short when trend flips down and close is below SAR minus buffer times ATR and gates pass
• Exit uses SAR as stop and optional ATR take profit per side
Inputs with guidance
Reactor Engine
• Start AF 0.02. Lower slows new trends. Higher reacts quicker
• Max AF 1. Typical 0.2 to 1. Caps acceleration
• Base step 0.04. Typical 0.01 to 0.08. Raises speed in trends
• Strength window 18. Typical 10 to 40. Drift estimation window
• ATR length 16. Typical 10 to 30. Volatility unit
• Strength gain 4.5. Typical 2 to 6. Steepness of logistic
• Strength center 0.45. Typical 0.3 to 0.8. Midpoint of logistic
• Boost factor 0.03. Typical 0.01 to 0.08. Adds to step when strength rises
• AF smoothing 0.50. Typical 0.2 to 0.7. Adds inertia to AF growth
• Trail smoothing 0.35. Typical 0.15 to 0.45. Adds inertia to the trail
• Allow Long, Allow Short toggles
Trade Filters
• Flip confirm buffer ATR 0.50. Typical 0.2 to 0.8. Raise to cut flips
• Cooldown bars after entry 0. Typical 0 to 8. Blocks re entry for N bars
• Vol gate length 30 and Vol gate ratio 1. Raise ratio to trade only in active regimes
• Gate shorts by bear regime ON. Bear bias window 54 and Bias MA length 91 tune strictness
Risk
• TP long ATR 1.0. Set to zero to disable
• TP short ATR 0.0. Set to 0.8 to 1.2 for quicker shorts
Usage recipes
Intraday trend focus
Confirm buffer 0.35 to 0.5. Cooldown 2 to 4. Vol gate ratio 1.1. Shorts gated by bear regime.
Intraday mean reversion focus
Confirm buffer 0.6 to 0.8. Cooldown 4 to 6. Lower boost factor. Leave shorts gated.
Swing continuation
Strength window 24 to 34. ATR length 20 to 30. Confirm buffer 0.4 to 0.6. Use daily or four hour charts.
Properties visible in this publication
Initial capital 10000. Base currency USD. Order size Percent of equity 3. Pyramiding 0. Commission 0.05 percent. Slippage 5 ticks. Process orders on close OFF. Bar magnifier OFF. Recalculate after order filled OFF. Calc on every tick OFF. No security calls.
Realism and responsible publication
No performance claims. Past results never guarantee future outcomes. Shapes can move while a bar forms and settle on close. Strategies execute only on standard candles.
Honest limitations and failure modes
High impact events and thin books can void assumptions. Gap heavy symbols may prefer longer ATR. Very quiet regimes can reduce contrast and invite false flips.
Open source reuse and credits
Public domain building blocks used: PSAR concept and ATR. Implementation and fusion are original. No borrowed code from other authors.
Strategy notice
Orders are simulated on standard candles. No lookahead.
Entries and exits
Long: flip up plus ATR buffer and all gates true
Short: flip down plus ATR buffer and gates true with bear bias when enabled
Exit: SAR stop per side, optional ATR take profit, optional cooldown after entry
Tie handling: stop first if both stop and target could fill in one bar






















