Febres StrategyThe strategy consist in every time that price failed to break any of the EMAs, we need to wait for the right price action and make a buy or sell when it bounce from it to keep surfing on the trend (using the stochastic oscillator and the 5-13 EMAs cross as an additional confirmation).
When do we start looking for a change on the trend? When it repeats the blue tracer (high or low of the previous day) without breaking it and bouncing from it, there will be our signal to start looking for a change of direction on the trend.
Only applicable on 15 minute chart.
ค้นหาในสคริปต์สำหรับ "the strat"
Crossing55 by KloovThe strategy of using crossing emas was popularized by a youtuber.
This simple script uses the 8, 13, 21, and 55 EMAs.
When the 8, 13, and 21 cross OVER the 55 ema -- long.
When the 8, 13, and 21 cross UNDER the 55 ema -- short.
Alerts available for printing long and short indicators.
100 and 200 emas are added for simplicity but can be turned off in the options.
Eros Darvas Box Momentum by ZekisThe strategy traces its origins to 1956, when Nicolas Darvas turned a $10,000 investment into $2 million over an 18-month period using this theory
Short introduction: Darvas Box is based on momentum, the price will stay in the channel and when wil exit from the channel will be the trigger for shorts or longs
More about Darvas Box Theory
www.investopedia.com
Rules are simple:
Enter Long when the price exits the channel through the topline
Exit Long when it enters in the channel
Enter Short when the price exits the channel through the bottom line
Exit Short when it enters in the channel
You need to set all values for your needs, according to what you trade
Alerts are enabled
Enjoy!
@ Zekis
Eat GAPThe strategy is simply based on the recovery of the GAP that is formed between one week and another.
The indicator draws the SL according to the ATR of the last candle and the TPs according to the RR set.
Systematic Investment Tracker by Ceyhun Gonul### English Description
**Systematic Investment Tracker with Enhanced Features**
This script, titled **Systematic Investment Tracker with Enhanced Features**, is a TradingView tool designed to support systematic investments across different market conditions. It provides traders with two customizable investment strategies — **Continuous Buying** and **Declining Buying** — and includes advanced dynamic investment adjustment features for each.
#### Detailed Explanation of Script Features and Originality
1. **Two Investment Strategies**:
- **Continuous Buying**: This strategy performs purchases consistently at each interval, as set by the user, regardless of market price changes. It follows the principle of dollar-cost averaging, allowing users to build an investment position over time.
- **Declining Buying**: Unlike Continuous Buying, this strategy triggers purchases only when the asset's price has declined from the previous interval's closing price. This approach helps users capitalize on lower price points, potentially improving average costs during downward trends.
2. **Dynamic Investment Adjustment**:
- For both strategies, the script includes a **Dynamic Investment Adjustment** feature. If enabled, this feature increases the purchasing amount by 50% if the current price has fallen by a specific user-defined percentage relative to the previous price. This allows users to accumulate a larger position when the asset is declining, which may benefit long-term cost-averaging strategies.
3. **Customizable Time Frames**:
- Users can specify a **start and end date** for investment, allowing them to restrict or backtest strategies within a specific timeframe. This feature is valuable for evaluating strategy performance over specific market cycles or historical periods.
4. **Graphical Indicators and Labels**:
- The script provides graphical labels on the chart that display purchase points. These indicators help users visualize their investment entries based on the strategy selected.
- A summary **performance label** is also displayed, providing real-time updates on the total amount spent, accumulated quantity, average cost, portfolio value, and profit percentage for each strategy.
5. **Language Support**:
- The script includes English and Turkish language options. Users can toggle between these languages, allowing the summary label text and descriptions to be displayed in their preferred language.
6. **Performance Comparison Table**:
- An optional **Performance Comparison Table** is available, offering a side-by-side analysis of net profit, total investment, and profit percentage for both strategies. This comparison table helps users assess which strategy has yielded better returns, providing clarity on each approach's effectiveness under the chosen parameters.
#### How the Script Works and Its Uniqueness
This closed-source script brings together two established investment strategies in a single, dynamic tool. By integrating continuous and declining purchase strategies with advanced settings for dynamic investment adjustment, the script offers a powerful, flexible tool for both passive and active investors. The design of this script provides unique benefits:
- Enables automated, systematic investment tracking, allowing users to build positions gradually.
- Empowers users to leverage declines through dynamic adjustments to optimize average cost over time.
- Presents an easy-to-read performance label and table, enabling an efficient and transparent performance comparison for informed decision-making.
---
### Türkçe Açıklama
**Gelişmiş Özellikli Sistematik Yatırım Takipçisi**
**Gelişmiş Özellikli Sistematik Yatırım Takipçisi** adlı bu TradingView scripti, çeşitli piyasa koşullarında sistematik yatırım stratejilerini desteklemek üzere tasarlanmış bir araçtır. Script, kullanıcıya iki özelleştirilebilir yatırım stratejisi — **Sürekli Alım** ve **Düşen Alım** — ve her strateji için gelişmiş dinamik yatırım ayarlama seçenekleri sunar.
#### Script Özelliklerinin Detaylı Açıklaması ve Özgünlük
1. **İki Yatırım Stratejisi**:
- **Sürekli Alım**: Bu strateji, fiyat değişimlerine bakılmaksızın kullanıcının belirlediği her aralıkta sabit bir miktar yatırım yapar. Bu yaklaşım, uzun vadede pozisyonu kademeli olarak oluşturmak isteyenler için idealdir.
- **Düşen Alım**: Sürekli Alım’ın aksine, bu strateji yalnızca fiyat bir önceki aralığın kapanış fiyatına göre düştüğünde alım yapar. Bu yöntem, yatırımcıların daha düşük fiyatlardan alım yaparak ortalama maliyeti potansiyel olarak iyileştirmelerine yardımcı olur.
2. **Dinamik Yatırım Ayarlaması**:
- Her iki strateji için de **Dinamik Yatırım Ayarlaması** özelliği bulunmaktadır. Bu özellik aktif edildiğinde, mevcut fiyatın bir önceki fiyata göre kullanıcı tarafından belirlenen bir yüzde oranında düşmesi durumunda alım miktarını %50 artırır. Bu durum, uzun vadede maliyet ortalaması stratejilerine katkıda bulunur.
3. **Özelleştirilebilir Tarih Aralığı**:
- Kullanıcılar, yatırımı belirli bir tarih aralığında sınırlandırmak veya test etmek için bir **başlangıç ve bitiş tarihi** belirleyebilir. Bu özellik, strateji performansını geçmiş piyasa döngüleri veya belirli dönemlerde değerlendirmek için kullanışlıdır.
4. **Grafiksel İşaretleyiciler ve Etiketler**:
- Script, grafik üzerinde alım noktalarını gösteren işaretleyiciler sağlar. Bu görsel göstergeler, kullanıcıların seçilen stratejiye göre yatırım girişlerini görselleştirmesine yardımcı olur.
- Ayrıca, her strateji için harcanan toplam tutar, biriken miktar, ortalama maliyet, portföy değeri ve kâr yüzdesi gibi bilgileri gerçek zamanlı olarak gösteren bir **performans etiketi** sunar.
5. **Dil Desteği**:
- Script, İngilizce ve Türkçe dillerini desteklemektedir. Kullanıcılar, performans etiketi metninin ve açıklamalarının tercih ettikleri dilde görüntülenmesi için dil seçimini yapabilir.
6. **Performans Karşılaştırma Tablosu**:
- İsteğe bağlı olarak kullanılabilen bir **Performans Karşılaştırma Tablosu**, her iki strateji için net kâr, toplam yatırım ve kâr yüzdesi gibi bilgileri yan yana analiz eder. Bu tablo, kullanıcıların hangi stratejinin daha yüksek getiri sağladığını değerlendirmesine yardımcı olur.
#### Scriptin Çalışma Prensibi ve Özgünlüğü
Bu script, iki yatırım stratejisini gelişmiş bir araçta birleştirir. Sürekli ve düşen fiyatlara dayalı alım stratejilerini dinamik yatırım ayarlama özelliğiyle entegre ederek yatırımcılar için güçlü ve esnek bir çözüm sunar. Script’in tasarımı aşağıdaki benzersiz faydaları sağlamaktadır:
- Otomatik, sistematik yatırım takibi yaparak kullanıcıların pozisyonlarını kademeli olarak oluşturmalarına olanak tanır.
- Dinamik ayarlama ile düşüşlerden yararlanarak zaman içinde ortalama maliyeti optimize etme olanağı sağlar.
- Her iki stratejinin performansını basit ve anlaşılır bir şekilde karşılaştıran etiket ve tablo ile verimli bir performans değerlendirmesi sunar.
Velocity And Acceleration with Strategy: Traders Magazine◙ OVERVIEW
Hi, Ivestors and Traders... This Indicator, the focus is Scott Cong's article in the Stocks & Commodities September issue, “VAcc: A Momentum Indicator Based On Velocity And Acceleration”. I have also added a trading strategy for you to benefit from this indicator. First of all, let's look at what the indicator offers us and what its logic is. First, let's focus on the logic of the strategy.
◙ CONCEPTS
Here is a new indicator based on some simple physics concepts that is easy to use, responsive and precise. Learn how to calculate and use it.
The field of physics gives us some important principles that are highly applicable to analyzing the markets. In this indicator, I will present a momentum indicator. Scott Cong developed based on the concepts of velocity and acceleration this indicator. Of the many characteristics of price that traders and analysts often study, rate and rate of change are useful ones. In other words, it’s helpful to know: How fast is price moving, and is it speeding up or slowing down? How is price changing from one period to the next? The indicator I’m introducing here is calculated using the current bar (C) and every bar of a lookback period from the current bar. He named the indicator the VAcc since it’s based on the average of velocity line (av) and acceleration line (Acc) over the lookback period. For longer periods, the VAcc behaves the same way as the MACD, only it’s simpler, more responsive, and more precise. Interestingly, for shorter periods, VAcc exhibits characteristics of an oscillator, such as the stochastics oscillator.
◙ CALCULATION
The calculation of VAcc involves the following steps:
1. Relatively weighted average where the nearer price has the largest influence.
weighted_avg (float src, int length) =>
float sum = 0.0
for _i = 1 to length
float diff = (src - src ) / _i
sum += diff
sum /= length
2. The Velocity Average is smoothed with an exponential moving average. Now it get:
VAcc (float src, int period, int smoothing) =>
float vel = ta.ema(weighted_avg(src, period), smoothing)
float acc = weighted_avg(vel, period)
3. Similarly, accelerations for each bar within the lookback period and scale factor are calculated as:
= VAcc(src, length1, length2)
av /= (length1 * scale_factor)
◙ STRATEGY
In fact, Scott probably preferred to use it in periods 9 and 26 because it was similar to Macd and used the ratio of 0.5. However, I preferred to use the 8 and 21 periods to provide signals closer to the stochastic oscillator in the short term and used the 0.382 ratio. The logic of the strategy is this
Long Strategy → acc(Acceleration Line) > 0.1 and av(Velocity Average Line) > 0.1(Long Factor)
Short strategy → acc(Acceleration Line) < -0.1 and av(Velocity Average Line) < -0.1(Long Factor)
Here, you can change the Short Factor and Long Factor as you wish and produce more meaningful results that are closer to your own strategy.
I hope you benefits...
◙ GENEL BAKIŞ
Merhaba Yatırımcılar ve Yatırımcılar... Bu Gösterge, Scott Cong'un Stocks & Emtia Eylül sayısındaki “VAcc: Hız ve İvmeye Dayalı Bir Momentum Göstergesi” başlıklı makalesine odaklanmaktadır. Bu göstergeden faydalanabilmeniz için bir ticaret stratejisi de ekledim. Öncelikle göstergenin bize neler sunduğuna ve mantığının ne olduğuna bakalım. Öncelikle stratejinin mantığına odaklanalım.
◙ KAVRAMLAR
İşte kullanımı kolay, duyarlı ve kesin bazı basit fizik kavramlarına dayanan yeni bir gösterge. Nasıl hesaplanacağını ve kullanılacağını öğrenin.
Fizik alanı bize piyasaları analiz etmede son derece uygulanabilir bazı önemli ilkeler verir. Bu göstergede bir momentum göstergesi sunacağım. Scott Cong bu göstergeyi hız ve ivme kavramlarına dayanarak geliştirdi. Yatırımcıların ve analistlerin sıklıkla incelediği fiyatın pek çok özelliği arasında değişim oranı ve oranı yararlı olanlardır. Başka bir deyişle şunu bilmek faydalı olacaktır: Fiyat ne kadar hızlı hareket ediyor ve hızlanıyor mu, yavaşlıyor mu? Fiyatlar bir dönemden diğerine nasıl değişiyor? Burada tanıtacağım gösterge, mevcut çubuk (C) ve mevcut çubuktan bir yeniden inceleme döneminin her çubuğu kullanılarak hesaplanır. Göstergeye, yeniden inceleme dönemi boyunca hız çizgisinin (av) ve ivme çizgisinin (Acc) ortalamasına dayandığı için VAcc adını verdi. Daha uzun süreler boyunca VACc, MACD ile aynı şekilde davranır, yalnızca daha basit, daha duyarlı ve daha hassastır. İlginç bir şekilde, daha kısa süreler için VAcc, stokastik osilatör gibi bir osilatörün özelliklerini sergiliyor.
◙ HESAPLAMA
VAcc'nin hesaplanması aşağıdaki adımları içerir:
1. Yakın zamandaki fiyatın en büyük etkiye sahip olduğu göreceli ağırlıklı ortalamayı hesaplatıyoruz.
weighted_avg (float src, int length) =>
float sum = 0.0
for _i = 1 to length
float diff = (src - src ) / _i
sum += diff
sum /= length
2. Hız Ortalamasına üstel hareketli ortalamayla düzleştirme uygulanır. Şimdi bu şekilde aşağıdaki kod ile bunu şöyle elde ediyoruz:
VAcc (float src, int period, int smoothing) =>
float vel = ta.ema(weighted_avg(src, period), smoothing)
float acc = weighted_avg(vel, period)
3. Benzer şekilde, yeniden inceleme süresi ve ölçek faktörü içindeki her bir çubuk için fiyattaki ivmelenler yada momentum şu şekilde hesaplanır:
= VAcc(src, length1, length2)
av /= (length1 * scale_factor)
◙ STRATEJİ
Aslında Scott muhtemelen Macd'e benzediği ve 0,5 oranını kullandığı için 9. ve 26. periyotlarda kullanmayı tercih etmişti. Ancak kısa vadede stokastik osilatöre daha yakın sinyaller sağlamak için 8 ve 21 periyotlarını kullanmayı tercih ettim ve 0,382 oranını kullandım. Stratejinin mantığı şu
Uzun Strateji → acc(İvme Çizgisi) > 0,1 ve av(Hız Ortalama Çizgisi) > 0,1(Uzun Faktör)
Kısa strateji → acc(İvme Çizgisi) < -0,1 ve av(Hız Ortalama Çizgisi) < -0,1(Uzun Faktör)
Burada Kısa Faktör ve Uzun Faktör' ü dilediğiniz gibi değiştirip, kendi stratejinize daha yakın, daha anlamlı sonuçlar üretebilirsiniz.
umarım faydasını görürsün...
Combined Seasonalities ProEnglish
The Combined Seasonalities indicator allows you to visualize and evaluate multiple seasonal strategies.
General settings:
Start year / End year: Period to be considered
Combination Color: Color for the display of the combined results
Strategy settings
Name: Name of the strategy, e.g. DAX
Symbol: Underlying to be used, e.g. TVC:DEU40
Long or Short
Start day/month: Start of the strategy
End day/month: End of the strategy
Portfolio fraction : Portfolio fraction in %. This is useful when strategies overlap.
Color: Color for the representation of the strategy
Settings can be made for 10 strategies. However, currently only 3 strategies are visualized and evaluated
Visualization of the investment amount
Representation on which day which strategy with which portfolio portion is active
Each strategy is represented in the adjusted color
The portfolio share is represented from 0 – 100 %
Visualization of the performance
Display for each strategy: strategy name, symbols, short/long, buy & hold performance, performance per year, average performance, hit rate in % and cumulative performance
Visualization of the strategy combination: performance per year, average performance, hit rate in % and cumulated performance
Differences between Lite and Pro
Pro: Evaluation of all symbols available at TradingView.
Lite: Like Pro, but only up to five years in the past.
Deutsch
Mit dem Combined Seasonalities Indikator lassen sich mehrere saisonale Strategien visualisieren und auswerten.
Generelle Einstellungen:
Start year / End year: Zu betrachtender Zeitraum
Combination Color: Farbe für die Darstellung der kombinierten Ergebnisse
Strategie-Einstellungen
Name: Name der Strategie, z.B. DAX
Symbol: Zu verwendendes Underlying, z.B. TVC:DEU40
Long oder Short
Start day/month: Start der Strategie
End day/month: Ende der Strategie
Portfolio fraction : Portfolioanteil in %. Dies ist sinnvoll, wenn sich Strategien überlappen
Farbe: Farbe für die Darstellung der Strategie
Es können Einstellungen für 10 Strategien vorgenommen werden. Derzeit werden jedoch nur 3 Strategien visualisiert und ausgewertet
Visualisierung der Investment-Höhe
Darstellung an welchem Tag welche Strategie mit welchem Portfolioanteil aktiv ist
Jeder Strategie wird in der eingestellten Farbe dargestellt
Der Portfolioanteil wird von 0 – 100 % dargestellt
Visualisierung der Performance
Darstellung für jede Strategie: Strategiename, Symbols, Short/Long, Buy & Hold Performance, Performance pro Jahr, Durchschnittsperformance, Trefferquote in % und kumulierte Performance
Darstellung der Strategiekombination: Performance pro Jahr, Durchschnittsperformance, Trefferquote in % und kumulierte Performance
Unterschiede zwischen Lite und Pro
Pro: Auswertung aller bei TradingView verfügbaren Symbole.
Lite: Wie Pro, jedoch nur bis zu fünf Jahre in die Vergangenheit.
Combined Seasonalities LiteEnglish
The Combined Seasonalities indicator allows you to visualize and evaluate multiple seasonal strategies.
General settings:
Start year / End year: Period to be considered
Combination Color: Color for the display of the combined results
Strategy settings
Name: Name of the strategy, e.g. DAX
Symbol: Underlying to be used, e.g. TVC:DEU40
Long or Short
Start day/month: Start of the strategy
End day/month: End of the strategy
Portfolio fraction : Portfolio fraction in %. This is useful when strategies overlap.
Color: Color for the representation of the strategy
Settings can be made for 10 strategies. However, currently only 3 strategies are visualized and evaluated
Visualization of the investment amount
Representation on which day which strategy with which portfolio portion is active
Each strategy is represented in the adjusted color
The portfolio share is represented from 0 – 100 %
Visualization of the performance
Display for each strategy: strategy name, symbols, short/long, buy & hold performance, performance per year, average performance, hit rate in % and cumulative performance
Visualization of the strategy combination: performance per year, average performance, hit rate in % and cumulated performance
Differences between Lite and Pro
Pro: Evaluation of all symbols available at TradingView.
Lite: Like Pro, but only up to five years in the past.
Deutsch
Mit dem Combined Seasonalities Indikator lassen sich mehrere saisonale Strategien visualisieren und auswerten.
Generelle Einstellungen:
Start year / End year: Zu betrachtender Zeitraum
Combination Color: Farbe für die Darstellung der kombinierten Ergebnisse
Strategie-Einstellungen
Name: Name der Strategie, z.B. DAX
Symbol: Zu verwendendes Underlying, z.B. TVC:DEU40
Long oder Short
Start day/month: Start der Strategie
End day/month: Ende der Strategie
Portfolio fraction : Portfolioanteil in %. Dies ist sinnvoll, wenn sich Strategien überlappen
Farbe: Farbe für die Darstellung der Strategie
Es können Einstellungen für 10 Strategien vorgenommen werden. Derzeit werden jedoch nur 3 Strategien visualisiert und ausgewertet
Visualisierung der Investment-Höhe
Darstellung an welchem Tag welche Strategie mit welchem Portfolioanteil aktiv ist
Jeder Strategie wird in der eingestellten Farbe dargestellt
Der Portfolioanteil wird von 0 – 100 % dargestellt
Visualisierung der Performance
Darstellung für jede Strategie: Strategiename, Symbols, Short/Long, Buy & Hold Performance, Performance pro Jahr, Durchschnittsperformance, Trefferquote in % und kumulierte Performance
Darstellung der Strategiekombination: Performance pro Jahr, Durchschnittsperformance, Trefferquote in % und kumulierte Performance
Unterschiede zwischen Lite und Pro
Pro: Auswertung aller bei TradingView verfügbaren Symbole.
Lite: Wie Pro, jedoch nur bis zu fünf Jahre in die Vergangenheit.
Backtesting & Trading Engine [PineCoders]The PineCoders Backtesting and Trading Engine is a sophisticated framework with hybrid code that can run as a study to generate alerts for automated or discretionary trading while simultaneously providing backtest results. It can also easily be converted to a TradingView strategy in order to run TV backtesting. The Engine comes with many built-in strats for entries, filters, stops and exits, but you can also add you own.
If, like any self-respecting strategy modeler should, you spend a reasonable amount of time constantly researching new strategies and tinkering, our hope is that the Engine will become your inseparable go-to tool to test the validity of your creations, as once your tests are conclusive, you will be able to run this code as a study to generate the alerts required to put it in real-world use, whether for discretionary trading or to interface with an execution bot/app. You may also find the backtesting results the Engine produces in study mode enough for your needs and spend most of your time there, only occasionally converting to strategy mode in order to backtest using TV backtesting.
As you will quickly grasp when you bring up this script’s Settings, this is a complex tool. While you will be able to see results very quickly by just putting it on a chart and using its built-in strategies, in order to reap the full benefits of the PineCoders Engine, you will need to invest the time required to understand the subtleties involved in putting all its potential into play.
Disclaimer: use the Engine at your own risk.
Before we delve in more detail, here’s a bird’s eye view of the Engine’s features:
More than 40 built-in strategies,
Customizable components,
Coupling with your own external indicator,
Simple conversion from Study to Strategy modes,
Post-Exit analysis to search for alternate trade outcomes,
Use of the Data Window to show detailed bar by bar trade information and global statistics, including some not provided by TV backtesting,
Plotting of reminders and generation of alerts on in-trade events.
By combining your own strats to the built-in strats supplied with the Engine, and then tuning the numerous options and parameters in the Inputs dialog box, you will be able to play what-if scenarios from an infinite number of permutations.
USE CASES
You have written an indicator that provides an entry strat but it’s missing other components like a filter and a stop strategy. You add a plot in your indicator that respects the Engine’s External Signal Protocol, connect it to the Engine by simply selecting your indicator’s plot name in the Engine’s Settings/Inputs and then run tests on different combinations of entry stops, in-trade stops and profit taking strats to find out which one produces the best results with your entry strat.
You are building a complex strategy that you will want to run as an indicator generating alerts to be sent to a third-party execution bot. You insert your code in the Engine’s modules and leverage its trade management code to quickly move your strategy into production.
You have many different filters and want to explore results using them separately or in combination. Integrate the filter code in the Engine and run through different permutations or hook up your filtering through the external input and control your filter combos from your indicator.
You are tweaking the parameters of your entry, filter or stop strat. You integrate it in the Engine and evaluate its performance using the Engine’s statistics.
You always wondered what results a random entry strat would yield on your markets. You use the Engine’s built-in random entry strat and test it using different combinations of filters, stop and exit strats.
You want to evaluate the impact of fees and slippage on your strategy. You use the Engine’s inputs to play with different values and get immediate feedback in the detailed numbers provided in the Data Window.
You just want to inspect the individual trades your strategy generates. You include it in the Engine and then inspect trades visually on your charts, looking at the numbers in the Data Window as you move your cursor around.
You have never written a production-grade strategy and you want to learn how. Inspect the code in the Engine; you will find essential components typical of what is being used in actual trading systems.
You have run your system for a while and have compiled actual slippage information and your broker/exchange has updated his fees schedule. You enter the information in the Engine and run it on your markets to see the impact this has on your results.
FEATURES
Before going into the detail of the Inputs and the Data Window numbers, here’s a more detailed overview of the Engine’s features.
Built-in strats
The engine comes with more than 40 pre-coded strategies for the following standard system components:
Entries,
Filters,
Entry stops,
2 stage in-trade stops with kick-in rules,
Pyramiding rules,
Hard exits.
While some of the filter and stop strats provided may be useful in production-quality systems, you will not devise crazy profit-generating systems using only the entry strats supplied; that part is still up to you, as will be finding the elusive combination of components that makes winning systems. The Engine will, however, provide you with a solid foundation where all the trade management nitty-gritty is handled for you. By binding your custom strats to the Engine, you will be able to build reliable systems of the best quality currently allowed on the TV platform.
On-chart trade information
As you move over the bars in a trade, you will see trade numbers in the Data Window change at each bar. The engine calculates the P&L at every bar, including slippage and fees that would be incurred were the trade exited at that bar’s close. If the trade includes pyramided entries, those will be taken into account as well, although for those, final fees and slippage are only calculated at the trade’s exit.
You can also see on-chart markers for the entry level, stop positions, in-trade special events and entries/exits (you will want to disable these when using the Engine in strategy mode to see TV backtesting results).
Customization
You can couple your own strats to the Engine in two ways:
1. By inserting your own code in the Engine’s different modules. The modular design should enable you to do so with minimal effort by following the instructions in the code.
2. By linking an external indicator to the engine. After making the proper selections in the engine’s Settings and providing values respecting the engine’s protocol, your external indicator can, when the Engine is used in Indicator mode only:
Tell the engine when to enter long or short trades, but let the engine’s in-trade stop and exit strats manage the exits,
Signal both entries and exits,
Provide an entry stop along with your entry signal,
Filter other entry signals generated by any of the engine’s entry strats.
Conversion from strategy to study
TradingView strategies are required to backtest using the TradingView backtesting feature, but if you want to generate alerts with your script, whether for automated trading or just to trigger alerts that you will use in discretionary trading, your code has to run as a study since, for the time being, strategies can’t generate alerts. From hereon we will use indicator as a synonym for study.
Unless you want to maintain two code bases, you will need hybrid code that easily flips between strategy and indicator modes, and your code will need to restrict its use of strategy() calls and their arguments if it’s going to be able to run both as an indicator and a strategy using the same trade logic. That’s one of the benefits of using this Engine. Once you will have entered your own strats in the Engine, it will be a matter of commenting/uncommenting only four lines of code to flip between indicator and strategy modes in a matter of seconds.
Additionally, even when running in Indicator mode, the Engine will still provide you with precious numbers on your individual trades and global results, some of which are not available with normal TradingView backtesting.
Post-Exit Analysis for alternate outcomes (PEA)
While typical backtesting shows results of trade outcomes, PEA focuses on what could have happened after the exit. The intention is to help traders get an idea of the opportunity/risk in the bars following the trade in order to evaluate if their exit strategies are too aggressive or conservative.
After a trade is exited, the Engine’s PEA module continues analyzing outcomes for a user-defined quantity of bars. It identifies the maximum opportunity and risk available in that space, and calculates the drawdown required to reach the highest opportunity level post-exit, while recording the number of bars to that point.
Typically, if you can’t find opportunity greater than 1X past your trade using a few different reasonable lengths of PEA, your strategy is doing pretty good at capturing opportunity. Remember that 100% of opportunity is never capturable. If, however, PEA was finding post-trade maximum opportunity of 3 or 4X with average drawdowns of 0.3 to those areas, this could be a clue revealing your system is exiting trades prematurely. To analyze PEA numbers, you can uncomment complete sets of plots in the Plot module to reveal detailed global and individual PEA numbers.
Statistics
The Engine provides stats on your trades that TV backtesting does not provide, such as:
Average Profitability Per Trade (APPT), aka statistical expectancy, a crucial value.
APPT per bar,
Average stop size,
Traded volume .
It also shows you on a trade-by-trade basis, on-going individual trade results and data.
In-trade events
In-trade events can plot reminders and trigger alerts when they occur. The built-in events are:
Price approaching stop,
Possible tops/bottoms,
Large stop movement (for discretionary trading where stop is moved manually),
Large price movements.
Slippage and Fees
Even when running in indicator mode, the Engine allows for slippage and fees to be included in the logic and test results.
Alerts
The alert creation mechanism allows you to configure alerts on any combination of the normal or pyramided entries, exits and in-trade events.
Backtesting results
A few words on the numbers calculated in the Engine. Priority is given to numbers not shown in TV backtesting, as you can readily convert the script to a strategy if you need them.
We have chosen to focus on numbers expressing results relative to X (the trade’s risk) rather than in absolute currency numbers or in other more conventional but less useful ways. For example, most of the individual trade results are not shown in percentages, as this unit of measure is often less meaningful than those expressed in units of risk (X). A trade that closes with a +25% result, for example, is a poor outcome if it was entered with a -50% stop. Expressed in X, this trade’s P&L becomes 0.5, which provides much better insight into the trade’s outcome. A trade that closes with a P&L of +2X has earned twice the risk incurred upon entry, which would represent a pre-trade risk:reward ratio of 2.
The way to go about it when you think in X’s and that you adopt the sound risk management policy to risk a fixed percentage of your account on each trade is to equate a currency value to a unit of X. E.g. your account is 10K USD and you decide you will risk a maximum of 1% of it on each trade. That means your unit of X for each trade is worth 100 USD. If your APPT is 2X, this means every time you risk 100 USD in a trade, you can expect to make, on average, 200 USD.
By presenting results this way, we hope that the Engine’s statistics will appeal to those cognisant of sound risk management strategies, while gently leading traders who aren’t, towards them.
We trade to turn in tangible profits of course, so at some point currency must come into play. Accordingly, some values such as equity, P&L, slippage and fees are expressed in currency.
Many of the usual numbers shown in TV backtests are nonetheless available, but they have been commented out in the Engine’s Plot module.
Position sizing and risk management
All good system designers understand that optimal risk management is at the very heart of all winning strategies. The risk in a trade is defined by the fraction of current equity represented by the amplitude of the stop, so in order to manage risk optimally on each trade, position size should adjust to the stop’s amplitude. Systems that enter trades with a fixed stop amplitude can get away with calculating position size as a fixed percentage of current equity. In the context of a test run where equity varies, what represents a fixed amount of risk translates into different currency values.
Dynamically adjusting position size throughout a system’s life is optimal in many ways. First, as position sizing will vary with current equity, it reproduces a behavioral pattern common to experienced traders, who will dial down risk when confronted to poor performance and increase it when performance improves. Second, limiting risk confers more predictability to statistical test results. Third, position sizing isn’t just about managing risk, it’s also about maximizing opportunity. By using the maximum leverage (no reference to trading on margin here) into the trade that your risk management strategy allows, a dynamic position size allows you to capture maximal opportunity.
To calculate position sizes using the fixed risk method, we use the following formula: Position = Account * MaxRisk% / Stop% [, which calculates a position size taking into account the trade’s entry stop so that if the trade is stopped out, 100 USD will be lost. For someone who manages risk this way, common instructions to invest a certain percentage of your account in a position are simply worthless, as they do not take into account the risk incurred in the trade.
The Engine lets you select either the fixed risk or fixed percentage of equity position sizing methods. The closest thing to dynamic position sizing that can currently be done with alerts is to use a bot that allows syntax to specify position size as a percentage of equity which, while being dynamic in the sense that it will adapt to current equity when the trade is entered, does not allow us to modulate position size using the stop’s amplitude. Changes to alerts are on the way which should solve this problem.
In order for you to simulate performance with the constraint of fixed position sizing, the Engine also offers a third, less preferable option, where position size is defined as a fixed percentage of initial capital so that it is constant throughout the test and will thus represent a varying proportion of current equity.
Let’s recap. The three position sizing methods the Engine offers are:
1. By specifying the maximum percentage of risk to incur on your remaining equity, so the Engine will dynamically adjust position size for each trade so that, combining the stop’s amplitude with position size will yield a fixed percentage of risk incurred on current equity,
2. By specifying a fixed percentage of remaining equity. Note that unless your system has a fixed stop at entry, this method will not provide maximal risk control, as risk will vary with the amplitude of the stop for every trade. This method, as the first, does however have the advantage of automatically adjusting position size to equity. It is the Engine’s default method because it has an equivalent in TV backtesting, so when flipping between indicator and strategy mode, test results will more or less correspond.
3. By specifying a fixed percentage of the Initial Capital. While this is the least preferable method, it nonetheless reflects the reality confronted by most system designers on TradingView today. In this case, risk varies both because the fixed position size in initial capital currency represents a varying percentage of remaining equity, and because the trade’s stop amplitude may vary, adding another variability vector to risk.
Note that the Engine cannot display equity results for strategies entering trades for a fixed amount of shares/contracts at a variable price.
SETTINGS/INPUTS
Because the initial text first published with a script cannot be edited later and because there are just too many options, the Engine’s Inputs will not be covered in minute detail, as they will most certainly evolve. We will go over them with broad strokes; you should be able to figure the rest out. If you have questions, just ask them here or in the PineCoders Telegram group.
Display
The display header’s checkbox does nothing.
For the moment, only one exit strategy uses a take profit level, so only that one will show information when checking “Show Take Profit Level”.
Entries
You can activate two simultaneous entry strats, each selected from the same set of strats contained in the Engine. If you select two and they fire simultaneously, the main strat’s signal will be used.
The random strat in each list uses a different seed, so you will get different results from each.
The “Filter transitions” and “Filter states” strats delegate signal generation to the selected filter(s). “Filter transitions” signals will only fire when the filter transitions into bull/bear state, so after a trade is stopped out, the next entry may take some time to trigger if the filter’s state does not change quickly. When you choose “Filter states”, then a new trade will be entered immediately after an exit in the direction the filter allows.
If you select “External Indicator”, your indicator will need to generate a +2/-2 (or a positive/negative stop value) to enter a long/short position, providing the selected filters allow for it. If you wish to use the Engine’s capacity to also derive the entry stop level from your indicator’s signal, then you must explicitly choose this option in the Entry Stops section.
Filters
You can activate as many filters as you wish; they are additive. The “Maximum stop allowed on entry” is an important component of proper risk management. If your system has an average 3% stop size and you need to trade using fixed position sizes because of alert/execution bot limitations, you must use this filter because if your system was to enter a trade with a 15% stop, that trade would incur 5 times the normal risk, and its result would account for an abnormally high proportion in your system’s performance.
Remember that any filter can also be used as an entry signal, either when it changes states, or whenever no trade is active and the filter is in a bull or bear mode.
Entry Stops
An entry stop must be selected in the Engine, as it requires a stop level before the in-trade stop is calculated. Until the selected in-trade stop strat generates a stop that comes closer to price than the entry stop (or respects another one of the in-trade stops kick in strats), the entry stop level is used.
It is here that you must select “External Indicator” if your indicator supplies a +price/-price value to be used as the entry stop. A +price is expected for a long entry and a -price value will enter a short with a stop at price. Note that the price is the absolute price, not an offset to the current price level.
In-Trade Stops
The Engine comes with many built-in in-trade stop strats. Note that some of them share the “Length” and “Multiple” field, so when you swap between them, be sure that the length and multiple in use correspond to what you want for that stop strat. Suggested defaults appear with the name of each strat in the dropdown.
In addition to the strat you wish to use, you must also determine when it kicks in to replace the initial entry’s stop, which is determined using different strats. For strats where you can define a positive or negative multiple of X, percentage or fixed value for a kick-in strat, a positive value is above the trade’s entry fill and a negative one below. A value of zero represents breakeven.
Pyramiding
What you specify in this section are the rules that allow pyramiding to happen. By themselves, these rules will not generate pyramiding entries. For those to happen, entry signals must be issued by one of the active entry strats, and conform to the pyramiding rules which act as a filter for them. The “Filter must allow entry” selection must be chosen if you want the usual system’s filters to act as additional filtering criteria for your pyramided entries.
Hard Exits
You can choose from a variety of hard exit strats. Hard exits are exit strategies which signal trade exits on specific events, as opposed to price breaching a stop level in In-Trade Stops strategies. They are self-explanatory. The last one labelled When Take Profit Level (multiple of X) is reached is the only one that uses a level, but contrary to stops, it is above price and while it is relative because it is expressed as a multiple of X, it does not move during the trade. This is the level called Take Profit that is show when the “Show Take Profit Level” checkbox is checked in the Display section.
While stops focus on managing risk, hard exit strategies try to put the emphasis on capturing opportunity.
Slippage
You can define it as a percentage or a fixed value, with different settings for entries and exits. The entry and exit markers on the chart show the impact of slippage on the entry price (the fill).
Fees
Fees, whether expressed as a percentage of position size in and out of the trade or as a fixed value per in and out, are in the same units of currency as the capital defined in the Position Sizing section. Fees being deducted from your Capital, they do not have an impact on the chart marker positions.
In-Trade Events
These events will only trigger during trades. They can be helpful to act as reminders for traders using the Engine as assistance to discretionary trading.
Post-Exit Analysis
It is normally on. Some of its results will show in the Global Numbers section of the Data Window. Only a few of the statistics generated are shown; many more are available, but commented out in the Plot module.
Date Range Filtering
Note that you don’t have to change the dates to enable/diable filtering. When you are done with a specific date range, just uncheck “Date Range Filtering” to disable date filtering.
Alert Triggers
Each selection corresponds to one condition. Conditions can be combined into a single alert as you please. Just be sure you have selected the ones you want to trigger the alert before you create the alert. For example, if you trade in both directions and you want a single alert to trigger on both types of exits, you must select both “Long Exit” and “Short Exit” before creating your alert.
Once the alert is triggered, these settings no longer have relevance as they have been saved with the alert.
When viewing charts where an alert has just triggered, if your alert triggers on more than one condition, you will need the appropriate markers active on your chart to figure out which condition triggered the alert, since plotting of markers is independent of alert management.
Position sizing
You have 3 options to determine position size:
1. Proportional to Stop -> Variable, with a cap on size.
2. Percentage of equity -> Variable.
3. Percentage of Initial Capital -> Fixed.
External Indicator
This is where you connect your indicator’s plot that will generate the signals the Engine will act upon. Remember this only works in Indicator mode.
DATA WINDOW INFORMATION
The top part of the window contains global numbers while the individual trade information appears in the bottom part. The different types of units used to express values are:
curr: denotes the currency used in the Position Sizing section of Inputs for the Initial Capital value.
quote: denotes quote currency, i.e. the value the instrument is expressed in, or the right side of the market pair (USD in EURUSD ).
X: the stop’s amplitude, itself expressed in quote currency, which we use to express a trade’s P&L, so that a trade with P&L=2X has made twice the stop’s amplitude in profit. This is sometimes referred to as R, since it represents one unit of risk. It is also the unit of measure used in the APPT, which denotes expected reward per unit of risk.
X%: is also the stop’s amplitude, but expressed as a percentage of the Entry Fill.
The numbers appearing in the Data Window are all prefixed:
“ALL:” the number is the average for all first entries and pyramided entries.
”1ST:” the number is for first entries only.
”PYR:” the number is for pyramided entries only.
”PEA:” the number is for Post-Exit Analyses
Global Numbers
Numbers in this section represent the results of all trades up to the cursor on the chart.
Average Profitability Per Trade (X): This value is the most important gauge of your strat’s worthiness. It represents the returns that can be expected from your strat for each unit of risk incurred. E.g.: your APPT is 2.0, thus for every unit of currency you invest in a trade, you can on average expect to obtain 2 after the trade. APPT is also referred to as “statistical expectancy”. If it is negative, your strategy is losing, even if your win rate is very good (it means your winning trades aren’t winning enough, or your losing trades lose too much, or both). Its counterpart in currency is also shown, as is the APPT/bar, which can be a useful gauge in deciding between rivalling systems.
Profit Factor: Gross of winning trades/Gross of losing trades. Strategy is profitable when >1. Not as useful as the APPT because it doesn’t take into account the win rate and the average win/loss per trade. It is calculated from the total winning/losing results of this particular backtest and has less predictive value than the APPT. A good profit factor together with a poor APPT means you just found a chart where your system outperformed. Relying too much on the profit factor is a bit like a poker player who would think going all in with two’s against aces is optimal because he just won a hand that way.
Win Rate: Percentage of winning trades out of all trades. Taken alone, it doesn’t have much to do with strategy profitability. You can have a win rate of 99% but if that one trade in 100 ruins you because of poor risk management, 99% doesn’t look so good anymore. This number speaks more of the system’s profile than its worthiness. Still, it can be useful to gauge if the system fits your personality. It can also be useful to traders intending to sell their systems, as low win rate systems are more difficult to sell and require more handholding of worried customers.
Equity (curr): This the sum of initial capital and the P&L of your system’s trades, including fees and slippage.
Return on Capital is the equivalent of TV’s Net Profit figure, i.e. the variation on your initial capital.
Maximum drawdown is the maximal drawdown from the highest equity point until the drop . There is also a close to close (meaning it doesn’t take into account in-trade variations) maximum drawdown value commented out in the code.
The next values are self-explanatory, until:
PYR: Avg Profitability Per Entry (X): this is the APPT for all pyramided entries.
PEA: Avg Max Opp . Available (X): the average maximal opportunity found in the Post-Exit Analyses.
PEA: Avg Drawdown to Max Opp . (X): this represents the maximum drawdown (incurred from the close at the beginning of the PEA analysis) required to reach the maximal opportunity point.
Trade Information
Numbers in this section concern only the current trade under the cursor. Most of them are self-explanatory. Use the description’s prefix to determine what the values applies to.
PYR: Avg Profitability Per Entry (X): While this value includes the impact of all current pyramided entries (and only those) and updates when you move your cursor around, P&L only reflects fees at the trade’s last bar.
PEA: Max Opp . Available (X): It’s the most profitable close reached post-trade, measured from the trade’s Exit Fill, expressed in the X value of the trade the PEA follows.
PEA: Drawdown to Max Opp . (X): This is the maximum drawdown from the trade’s Exit Fill that needs to be sustained in order to reach the maximum opportunity point, also expressed in X. Note that PEA numbers do not include slippage and fees.
EXTERNAL SIGNAL PROTOCOL
Only one external indicator can be connected to a script; in order to leverage its use to the fullest, the engine provides options to use it as either an entry signal, an entry/exit signal or a filter. When used as an entry signal, you can also use the signal to provide the entry’s stop. Here’s how this works:
For filter state: supply +1 for bull (long entries allowed), -1 for bear (short entries allowed).
For entry signals: supply +2 for long, -2 for short.
For exit signals: supply +3 for exit from long, -3 for exit from short.
To send an entry stop level with an entry signal: Send positive stop level for long entry (e.g. 103.33 to enter a long with a stop at 103.33), negative stop level for short entry (e.g. -103.33 to enter a short with a stop at 103.33). If you use this feature, your indicator will have to check for exact stop levels of 1.0, 2.0 or 3.0 and their negative counterparts, and fudge them with a tick in order to avoid confusion with other signals in the protocol.
Remember that mere generation of the values by your indicator will have no effect until you explicitly allow their use in the appropriate sections of the Engine’s Settings/Inputs.
An example of a script issuing a signal for the Engine is published by PineCoders.
RECOMMENDATIONS TO ASPIRING SYSTEM DESIGNERS
Stick to higher timeframes. On progressively lower timeframes, margins decrease and fees and slippage take a proportionally larger portion of profits, to the point where they can very easily turn a profitable strategy into a losing one. Additionally, your margin for error shrinks as the equilibrium of your system’s profitability becomes more fragile with the tight numbers involved in the shorter time frames. Avoid <1H time frames.
Know and calculate fees and slippage. To avoid market shock, backtest using conservative fees and slippage parameters. Systems rarely show unexpectedly good returns when they are confronted to the markets, so put all chances on your side by being outrageously conservative—or a the very least, realistic. Test results that do not include fees and slippage are worthless. Slippage is there for a reason, and that’s because our interventions in the market change the market. It is easier to find alpha in illiquid markets such as cryptos because not many large players participate in them. If your backtesting results are based on moving large positions and you don’t also add the inevitable slippage that will occur when you enter/exit thin markets, your backtesting will produce unrealistic results. Even if you do include large slippage in your settings, the Engine can only do so much as it will not let slippage push fills past the high or low of the entry bar, but the gap may be much larger in illiquid markets.
Never test and optimize your system on the same dataset , as that is the perfect recipe for overfitting or data dredging, which is trying to find one precise set of rules/parameters that works only on one dataset. These setups are the most fragile and often get destroyed when they meet the real world.
Try to find datasets yielding more than 100 trades. Less than that and results are not as reliable.
Consider all backtesting results with suspicion. If you never entertained sceptic tendencies, now is the time to begin. If your backtest results look really good, assume they are flawed, either because of your methodology, the data you’re using or the software doing the testing. Always assume the worse and learn proper backtesting techniques such as monte carlo simulations and walk forward analysis to avoid the traps and biases that unchecked greed will set for you. If you are not familiar with concepts such as survivor bias, lookahead bias and confirmation bias, learn about them.
Stick to simple bars or candles when designing systems. Other types of bars often do not yield reliable results, whether by design (Heikin Ashi) or because of the way they are implemented on TV (Renko bars).
Know that you don’t know and use that knowledge to learn more about systems and how to properly test them, about your biases, and about yourself.
Manage risk first , then capture opportunity.
Respect the inherent uncertainty of the future. Cleanse yourself of the sad arrogance and unchecked greed common to newcomers to trading. Strive for rationality. Respect the fact that while backtest results may look promising, there is no guarantee they will repeat in the future (there is actually a high probability they won’t!), because the future is fundamentally unknowable. If you develop a system that looks promising, don’t oversell it to others whose greed may lead them to entertain unreasonable expectations.
Have a plan. Understand what king of trading system you are trying to build. Have a clear picture or where entries, exits and other important levels will be in the sort of trade you are trying to create with your system. This stated direction will help you discard more efficiently many of the inevitably useless ideas that will pop up during system design.
Be wary of complexity. Experienced systems engineers understand how rapidly complexity builds when you assemble components together—however simple each one may be. The more complex your system, the more difficult it will be to manage.
Play! . Allow yourself time to play around when you design your systems. While much comes about from working with a purpose, great ideas sometimes come out of just trying things with no set goal, when you are stuck and don’t know how to move ahead. Have fun!
@LucF
NOTES
While the engine’s code can supply multiple consecutive entries of longs or shorts in order to scale positions (pyramid), all exits currently assume the execution bot will exit the totality of the position. No partial exits are currently possible with the Engine.
Because the Engine is literally crippled by the limitations on the number of plots a script can output on TV; it can only show a fraction of all the information it calculates in the Data Window. You will find in the Plot Module vast amounts of commented out lines that you can activate if you also disable an equivalent number of other plots. This may be useful to explore certain characteristics of your system in more detail.
When backtesting using the TV backtesting feature, you will need to provide the strategy parameters you wish to use through either Settings/Properties or by changing the default values in the code’s header. These values are defined in variables and used not only in the strategy() statement, but also as defaults in the Engine’s relevant Inputs.
If you want to test using pyramiding, then both the strategy’s Setting/Properties and the Engine’s Settings/Inputs need to allow pyramiding.
If you find any bugs in the Engine, please let us know.
THANKS
To @glaz for allowing the use of his unpublished MA Squize in the filters.
To @everget for his Chandelier stop code, which is also used as a filter in the Engine.
To @RicardoSantos for his pseudo-random generator, and because it’s from him that I first read in the Pine chat about the idea of using an external indicator as input into another. In the PineCoders group, @theheirophant then mentioned the idea of using it as a buy/sell signal and @simpelyfe showed a piece of code implementing the idea. That’s the tortuous story behind the use of the external indicator in the Engine.
To @admin for the Volatility stop’s original code and for the donchian function lifted from Ichimoku .
To @BobHoward21 for the v3 version of Volatility Stop .
To @scarf and @midtownsk8rguy for the color tuning.
To many other scripters who provided encouragement and suggestions for improvement during the long process of writing and testing this piece of code.
To J. Welles Wilder Jr. for ATR, used extensively throughout the Engine.
To TradingView for graciously making an account available to PineCoders.
And finally, to all fellow PineCoders for the constant intellectual stimulation; it is a privilege to share ideas with you all. The Engine is for all TradingView PineCoders, of course—but especially for you.
Look first. Then leap.
Great Expectations [LucF]Great Expectations helps traders answer the question: What is possible? It is a powerful question, yet exploration of the unknown always entails risk. A more complete set of questions better suited to traders could be:
What opportunity exists from any given point on a chart?
What portion of this opportunity can be realistically captured?
What risk will be incurred in trying to do so, and how long will it take?
Great Expectations is the result of an exploration of these questions. It is a trade simulator that generates visual and quantitative information to help strategy modelers visually identify and analyse areas of optimal expectation on charts, whether they are designing automated or discretionary strategies.
WARNING: Great Expectations is NOT an indicator that helps determine the current state of a market. It works by looking at points in the past from which the future is already known. It uses one definition of repainting extensively (i.e. it goes back in the past to print information that could not have been know at the time). Repainting understood that way is in fact almost all the indicator does! —albeit for what I hope is a noble cause. The indicator is of no use whatsoever in analyzing markets in real-time. If you do not understand what it does, please stay away!
This is an indicator—not a strategy that uses TradingView’s backtesting engine. It works by simulating trades, not unlike a backtest, but with the crucial difference that it assumes a trade (either long or short) is entered on all bars in the historic sample. It walks forward from each bar and determines possible outcomes, gathering individual trade statistics that in turn generate precious global statistics from all outcomes tested on the chart.
Great Expectations provides numbers summarizing trade results on all simulations run from the chart. Those numbers cannot be compared to backtest-produced numbers since all non-filtered bars are examined, even if an entry was taken on the bar immediately preceding the current one, which never happens in a backtest. This peculiarity does NOT invalidate Great Expectations calculations; it just entails that results be considered under a different light. Provided they are evaluated within the indicator’s context, they can be useful—sometimes even more than backtesting results, e.g. in evaluating the impact of parameter-fitting or variations in entry, exit or filtering strats.
Traders and strategy modelers are creatures of hope often suffering from blurred vision; my hope is that Great Expectations will help them appraise the validity of their setup and strat intuitions in a realistic fashion, preventing confirmation bias from obstructing perspective—and great expectations from turning into financial great deceptions.
USE CASES
You’ve identified what looks like a promising setup on other indicators. You load Great Expectations on the chart and evaluate if its high-expectation areas match locations where your setup’s conditions occur. Unless today is your lucky day, chances are the indicator will help you realize your setup is not as promising as you had hoped.
You want to get a rough estimate of the optimal trade duration for a chart and you don’t mind using the entry and exit strategies provided with the indicator. You use the trade length readouts of the indicator.
You’re experimenting with a new stop strategy and want to know how long it will keep you in trades, on average. You integrate your stop strategy in the indicator’s code and look at the average trade length it produces and the TST ratio to evaluate its performance.
You have put together your own entry and exit criteria and are looking for a filter that will help you improve backtesting results. You visually ascertain the suitability of your filter by looking at its results on the charts with great Expectations, to see if your filter is choosing its areas correctly.
You have a strategy that shows backtested trades on your chart. Great Expectations can help you evaluate how well your strategy is benefitting from high-opportunity areas while avoiding poor expectation spots.
You want more complete statistics on your set of strategies than what backtesting will provide. You use Great Expectations, knowing that it tests all bars in the sample that correspond to your criteria, as opposed to backtesting results which are limited to a subset of all possible entries.
You want to fool your friends into thinking you’ve designed the holy grail of indicators, something that identifies optimal opportunities on any chart; you show them the P&L cloud.
FEATURES
For one trade
At any given point on the chart, assuming a trade is entered there, Great Expectations shows you information specific to that trade simulation both on the chart and in the Data Window.
The chart can display:
the P & L Cloud which shows whether the trade ended profitably or not, and by how much,
the Opportunity & Risk Cloud which the maximum opportunity and risk the simulation encountered. When superimposed over the P & L cloud, you will see what I call the managed opportunity and risk, i.e the portion of maximum opportunity that was captured and the portion of the maximum risk that was incurred,
the target and if it was reached,
a background that uses a gradient to show different levels of trade length, P&L or how frequently the target was reached during simulation.
The Data Window displays more than 40 values on individual trades and global results. For any given trade you will know:
Entry/Exit levels, including slippage impact,
It’s outcome and duration,
P/L achieved,
The fraction of the maximum opportunity/risk managed by the trade.
For all trades
After going through all the possible trades on the chart, the indicator will provide you with a rare view of all outcomes expressed with the P&L cloud, which allows us to instantly see the most/least profitable areas of a chart using trade data as support, while also showing its relationship with the opportunity/risk encountered during the simulation. The difference between the two clouds is the managed opportunity and risk.
The Data Window will present you with numbers which we will go through later. Some of them are: average stop size, P/L, win rate, % opportunity managed, trade lengths for different types of trade outcomes and the TST (Target:Stop Travel) ratio.
Let’s see Great Expectations in action… and remember to open your Data Window!
INPUTS
Trade direction : You must first choose if you wish to look at long or short trades. Because of the way the indicator works and the amount of visual information on the chart, it is only practical to look at one type of trades at a time. The default is Longs.
Maximum trade Length (MaxL) : This is the maximum walk forward distance the simulator will go in analyzing outcomes from any given point in the past. It also determines the size of the dead zone among the chart’s last bars. A red background line identifies the beginning of the dead zone for which not enough bars have elapsed to analyze outcomes for the maximum trade length defined. If an ATR-based entry stop is used, that length is added to the wait time before beginning simulations, so that the first entry starts with a clean ATR value. On a sample of around 16000 bars, my tests show that the indicator runs into server errors at lengths of around 290, i.e. having completed ~4,6M simulation loop iterations. That is way too high a length anyways; 100 will usually be amply enough to ring out all the possibilities out of a simulation, and on shorter time frames, 30 can be enough. While making it unduly small will prevent simulations of expressing the market’s potential, the less you use, the faster the indicator will run. The default is 40.
Unrealized P&L base at End of Trade (EOT) : When a simulation ends and the trade is still open, we calculate unrealized P&L from an exit order executed from either the last in-trade stop on the previous bar, or the close of the last bar. You can readily see the impact of this selection on the chart, with the P&L cloud. The default is on the close.
Display : The check box besides the title does nothing.
Show target : Shows a green line displaying the trade’s target expressed as a multiple of X, i.e. the amplitude of the entry stop. I call this value “X” and use it as a unit to express profit and loss on a trade (some call it “R”). The line is highlighted for trades where the close reached the target during the trade, whether the trade ended in profit or loss. This is also where you specify the multiple of X you wish to use in calculating targets. The multiple is used even if targets are not displayed.
Show P&L Cloud : The cloud allows traders to see right away the profitable areas of the chart. The only line printed with the cloud is the “end of trade line” (EOT). The EOT line is the only way one can see the level where a trade ended on the chart (in the Data Window you can see it as the “Exit Fill” value). The EOT level for the trade determines if the trade ended in a profit or a loss. Its value represents one of the following:
- fill from order executed at close of bar where stop is breached during trade (which produces “Realized P/L”),
- simulation of a fill pseudo-fill at the user-defined EOT level (last close or stop level) if the trade runs its course through MaxL bars without getting stopped (producing Unrealized P/L).
The EOT line and the cloud fill print in green when the trade’s outcome is profitable and in red when it is not. If the trade was closed after breaching the stop, the line appears brighter.
Show Opportunity&Risk Cloud : Displays the maximum opportunity/risk that was present during the trade, i.e. the maximum and minimum prices reached.
Background Color Scheme : Allows you to choose between 3 different color schemes for the background gradients, to accommodate different types of chart background/candles. Select “None” if you don’t want a background.
Background source : Determines what value will be used to generate the different intensities of the gradient. You can choose trade length (brighter is shorter), Trade P&L (brighter is higher) or the number of times the target was reached during simulation (brighter is higher). The default is Trade Length.
Entry strat : The check box besides the title does nothing. The default strat is All bars, meaning a trade will be simulated from all bars not excluded by the filters where a MaxL bars future exists. For fun, I’ve included a pseudo-random entry strat (an indirect way of changing the seed is to vary the starting date of the simulation).
Show Filter State : Displays areas where the combination of filters you have selected are allowing entries. Filtering occurs as per your selection(s), whether the state is displayed or not. The effect of multiple selections is additive. The filters are:
1. Bar direction: Longs will only be entered if close>open and vice versa.
2. Rising Volume: Applies to both long and shorts.
3. Rising/falling MA of the length you choose over the number of bars you choose.
4. Custom indicator: You can feed your own filtering signal through this from another indicator. It must produce a signal of 1 to allow long entries and 0 to allow shorts.
Show Entry Stops :
1. Multiple of user-defined length ATR.
2. Fixed percentage.
3. Fixed value.
All entry stops are calculated using the entry fill price as a reference. The fill price is calculated from the current bar’s open, to which slippage is added if configured. This simulates the case where the strategy issued the entry signal on the previous bar for it to be executed at the next bar’s open.
The entry stop remains active until the in-trade stop becomes the more aggressive of the two stops. From then on, the entry stop will be ignored, unless a bar close breaches the in-trade stop, in which case the stop will be reset with a new entry stop and the process repeats.
Show In-trade stops : Displays in bright red the selected in-trade stop (be sure to read the note in this section about them).
1. ATR multiple: added/subtracted from the average of the two previous bars minimum/maximum of open/close.
2. A trailing stop with a deviation expressed as a multiple of entry stop (X).
3. A fixed percentage trailing stop.
Trailing stops deviations are measured from the highest/lowest high/low reached during the trade.
Note: There is a twist with the in-trade stops. It’s that for any given bar, its in-trade stop can hold multiple values, as each successive pass of the advancing simulation loops goes over it from a different entry points. What is printed is the stop from the loop that ended on that bar, which may have nothing to do with other instances of the trade’s in-trade stop for the same bar when visited from other starting points in previous simulations. There is just no practical way to print all stop values that were used for any given bar. While the printed entry stops are the actual ones used on each bar, the in-trade stops shown are merely the last instance used among many.
Include Slippage : if checked, slippage will be added/subtracted from order price to yield the fill price. Slippage is in percentage. If you choose to include slippage in the simulations, remember to adjust it by considering the liquidity of the markets and the time frame you’ll be analyzing.
Include Fees : if checked, fees will be subtracted/added to both realized an unrealized trade profits/losses. Fees are in percentage. The default fees work well for crypto markets but will need adjusting for others—especially in Forex. Remember to modify them accordingly as they can have a major impact on results. Both fees and slippage are included to remind us of their importance, even if the global numbers produced by the indicator are not representative of a real trading scenario composed of sequential trades.
Date Range filtering : the usual. Just note that the checkbox has to be selected for date filtering to activate.
DATA WINDOW
Most of the information produced by this indicator is made available in the Data Window, which you bring up by using the icon below the Watchlist and Alerts buttons at the right of the TV UI. Here’s what’s there.
Some of the information presented in the Data Window is standard trade data; other values are not so standard; e. g. the notions of managed opportunity and risk and Target:Stop Travel ratio. The interplay between all the values provided by Great Expectations is inherently complex, even for a static set of entry/filter/exit strats. During the constant updating which the habitual process of progressive refinement in building strategies that is the lot of strategy modelers entails, another level of complexity is no doubt added to the analysis of this indicator’s values. While I don’t want to sound like Wolfram presenting A New Kind of Science , I do believe that if you are a serious strategy modeler and spend the time required to get used to using all the information this indicator makes available, you may find it useful.
Trade Information
Entry Order : This is the open of the bar where simulation starts. We suppose that an entry signal was generated at the previous bar.
Entry Fill (including slip.) : The actual entry price, including slippage. This is the base price from which other values will be calculated.
Exit Order : When a stop is breached, an exit order is executed from the close of the bar that breached the stop. While there is no “In-trade stop” value included in the Data Window (other than the End of trade Stop previously discussed), this “Exit Order” value is how we can know the level where the trade was stopped during the simulation. The “Trade Length” value will then show the bar where the stop was breached.
Exit Fill (including slip.) : When the exit order is simulated, slippage is added to the order level to create the fill.
Chart: Target : This is the target calculated at the beginning of the simulation. This value also appear on the chart in teal. It is controlled by the multiple of X defined under the “Show Target” checkbox in the Inputs.
Chart: Entry Stop : This value also appears on the chart (the red dots under points where a trade was simulated). Its value is controlled by the Entry Strat chosen in the Inputs.
X (% Fill, including Fees) and X (currency) : This is the stop’s amplitude (Entry Fill – Entry Stop) + Fees. It represents the risk incurred upon entry and will be used to express P&L. We will show R expressed in both a percentage of the Entry Fill level (this value), and currency (the next value). This value represents the risk in the risk:reward ratio and is considered to be a unit of 1 so that RR can be expressed as a single value (i.e. “2” actually meaning “1:2”).
Trade Length : If trade was stopped, it’s the number of bars elapsed until then. The trade is then considered “Closed”. If the trade ends without being stopped (there is no profit-taking strat implemented, so the stop is the only exit strat), then the trade is “Open”, the length is MaxL and it will show in orange. Otherwise the value will print in green/red to reflect if the trade is winning/losing.
P&L (X) : The P&L of the trade, expressed as a multiple of X, which takes into account fees paid at entry and exit. Given our default target setting at 2 units of “X”, a trade that closes at its target will have produced a P&L of +2.0, i.e. twice the value of X (not counting fees paid at exit ). A trade that gets stopped late 50% further that the entry stop’s level will produce a P&L of -1.5X.
P&L (currency, including Fees) : same value as above, but expressed in currency.
Target first reached at bar : If price closed above the target during the trade (even if it occurs after the trade was stopped), this will show when. This value will be used in calculating our TST ratio.
Times Stop/Target reached in sim. : Includes all occurrences during the complete simulation loop.
Opportunity (X) : The highest/lowest price reached during a simulation, i.e. the maximum opportunity encountered, whether the trade was previously stopped or not, expressed as a multiple of X.
Risk (X) : The lowest/highest price reached during a simulation, i.e. the maximum risk encountered, whether the trade was previously stopped or not, expressed as a multiple of X.
Risk:Opportunity : The greater this ratio, the greater Opportunity is, compared to Risk.
Managed Opportunity (%) : The portion of Opportunity that was captured by the highest/low stop position, even if it occurred after a previous stop closed the trade.
Managed Risk (%) : The portion of risk that was protected by the lowest/highest stop position, even if it occurred after a previous stop closed the trade. When this value is greater than 100%, it means the trade’s stop is protecting more than the maximum risk, which is frequent. You will, however, never see close to those values for the Managed Opportunity value, since the stop would have to be higher than the Maximum opportunity. It is much easier to alleviate the risk than it is to lock in profits.
Managed Risk:Opportunity : The ratio of the two preceding values.
Managed Opp. vs. Risk : The Managed Opportunity minus the Managed Risk. When it is negative, which is most often is, it means your strat is protecting a greater portion of the risk than it captures opportunity.
Global Numbers
Win Rate(%) : Percentage of winning trades over all entries. Open trades are considered winning if their last stop/close (as per user selection) locks in profits.
Avg X%, Avg X (currency) : Averages of previously described values:.
Avg Profitability/Trade (APPT) : This measures expectation using: Average Profitability Per Trade = (Probability of Win × Average Win) − (Probability of Loss × Average Loss) . It quantifies the average expectation/trade, which RR alone can’t do, as the probabilities of each outcome (win/lose) must also be used to calculate expectancy. The APPT combine the RR with the win rate to yield the true expectancy of a strategy. In my usual way of expressing risk with X, APPT is the equivalent of the average P&L per trade expressed in X. An APPT of -1.5 means that we lose on average 1.5X/trade.
Equity (X), Equity (currency) : The cumulative result of all trade outcomes, expressed as a multiple of X. Multiplied by the Average X in currency, this yields the Equity in currency.
Risk:Opportunity, Managed Risk:Opportunity, Managed Opp. vs. Risk : The global values of the ones previously described.
Avg Trade Length (TL) : One of the most important values derived by going through all the simulations. Again, it is composed of either the length of stopped trades, or MaxL when the trade isn’t stopped (open). This value can help systems modelers shape the characteristics of the components they use to build their strategies.
Avg Closed Win TL and Avg Closed Lose TL : The average lengths of winning/losing trades that were stopped.
Target reached? Avg bars to Stop and Target reached? Avg bars to Target : For the trades where the target was reached at some point in the simulation, the number of bars to the first point where the stop was breached and where the target was reached, respectively. These two values are used to calculate the next value.
TST (Target:Stop Travel Ratio) : This tracks the ratio between the two preceding values (Bars to first stop/Bars to first target), but only for trades where the target was reached somewhere in the loop. A ratio of 2 means targets are reached twice as fast as stops.
The next values of this section are counts or percentages and are self-explanatory.
Chart Plots
Contains chart plots of values already describes.
NOTES
Optimization/Overfitting: There is a fine line between optimizing and overfitting. Tools like this indicator can lead unsuspecting modelers down a path of overfitting that often turns strategies into over-specialized beasts that do not perform elegantly when confronted to the real-world. Proven testing strategies like walk forward analysis will go a long way in helping modelers alleviate this risk.
Input tuning: Because the results generated by the indicator will vary with the parameters used in the active entry, filtering and exit strats, it’s important to realize that although it may be fun at first, just slapping the default settings on a chart and time frame will not yield optimal nor reliable results. While using ATR as often as possible (as I do in this indicator) is a good way to make strat parametrization adaptable, it is not a foolproof solution.
There is no data for the last MaxL bars of the chart, since not enough trade future has elapsed to run a simulation from MaxL bars back.
Modifying the code: I have tried to structure the code modularly, even if that entails a larger code base, so that you can adapt it to your needs. I’ve included a few token components in each of the placeholders designed for entry strategies, filters, entry stops and in-trade stops. This will hopefully make it easier to add your own. In the same spirit, I have also commented liberally.
You will find in the code many instances of standard trade management tasks that can be lifted to code TV strategies where, as I do in mine, you manage everything yourself and don’t rely on built-in Pine strategy functions to act on your trades.
Enjoy!
THANKS
To @scarf who showed me how plotchar() could be used to plot values without ruining scale.
To @glaz for the suggestion to include a Chandelier stop strat; I will.
To @simpelyfe for the idea of using an indicator input for the filters (if some day TV lets us use more than one, it will be useful in other modules of the indicator).
To @RicardoSantos for the random generator used in the random entry strat.
To all scripters publishing open source on TradingView; their code is the best way to learn.
To my trading buddies Irving and Bruno; who showed me way back how pro traders get it done.
Portfolio Backtester Engine█ OVERVIEW
Portfolio Backtester Engine (PBTE). This tool will allow you to backtest strategies across multiple securities at once. Allowing you to easier understand if your strategy is robust. If you are familiar with the PineCoders backtesting engine , then you will find this indicator pleasant to work with as it is an adaptation based on that work. Much of the functionality has been kept the same, or enhanced, with some minor adjustments I made on the account of creating a more subjectively intuitive tool.
█ HISTORY
The original purpose of the backtesting engine (`BTE`) was to bridge the gap between strategies and studies . Previously, strategies did not contain the ability to send alerts, but were necessary for backtesting. Studies on the other hand were necessary for sending alerts, but could not provide backtesting results . Often, traders would have to manage two separate Pine scripts to take advantage of each feature, this was less than ideal.
The `BTE` published by PineCoders offered a solution to this issue by generating backtesting results under the context of a study(). This allowed traders to backtest their strategy and simultaneously generate alerts for automated trading, thus eliminating the need for a separate strategy() script (though, even converting the engine to a strategy was made simple by the PineCoders!).
Fast forward a couple years and PineScript evolved beyond these issues and alerts were introduced into strategies. The BTE was not quite as necessary anymore, but is still extremely useful as it contains extra features and data not found under the strategy() context. Below is an excerpt of features contained by the BTE:
"""
More than `40` built-in strategies,
Customizable components,
Coupling with your own external indicator,
Simple conversion from Study to Strategy modes,
Post-Exit analysis to search for alternate trade outcomes,
Use of the Data Window to show detailed bar by bar trade information and global statistics, including some not provided by TV backtesting,
Plotting of reminders and generation of alerts on in-trade events.
"""
Before I go any further, I want to be clear that the BTE is STILL a good tool and it is STILL very useful. The Portfolio Backtesting Engine I am introducing is only a tangental advancement and not to be confused as a replacement, this tool would not have been possible without the `BTE`.
█ THE PROBLEM
Most strategies built in Pine are limited by one thing. Data. Backtesting should be a rigorous process and researchers should examine the performance of their strategy across all market regimes; that includes, bullish and bearish markets, ranging markets, low volatility and high volatility. Depending on your TV subscription The Pine Engine is limited to 5k-20k historical bars available for backtesting, which can often leave the strategy results wanting. As a general rule of thumb, strategies should be tested across a quantity of historical bars which will allow for at least 100 trades. In many cases, the lack of historical bars available for backtesting and frequency of the strategy signals produces less than 100 trades, rendering your strategy results inconclusive.
█ THE SOLUTION
In order to be confident that we have a robust strategy we must test it across all market regimes and we must have over 100 trades. To do this effectively, researchers can use the Portfolio Backtesting Engine (PBTE).
By testing a strategy across a carefully selected portfolio of securities, researchers can now gather 5k-20k historical bars per security! Currently, the PTBE allows up to 5 securities, which amounts to 25k-100k historical bars.
█ HOW TO USE
1 — Add the indicator to your chart.
• Confirm inputs. These will be the most important initial values which you can change later by clicking the gear icon ⚙ and opening up the settings of the indicator.
2 — Select a portfolio.
• You will want to spend some time carefully selecting a portfolio of securities.
• Each security should be uncorrelated.
• The entire portfolio should contain a mix of different market regimes.
You should understand that strategies generally take advantage of one particular type of market regime. (trending, ranging, low/high volatility)
For example, the default RSI strategy is typically advantageous during ranging markets, whereas a typical moving average crossover strategy is advantageous in trending markets.
If you were to use the standard RSI strategy during a trending market, you might be selling when you should be buying.
Similarily, if you use an SMA crossover during a ranging market, you will find that the MA's may produce many false signals.
Even if you build a strategy that is designed to be used only in a trending market, it is still best to select a portfolio of all market regimes
as you will be able to test how your strategy will perform when the market does something unexpected.
3 — Test a built-in strategy or add your own.
• Navigate to gear icon ⚙ (settings) of strategy.
• Choose your options.
• Select a Main Entry Strat and Alternate Entry Strat .
• If you want to add your own strategy, you will need to modify the source code and follow the built-in example.
• You will only need to generate (buy 1 / sell -1/ neutral 0) signals.
• Select a Filter , by default these are all off.
• Select an Entry Stop - This will be your stop loss placed at the trade entry.
• Select Pyamiding - This will allow you to stack positions. By default this is off.
• Select Hard Exits - You can also think of these as Take Profits.
• Let the strategy run and take note of the display tables results.
• Portfolio - Shows each security.
• The strategy runs on each asset in your portfolio.
• The initial capital is equally distributed across each security.
So if you have 5 securities and a starting capital of 100,000$ then each security will run the strategy starting with 20,000$
The total row will aggregate the results on a bar by bar basis showing the total results of your initial capital.
• Net Profit (NP) - Shows profitability.
• Number of Trades (#T) - Shows # of trades taken during backtesting period.
• Typically will want to see this number greater than 100 on the "Total" row.
• Average Trade Length (ATL) - Shows average # of days in a trade.
• Maximum Drawdown (MD ) - Max peak-to-valley equity drawdown during backtesting period.
• This number defines the minimum amount of capital required to trade the system.
• Typically, this shouldn’t be lower than 34% and we will want to allow for at least 50% beyond this number.
• Maximum Loss (ML) - Shows largest loss experienced on a per-trade basis.
• Normally, don’t want to exceed more than 1-2 % of equity.
• Maximum Drawdown Duration (MDD) - The longest duration of a drawdown in equity prior to a new equity peak.
• This number is important to help us psychologically understand how long we can expect to wait for a new peak in account equity.
• Maximum Consecutive Losses (MCL) - The max consecutive losses endured throughout the backtesting period.
• Another important metric for trader psychology, this will help you understand how many losses you should be prepared to handle.
• Profit to Maximum Drawdown (P:MD) - A ratio for the average profit to the maximum drawdown.
• The higher the ratio is, the better. Large profits and small losses contribute to a good PMD.
• This metric allows us to examine the profit with respect to risk.
• Profit Loss Ratio (P:L) - Average profit over the average loss.
• Typically this number should be higher in trend following systems.
• Mean reversion systems show lower values, but compensate with a better win %.
• Percent Winners (% W) - The percentage of winning trades.
• Trend systems will usually have lower win percentages, since statistically the market is only trending roughly 30% of the time.
• Mean reversion systems typically should have a high % W.
• Time Percentage (Time %) - The amount of time that the system has an open position.
• The more time you are in the market, the more you are exposed to market risk, not to mention you could be using that money for something else right?
• Return on Investment (ROI) - Your Net Profit over your initial investment, represented as a percentage.
• You want this number to be positive and high.
• Open Profit (OP) - If the strategy has any open positions, the floating value will be represented here.
• Trading Days (TD) - An important metric showing how many days the strategy was active.
• This is good to know and will be valuable in understanding how long you will need to run this strategy in order to achieve results.
█ FEATURES
These are additional features that extend the original `BTE` features.
- Portfolio backtesting.
- Color coded performance results.
- Circuit Breakers that will stop trading.
- Position reversals on exit. (Simulating the function of always in the market. Similar to strategy.entry functionality)
- Whipsaw Filter
- Moving Average Filter
- Minimum Change Filter
- % Gain Equity Exit
- Popular strategies, (MACD, MA cross, supertrend)
Below are features that were excluded from the original `BTE`
- 2 stage in-trade stops with kick-in rules (This was a subjective decision to remove. I found it to be complex and thwarted my use of the `BTE` for some time.)
- Simple conversion from Study to Strategy modes. (Not possible with multiple securities)
- Coupling with your own external indicator (Not really practical to use with multiple securities, but could be used if signals were generated based on some indicator which was not based on the current chart)
- Use of the Data Window to show detailed bar by bar trade information and global statistics.
- Post Exit Analysis.
- Plotting of reminders and generation of alerts on in-trade events.
- Alerts (These may be added in the future by request when I find the time.)
█ THANKS
The whole PineCoders team for all their shared knowledge and original publication of the BTE and Richard Weismann for his ideas on building robust strategies.
═════════════════════════════════════════════════════════════════════════
Kelly Position Size CalculatorThis position sizing calculator implements the Kelly Criterion, developed by John L. Kelly Jr. at Bell Laboratories in 1956, to determine mathematically optimal position sizes for maximizing long-term wealth growth. Unlike arbitrary position sizing methods, this tool provides a scientifically solution based on your strategy's actual performance statistics and incorporates modern refinements from over six decades of academic research.
The Kelly Criterion addresses a fundamental question in capital allocation: "What fraction of capital should be allocated to each opportunity to maximize growth while avoiding ruin?" This question has profound implications for financial markets, where traders and investors constantly face decisions about optimal capital allocation (Van Tharp, 2007).
Theoretical Foundation
The Kelly Criterion for binary outcomes is expressed as f* = (bp - q) / b, where f* represents the optimal fraction of capital to allocate, b denotes the risk-reward ratio, p indicates the probability of success, and q represents the probability of loss (Kelly, 1956). This formula maximizes the expected logarithm of wealth, ensuring maximum long-term growth rate while avoiding the risk of ruin.
The mathematical elegance of Kelly's approach lies in its derivation from information theory. Kelly's original work was motivated by Claude Shannon's information theory (Shannon, 1948), recognizing that maximizing the logarithm of wealth is equivalent to maximizing the rate of information transmission. This connection between information theory and wealth accumulation provides a deep theoretical foundation for optimal position sizing.
The logarithmic utility function underlying the Kelly Criterion naturally embodies several desirable properties for capital management. It exhibits decreasing marginal utility, penalizes large losses more severely than it rewards equivalent gains, and focuses on geometric rather than arithmetic mean returns, which is appropriate for compounding scenarios (Thorp, 2006).
Scientific Implementation
This calculator extends beyond basic Kelly implementation by incorporating state of the art refinements from academic research:
Parameter Uncertainty Adjustment: Following Michaud (1989), the implementation applies Bayesian shrinkage to account for parameter estimation error inherent in small sample sizes. The adjustment formula f_adjusted = f_kelly × confidence_factor + f_conservative × (1 - confidence_factor) addresses the overconfidence bias documented by Baker and McHale (2012), where the confidence factor increases with sample size and the conservative estimate equals 0.25 (quarter Kelly).
Sample Size Confidence: The reliability of Kelly calculations depends critically on sample size. Research by Browne and Whitt (1996) provides theoretical guidance on minimum sample requirements, suggesting that at least 30 independent observations are necessary for meaningful parameter estimates, with 100 or more trades providing reliable estimates for most trading strategies.
Universal Asset Compatibility: The calculator employs intelligent asset detection using TradingView's built-in symbol information, automatically adapting calculations for different asset classes without manual configuration.
ASSET SPECIFIC IMPLEMENTATION
Equity Markets: For stocks and ETFs, position sizing follows the calculation Shares = floor(Kelly Fraction × Account Size / Share Price). This straightforward approach reflects whole share constraints while accommodating fractional share trading capabilities.
Foreign Exchange Markets: Forex markets require lot-based calculations following Lot Size = Kelly Fraction × Account Size / (100,000 × Base Currency Value). The calculator automatically handles major currency pairs with appropriate pip value calculations, following industry standards described by Archer (2010).
Futures Markets: Futures position sizing accounts for leverage and margin requirements through Contracts = floor(Kelly Fraction × Account Size / Margin Requirement). The calculator estimates margin requirements as a percentage of contract notional value, with specific adjustments for micro-futures contracts that have smaller sizes and reduced margin requirements (Kaufman, 2013).
Index and Commodity Markets: These markets combine characteristics of both equity and futures markets. The calculator automatically detects whether instruments are cash-settled or futures-based, applying appropriate sizing methodologies with correct point value calculations.
Risk Management Integration
The calculator integrates sophisticated risk assessment through two primary modes:
Stop Loss Integration: When fixed stop-loss levels are defined, risk calculation follows Risk per Trade = Position Size × Stop Loss Distance. This ensures that the Kelly fraction accounts for actual risk exposure rather than theoretical maximum loss, with stop-loss distance measured in appropriate units for each asset class.
Strategy Drawdown Assessment: For discretionary exit strategies, risk estimation uses maximum historical drawdown through Risk per Trade = Position Value × (Maximum Drawdown / 100). This approach assumes that individual trade losses will not exceed the strategy's historical maximum drawdown, providing a reasonable estimate for strategies with well-defined risk characteristics.
Fractional Kelly Approaches
Pure Kelly sizing can produce substantial volatility, leading many practitioners to adopt fractional Kelly approaches. MacLean, Sanegre, Zhao, and Ziemba (2004) analyze the trade-offs between growth rate and volatility, demonstrating that half-Kelly typically reduces volatility by approximately 75% while sacrificing only 25% of the growth rate.
The calculator provides three primary Kelly modes to accommodate different risk preferences and experience levels. Full Kelly maximizes growth rate while accepting higher volatility, making it suitable for experienced practitioners with strong risk tolerance and robust capital bases. Half Kelly offers a balanced approach popular among professional traders, providing optimal risk-return balance by reducing volatility significantly while maintaining substantial growth potential. Quarter Kelly implements a conservative approach with low volatility, recommended for risk-averse traders or those new to Kelly methodology who prefer gradual introduction to optimal position sizing principles.
Empirical Validation and Performance
Extensive academic research supports the theoretical advantages of Kelly sizing. Hakansson and Ziemba (1995) provide a comprehensive review of Kelly applications in finance, documenting superior long-term performance across various market conditions and asset classes. Estrada (2008) analyzes Kelly performance in international equity markets, finding that Kelly-based strategies consistently outperform fixed position sizing approaches over extended periods across 19 developed markets over a 30-year period.
Several prominent investment firms have successfully implemented Kelly-based position sizing. Pabrai (2007) documents the application of Kelly principles at Berkshire Hathaway, noting Warren Buffett's concentrated portfolio approach aligns closely with Kelly optimal sizing for high-conviction investments. Quantitative hedge funds, including Renaissance Technologies and AQR, have incorporated Kelly-based risk management into their systematic trading strategies.
Practical Implementation Guidelines
Successful Kelly implementation requires systematic application with attention to several critical factors:
Parameter Estimation: Accurate parameter estimation represents the greatest challenge in practical Kelly implementation. Brown (1976) notes that small errors in probability estimates can lead to significant deviations from optimal performance. The calculator addresses this through Bayesian adjustments and confidence measures.
Sample Size Requirements: Users should begin with conservative fractional Kelly approaches until achieving sufficient historical data. Strategies with fewer than 30 trades may produce unreliable Kelly estimates, regardless of adjustments. Full confidence typically requires 100 or more independent trade observations.
Market Regime Considerations: Parameters that accurately describe historical performance may not reflect future market conditions. Ziemba (2003) recommends regular parameter updates and conservative adjustments when market conditions change significantly.
Professional Features and Customization
The calculator provides comprehensive customization options for professional applications:
Multiple Color Schemes: Eight professional color themes (Gold, EdgeTools, Behavioral, Quant, Ocean, Fire, Matrix, Arctic) with dark and light theme compatibility ensure optimal visibility across different trading environments.
Flexible Display Options: Adjustable table size and position accommodate various chart layouts and user preferences, while maintaining analytical depth and clarity.
Comprehensive Results: The results table presents essential information including asset specifications, strategy statistics, Kelly calculations, sample confidence measures, position values, risk assessments, and final position sizes in appropriate units for each asset class.
Limitations and Considerations
Like any analytical tool, the Kelly Criterion has important limitations that users must understand:
Stationarity Assumption: The Kelly Criterion assumes that historical strategy statistics represent future performance characteristics. Non-stationary market conditions may invalidate this assumption, as noted by Lo and MacKinlay (1999).
Independence Requirement: Each trade should be independent to avoid correlation effects. Many trading strategies exhibit serial correlation in returns, which can affect optimal position sizing and may require adjustments for portfolio applications.
Parameter Sensitivity: Kelly calculations are sensitive to parameter accuracy. Regular calibration and conservative approaches are essential when parameter uncertainty is high.
Transaction Costs: The implementation incorporates user-defined transaction costs but assumes these remain constant across different position sizes and market conditions, following Ziemba (2003).
Advanced Applications and Extensions
Multi-Asset Portfolio Considerations: While this calculator optimizes individual position sizes, portfolio-level applications require additional considerations for correlation effects and aggregate risk management. Simplified portfolio approaches include treating positions independently with correlation adjustments.
Behavioral Factors: Behavioral finance research reveals systematic biases that can interfere with Kelly implementation. Kahneman and Tversky (1979) document loss aversion, overconfidence, and other cognitive biases that lead traders to deviate from optimal strategies. Successful implementation requires disciplined adherence to calculated recommendations.
Time-Varying Parameters: Advanced implementations may incorporate time-varying parameter models that adjust Kelly recommendations based on changing market conditions, though these require sophisticated econometric techniques and substantial computational resources.
Comprehensive Usage Instructions and Practical Examples
Implementation begins with loading the calculator on your desired trading instrument's chart. The system automatically detects asset type across stocks, forex, futures, and cryptocurrency markets while extracting current price information. Navigation to the indicator settings allows input of your specific strategy parameters.
Strategy statistics configuration requires careful attention to several key metrics. The win rate should be calculated from your backtest results using the formula of winning trades divided by total trades multiplied by 100. Average win represents the sum of all profitable trades divided by the number of winning trades, while average loss calculates the sum of all losing trades divided by the number of losing trades, entered as a positive number. The total historical trades parameter requires the complete number of trades in your backtest, with a minimum of 30 trades recommended for basic functionality and 100 or more trades optimal for statistical reliability. Account size should reflect your available trading capital, specifically the risk capital allocated for trading rather than total net worth.
Risk management configuration adapts to your specific trading approach. The stop loss setting should be enabled if you employ fixed stop-loss exits, with the stop loss distance specified in appropriate units depending on the asset class. For stocks, this distance is measured in dollars, for forex in pips, and for futures in ticks. When stop losses are not used, the maximum strategy drawdown percentage from your backtest provides the risk assessment baseline. Kelly mode selection offers three primary approaches: Full Kelly for aggressive growth with higher volatility suitable for experienced practitioners, Half Kelly for balanced risk-return optimization popular among professional traders, and Quarter Kelly for conservative approaches with reduced volatility.
Display customization ensures optimal integration with your trading environment. Eight professional color themes provide optimization for different chart backgrounds and personal preferences. Table position selection allows optimal placement within your chart layout, while table size adjustment ensures readability across different screen resolutions and viewing preferences.
Detailed Practical Examples
Example 1: SPY Swing Trading Strategy
Consider a professionally developed swing trading strategy for SPY (S&P 500 ETF) with backtesting results spanning 166 total trades. The strategy achieved 110 winning trades, representing a 66.3% win rate, with an average winning trade of $2,200 and average losing trade of $862. The maximum drawdown reached 31.4% during the testing period, and the available trading capital amounts to $25,000. This strategy employs discretionary exits without fixed stop losses.
Implementation requires loading the calculator on the SPY daily chart and configuring the parameters accordingly. The win rate input receives 66.3, while average win and loss inputs receive 2200 and 862 respectively. Total historical trades input requires 166, with account size set to 25000. The stop loss function remains disabled due to the discretionary exit approach, with maximum strategy drawdown set to 31.4%. Half Kelly mode provides the optimal balance between growth and risk management for this application.
The calculator generates several key outputs for this scenario. The risk-reward ratio calculates automatically to 2.55, while the Kelly fraction reaches approximately 53% before scientific adjustments. Sample confidence achieves 100% given the 166 trades providing high statistical confidence. The recommended position settles at approximately 27% after Half Kelly and Bayesian adjustment factors. Position value reaches approximately $6,750, translating to 16 shares at a $420 SPY price. Risk per trade amounts to approximately $2,110, representing 31.4% of position value, with expected value per trade reaching approximately $1,466. This recommendation represents the mathematically optimal balance between growth potential and risk management for this specific strategy profile.
Example 2: EURUSD Day Trading with Stop Losses
A high-frequency EURUSD day trading strategy demonstrates different parameter requirements compared to swing trading approaches. This strategy encompasses 89 total trades with a 58% win rate, generating an average winning trade of $180 and average losing trade of $95. The maximum drawdown reached 12% during testing, with available capital of $10,000. The strategy employs fixed stop losses at 25 pips and take profit targets at 45 pips, providing clear risk-reward parameters.
Implementation begins with loading the calculator on the EURUSD 1-hour chart for appropriate timeframe alignment. Parameter configuration includes win rate at 58, average win at 180, and average loss at 95. Total historical trades input receives 89, with account size set to 10000. The stop loss function is enabled with distance set to 25 pips, reflecting the fixed exit strategy. Quarter Kelly mode provides conservative positioning due to the smaller sample size compared to the previous example.
Results demonstrate the impact of smaller sample sizes on Kelly calculations. The risk-reward ratio calculates to 1.89, while the Kelly fraction reaches approximately 32% before adjustments. Sample confidence achieves 89%, providing moderate statistical confidence given the 89 trades. The recommended position settles at approximately 7% after Quarter Kelly application and Bayesian shrinkage adjustment for the smaller sample. Position value amounts to approximately $700, translating to 0.07 standard lots. Risk per trade reaches approximately $175, calculated as 25 pips multiplied by lot size and pip value, with expected value per trade at approximately $49. This conservative position sizing reflects the smaller sample size, with position sizes expected to increase as trade count surpasses 100 and statistical confidence improves.
Example 3: ES1! Futures Systematic Strategy
Systematic futures trading presents unique considerations for Kelly criterion application, as demonstrated by an E-mini S&P 500 futures strategy encompassing 234 total trades. This systematic approach achieved a 45% win rate with an average winning trade of $1,850 and average losing trade of $720. The maximum drawdown reached 18% during the testing period, with available capital of $50,000. The strategy employs 15-tick stop losses with contract specifications of $50 per tick, providing precise risk control mechanisms.
Implementation involves loading the calculator on the ES1! 15-minute chart to align with the systematic trading timeframe. Parameter configuration includes win rate at 45, average win at 1850, and average loss at 720. Total historical trades receives 234, providing robust statistical foundation, with account size set to 50000. The stop loss function is enabled with distance set to 15 ticks, reflecting the systematic exit methodology. Half Kelly mode balances growth potential with appropriate risk management for futures trading.
Results illustrate how favorable risk-reward ratios can support meaningful position sizing despite lower win rates. The risk-reward ratio calculates to 2.57, while the Kelly fraction reaches approximately 16%, lower than previous examples due to the sub-50% win rate. Sample confidence achieves 100% given the 234 trades providing high statistical confidence. The recommended position settles at approximately 8% after Half Kelly adjustment. Estimated margin per contract amounts to approximately $2,500, resulting in a single contract allocation. Position value reaches approximately $2,500, with risk per trade at $750, calculated as 15 ticks multiplied by $50 per tick. Expected value per trade amounts to approximately $508. Despite the lower win rate, the favorable risk-reward ratio supports meaningful position sizing, with single contract allocation reflecting appropriate leverage management for futures trading.
Example 4: MES1! Micro-Futures for Smaller Accounts
Micro-futures contracts provide enhanced accessibility for smaller trading accounts while maintaining identical strategy characteristics. Using the same systematic strategy statistics from the previous example but with available capital of $15,000 and micro-futures specifications of $5 per tick with reduced margin requirements, the implementation demonstrates improved position sizing granularity.
Kelly calculations remain identical to the full-sized contract example, maintaining the same risk-reward dynamics and statistical foundations. However, estimated margin per contract reduces to approximately $250 for micro-contracts, enabling allocation of 4-5 micro-contracts. Position value reaches approximately $1,200, while risk per trade calculates to $75, derived from 15 ticks multiplied by $5 per tick. This granularity advantage provides better position size precision for smaller accounts, enabling more accurate Kelly implementation without requiring large capital commitments.
Example 5: Bitcoin Swing Trading
Cryptocurrency markets present unique challenges requiring modified Kelly application approaches. A Bitcoin swing trading strategy on BTCUSD encompasses 67 total trades with a 71% win rate, generating average winning trades of $3,200 and average losing trades of $1,400. Maximum drawdown reached 28% during testing, with available capital of $30,000. The strategy employs technical analysis for exits without fixed stop losses, relying on price action and momentum indicators.
Implementation requires conservative approaches due to cryptocurrency volatility characteristics. Quarter Kelly mode is recommended despite the high win rate to account for crypto market unpredictability. Expected position sizing remains reduced due to the limited sample size of 67 trades, requiring additional caution until statistical confidence improves. Regular parameter updates are strongly recommended due to cryptocurrency market evolution and changing volatility patterns that can significantly impact strategy performance characteristics.
Advanced Usage Scenarios
Portfolio position sizing requires sophisticated consideration when running multiple strategies simultaneously. Each strategy should have its Kelly fraction calculated independently to maintain mathematical integrity. However, correlation adjustments become necessary when strategies exhibit related performance patterns. Moderately correlated strategies should receive individual position size reductions of 10-20% to account for overlapping risk exposure. Aggregate portfolio risk monitoring ensures total exposure remains within acceptable limits across all active strategies. Professional practitioners often consider using lower fractional Kelly approaches, such as Quarter Kelly, when running multiple strategies simultaneously to provide additional safety margins.
Parameter sensitivity analysis forms a critical component of professional Kelly implementation. Regular validation procedures should include monthly parameter updates using rolling 100-trade windows to capture evolving market conditions while maintaining statistical relevance. Sensitivity testing involves varying win rates by ±5% and average win/loss ratios by ±10% to assess recommendation stability under different parameter assumptions. Out-of-sample validation reserves 20% of historical data for parameter verification, ensuring that optimization doesn't create curve-fitted results. Regime change detection monitors actual performance against expected metrics, triggering parameter reassessment when significant deviations occur.
Risk management integration requires professional overlay considerations beyond pure Kelly calculations. Daily loss limits should cease trading when daily losses exceed twice the calculated risk per trade, preventing emotional decision-making during adverse periods. Maximum position limits should never exceed 25% of account value in any single position regardless of Kelly recommendations, maintaining diversification principles. Correlation monitoring reduces position sizes when holding multiple correlated positions that move together during market stress. Volatility adjustments consider reducing position sizes during periods of elevated VIX above 25 for equity strategies, adapting to changing market conditions.
Troubleshooting and Optimization
Professional implementation often encounters specific challenges requiring systematic troubleshooting approaches. Zero position size displays typically result from insufficient capital for minimum position sizes, negative expected values, or extremely conservative Kelly calculations. Solutions include increasing account size, verifying strategy statistics for accuracy, considering Quarter Kelly mode for conservative approaches, or reassessing overall strategy viability when fundamental issues exist.
Extremely high Kelly fractions exceeding 50% usually indicate underlying problems with parameter estimation. Common causes include unrealistic win rates, inflated risk-reward ratios, or curve-fitted backtest results that don't reflect genuine trading conditions. Solutions require verifying backtest methodology, including all transaction costs in calculations, testing strategies on out-of-sample data, and using conservative fractional Kelly approaches until parameter reliability improves.
Low sample confidence below 50% reflects insufficient historical trades for reliable parameter estimation. This situation demands gathering additional trading data, using Quarter Kelly approaches until reaching 100 or more trades, applying extra conservatism in position sizing, and considering paper trading to build statistical foundations without capital risk.
Inconsistent results across similar strategies often stem from parameter estimation differences, market regime changes, or strategy degradation over time. Professional solutions include standardizing backtest methodology across all strategies, updating parameters regularly to reflect current conditions, and monitoring live performance against expectations to identify deteriorating strategies.
Position sizes that appear inappropriately large or small require careful validation against traditional risk management principles. Professional standards recommend never risking more than 2-3% per trade regardless of Kelly calculations. Calibration should begin with Quarter Kelly approaches, gradually increasing as comfort and confidence develop. Most institutional traders utilize 25-50% of full Kelly recommendations to balance growth with prudent risk management.
Market condition adjustments require dynamic approaches to Kelly implementation. Trending markets may support full Kelly recommendations when directional momentum provides favorable conditions. Ranging or volatile markets typically warrant reducing to Half or Quarter Kelly to account for increased uncertainty. High correlation periods demand reducing individual position sizes when multiple positions move together, concentrating risk exposure. News and event periods often justify temporary position size reductions during high-impact releases that can create unpredictable market movements.
Performance monitoring requires systematic protocols to ensure Kelly implementation remains effective over time. Weekly reviews should compare actual versus expected win rates and average win/loss ratios to identify parameter drift or strategy degradation. Position size efficiency and execution quality monitoring ensures that calculated recommendations translate effectively into actual trading results. Tracking correlation between calculated and realized risk helps identify discrepancies between theoretical and practical risk exposure.
Monthly calibration provides more comprehensive parameter assessment using the most recent 100 trades to maintain statistical relevance while capturing current market conditions. Kelly mode appropriateness requires reassessment based on recent market volatility and performance characteristics, potentially shifting between Full, Half, and Quarter Kelly approaches as conditions change. Transaction cost evaluation ensures that commission structures, spreads, and slippage estimates remain accurate and current.
Quarterly strategic reviews encompass comprehensive strategy performance analysis comparing long-term results against expectations and identifying trends in effectiveness. Market regime assessment evaluates parameter stability across different market conditions, determining whether strategy characteristics remain consistent or require fundamental adjustments. Strategic modifications to position sizing methodology may become necessary as markets evolve or trading approaches mature, ensuring that Kelly implementation continues supporting optimal capital allocation objectives.
Professional Applications
This calculator serves diverse professional applications across the financial industry. Quantitative hedge funds utilize the implementation for systematic position sizing within algorithmic trading frameworks, where mathematical precision and consistent application prove essential for institutional capital management. Professional discretionary traders benefit from optimized position management that removes emotional bias while maintaining flexibility for market-specific adjustments. Portfolio managers employ the calculator for developing risk-adjusted allocation strategies that enhance returns while maintaining prudent risk controls across diverse asset classes and investment strategies.
Individual traders seeking mathematical optimization of capital allocation find the calculator provides institutional-grade methodology previously available only to professional money managers. The Kelly Criterion establishes theoretical foundation for optimal capital allocation across both single strategies and multiple trading systems, offering significant advantages over arbitrary position sizing methods that rely on intuition or fixed percentage approaches. Professional implementation ensures consistent application of mathematically sound principles while adapting to changing market conditions and strategy performance characteristics.
Conclusion
The Kelly Criterion represents one of the few mathematically optimal solutions to fundamental investment problems. When properly understood and carefully implemented, it provides significant competitive advantage in financial markets. This calculator implements modern refinements to Kelly's original formula while maintaining accessibility for practical trading applications.
Success with Kelly requires ongoing learning, systematic application, and continuous refinement based on market feedback and evolving research. Users who master Kelly principles and implement them systematically can expect superior risk-adjusted returns and more consistent capital growth over extended periods.
The extensive academic literature provides rich resources for deeper study, while practical experience builds the intuition necessary for effective implementation. Regular parameter updates, conservative approaches with limited data, and disciplined adherence to calculated recommendations are essential for optimal results.
References
Archer, M. D. (2010). Getting Started in Currency Trading: Winning in Today's Forex Market (3rd ed.). John Wiley & Sons.
Baker, R. D., & McHale, I. G. (2012). An empirical Bayes approach to optimising betting strategies. Journal of the Royal Statistical Society: Series D (The Statistician), 61(1), 75-92.
Breiman, L. (1961). Optimal gambling systems for favorable games. In J. Neyman (Ed.), Proceedings of the Fourth Berkeley Symposium on Mathematical Statistics and Probability (pp. 65-78). University of California Press.
Brown, D. B. (1976). Optimal portfolio growth: Logarithmic utility and the Kelly criterion. In W. T. Ziemba & R. G. Vickson (Eds.), Stochastic Optimization Models in Finance (pp. 1-23). Academic Press.
Browne, S., & Whitt, W. (1996). Portfolio choice and the Bayesian Kelly criterion. Advances in Applied Probability, 28(4), 1145-1176.
Estrada, J. (2008). Geometric mean maximization: An overlooked portfolio approach? The Journal of Investing, 17(4), 134-147.
Hakansson, N. H., & Ziemba, W. T. (1995). Capital growth theory. In R. A. Jarrow, V. Maksimovic, & W. T. Ziemba (Eds.), Handbooks in Operations Research and Management Science (Vol. 9, pp. 65-86). Elsevier.
Kahneman, D., & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47(2), 263-291.
Kaufman, P. J. (2013). Trading Systems and Methods (5th ed.). John Wiley & Sons.
Kelly Jr, J. L. (1956). A new interpretation of information rate. Bell System Technical Journal, 35(4), 917-926.
Lo, A. W., & MacKinlay, A. C. (1999). A Non-Random Walk Down Wall Street. Princeton University Press.
MacLean, L. C., Sanegre, E. O., Zhao, Y., & Ziemba, W. T. (2004). Capital growth with security. Journal of Economic Dynamics and Control, 28(4), 937-954.
MacLean, L. C., Thorp, E. O., & Ziemba, W. T. (2011). The Kelly Capital Growth Investment Criterion: Theory and Practice. World Scientific.
Michaud, R. O. (1989). The Markowitz optimization enigma: Is 'optimized' optimal? Financial Analysts Journal, 45(1), 31-42.
Pabrai, M. (2007). The Dhandho Investor: The Low-Risk Value Method to High Returns. John Wiley & Sons.
Shannon, C. E. (1948). A mathematical theory of communication. Bell System Technical Journal, 27(3), 379-423.
Tharp, V. K. (2007). Trade Your Way to Financial Freedom (2nd ed.). McGraw-Hill.
Thorp, E. O. (2006). The Kelly criterion in blackjack sports betting, and the stock market. In L. C. MacLean, E. O. Thorp, & W. T. Ziemba (Eds.), The Kelly Capital Growth Investment Criterion: Theory and Practice (pp. 789-832). World Scientific.
Van Tharp, K. (2007). Trade Your Way to Financial Freedom (2nd ed.). McGraw-Hill Education.
Vince, R. (1992). The Mathematics of Money Management: Risk Analysis Techniques for Traders. John Wiley & Sons.
Vince, R., & Zhu, H. (2015). Optimal betting under parameter uncertainty. Journal of Statistical Planning and Inference, 161, 19-31.
Ziemba, W. T. (2003). The Stochastic Programming Approach to Asset, Liability, and Wealth Management. The Research Foundation of AIMR.
Further Reading
For comprehensive understanding of Kelly Criterion applications and advanced implementations:
MacLean, L. C., Thorp, E. O., & Ziemba, W. T. (2011). The Kelly Capital Growth Investment Criterion: Theory and Practice. World Scientific.
Vince, R. (1992). The Mathematics of Money Management: Risk Analysis Techniques for Traders. John Wiley & Sons.
Thorp, E. O. (2017). A Man for All Markets: From Las Vegas to Wall Street. Random House.
Cover, T. M., & Thomas, J. A. (2006). Elements of Information Theory (2nd ed.). John Wiley & Sons.
Ziemba, W. T., & Vickson, R. G. (Eds.). (2006). Stochastic Optimization Models in Finance. World Scientific.
Goldmine Wealth BuilderGoldmine Wealth Builder
Version 1.0
Discover the Goldmine Wealth Builder, your ultimate partner in long-term investing. With a comprehensive array of strategies meticulously tailored to suit the varied needs and preferences of investors, we empower you to achieve your financial goals with confidence and ease. Whether you're seeking stability or growth, our platform is designed to provide personalized solutions that align perfectly with your aspirations. Welcome to a world of opportunity and prosperity with Goldmine Wealth Builder.
Long-Term Investment Strategies: DKK, SKK and SKK2
In the dynamic realm of long-term investing, the DKK, SKK, and SKK2 strategies stand as valuable pillars. These strategies, meticulously designed to assist investors in building robust portfolios, combine the power of Super Trend, RSI (Relative Strength Index), Exponential Moving Averages (EMAs), and their crossovers. By providing clear alerts and buy signals on a daily time frame, they equip users with the tools needed to make well-informed investment decisions and navigate the complexities of the financial markets. These strategies offer a versatile and structured approach to both conservative and aggressive investment, catering to the diverse preferences and objectives of investors.
Each part of this strategy provides a unique perspective and approach to the accumulation of assets, making it a versatile and comprehensive method for investors seeking to optimize their portfolio performance. By diligently applying this multi-faceted approach, investors can make informed decisions and effectively capitalize on potential market opportunities.
DKK Strategy for ETFs:
The DKK system is a strategy designed for accumulating only ETFs as long-term investments in your portfolio. It simplifies the process of identifying trend reversals and opportune moments to invest in listed ETFs, particularly during bull markets. Here's a detailed explanation of the DKK system:
Objective: The primary aim of the DKK system is to build a long-term investment portfolio by focusing on only ETFs. It facilitates the identification of ETFs that are in the process of reversing their trends, allowing investors to benefit from upward price movements in these financial instruments.
ETFs Selection Criteria: The DKK system employs specific criteria for selecting ETFs:
• 200EMA (Exponential Moving Average): The system monitors whether the prices of ETFs are consistently below the 200-day Exponential Moving Average. This is considered an indicator of weakness, especially on a daily time frame.
• RSI (Relative Strength Index): The system looks for an RSI value of less than 40. An RSI below 40 is often seen as an indication of a weak or oversold condition in a financial instrument.
Alert Signal: Once the DKK system identifies ETFs meeting these criteria, it provides an alert signal:
• Red Upside Triangle Sign: This signal is automatically generated on the daily chart of only ETFs. It serves as a clear indicator to investors that it's an opportune time to accumulate these financial instruments for long-term investment.
It's important to note that the DKK system is specifically designed for ETFs only, so it should be applied to these types of investments. Additionally, it's recommended to track index ETFs, in line with the DKK system's approach. This strategy simplifies the process of identifying investment opportunities within this asset class, particularly during periods of market weakness.
SKK Strategy for Conservative Stock Investment:
The SKK system is a stock investment strategy tailored for conservative investors seeking long-term portfolio growth with a focus on stability and prudent decision-making. This strategy is meticulously designed to identify pivotal market trends and stock price movements, allowing investors to make informed choices and capitalize on upward market trends while minimizing risk. Here's a comprehensive overview of the SKK system, emphasizing its suitability for conservative investors:
Objective: The primary objective of the SKK system is to accumulate stocks as long-term investments in your portfolio while prioritizing capital preservation. It offers a disciplined approach to pinpointing potential entry points for stocks, particularly during market corrections and trend reversals, thereby enabling you to actively participate in bullish market phases while adopting a conservative risk management stance.
Stock Selection Criteria: The SKK system employs a stringent set of criteria to select stocks for investment:
• Correction Mode: It identifies stocks that have undergone a correction, signifying a decline in stock prices from their recent highs. This conservative approach emphasizes the importance of seeking stocks with a history of stability.
• 200EMA (Exponential Moving Average): The system diligently analyses daily stock price movements, specifically looking for stocks that have fallen to or below the 200-day Exponential Moving Average. This indicator suggests potential overselling and aligns with a conservative strategy of buying low.
Trend Reversal Confirmation: The SKK system doesn't merely pinpoint stocks in correction mode; it takes an extra step to confirm a trend reversal. It employs the following indicators:
• Short-term Downtrends Reversal: This aspect focuses on identifying the reversal of short-term downtrends in stock prices, observed through the transition of the super trend indicator from the red zone to the green zone. This cautious approach ensures that the trend is genuinely shifting.
• Super Trend Zones: These zones are crucial for assessing whether a stock is in a bullish or bearish trend. The system consistently monitors these zones to confirm a potential trend reversal.
Alert & Buy Signals: When the SKK system identifies stocks that have reached a potential bottom and are on the verge of a trend reversal, it issues vital alert signals, aiding conservative investors in prudent decision-making:
• Orange Upside Triangle Sign: This signal serves as a cautious heads-up, indicating that a stock may be poised for a trend reversal. It advises investors to prepare funds for potential investment without taking undue risks.
• Green Upside Triangle Sign: This is the confirmation of a trend reversal, signifying a robust buy signal. Conservative investors can confidently enter the market at this point, accumulating stocks for a long-term investment, secure in the knowledge that the trend is in their favour.
• Additionally, if the Supertrend transitions from green to red zone during the alert signal is active and before the buy signal, the SKK setup will be considered invalid. This adjustment ensures precise trend reversal identification during corrections. The conservative investors to confidently enter the market, accumulating discounted stocks primarily at the bottom while avoiding unnecessary signals.
In summary, the SKK system is a systematic and conservative approach to stock investing. It excels in identifying stocks experiencing corrections and ensures that investors act when there's a strong indication of a trend reversal, all while prioritizing capital preservation and risk management. This strategy empowers conservative investors to navigate the intricacies of the stock market with confidence, providing a calculated and stable path toward long-term portfolio growth.
Note: The SKK strategy, known for its conservative approach to stock investment, also provides an option to extend its methodology to REIT (Real Estate Investment Trusts) and INVIT (Infrastructure Investment Trusts) Funds for those investors who wish to accumulate assets more aggressively. You can harness the SKK strategy's careful criteria and signal indicators to accumulate aggressive investments in REIT and INVIT Funds.
This flexible approach acknowledges that even within a conservative strategy, there may be opportunities for more assertive investments in assets like REIT and INVIT Funds. By making use of this option, you can strike a balance between a conservative stance in your stock portfolio while exploring an aggressive approach in other asset classes. It offers the versatility to cater to a variety of investment preferences, ensuring that you can adapt your strategy to suit your financial goals and risk tolerance.
SKK 2 Strategy for Aggressive Stock Investment:
The SKK 2 strategy is designed for those who are determined not to miss significant opportunities within a continuous uptrend and seek a way to enter a trend that doesn't present entry signals through the SKK strategy. While it offers a more aggressive entry approach, it is ideal for individuals willing to take calculated risks to potentially reap substantial long-term rewards. This strategy is particularly suitable for accumulating stocks for aggressive long-term investment. Here's a detailed description of the SKK 2 strategy:
Objective: The primary aim of the SKK 2 strategy is to provide an avenue for investors to identify short-term trend reversals and seize the opportunity to enter stocks during an uptrend, thereby capitalizing on a sustained bull run. It acknowledges that there may not always be clear entry signals through the SKK strategy and offers a more aggressive alternative.
Stock Selection Criteria: The SKK 2 strategy utilizes a specific set of criteria for stock selection:
1. 50EMA (Exponential Moving Average): It targets stocks that are trading below the 50-day Exponential Moving Average. This signals a short-term reversal from the top and indicates that the stock is in a downtrend.
2. RSI (Relative Strength Index): The strategy considers stocks with an RSI of less than 40, which is an indicator of weakness in the stock.
Alert Signals: The SKK 2 strategy provides distinct alert signals that facilitate entry during an aggressive reversal:
• Orange Downside Triangle Sign: This signal is triggered when the stock is below the 50EMA and has an RSI of less than 40. It serves as a clear warning of a short-term reversal from the top and a downtrend, displayed on the daily chart.
• Purple Upside Triangle Sign: This sign is generated when a reversal occurs through a bullish candle, and the RSI is greater than 40. It signifies the stock has bottomed out from a short-term downtrend and is now reversing. This purple upside triangle serves as an entry signal on the chart, presenting an attractive opportunity to accumulate stocks during a strong bullish phase, offering a chance to seize a potentially favourable long-term investment.
In essence, the SKK 2 strategy caters to aggressive investors who are willing to take calculated risks to enter stocks during a continuous uptrend. It focuses on identifying short-term reversals and provides well-defined signals for entry. While this strategy is more aggressive in nature, it has the potential to yield substantial rewards for those who are comfortable with a higher level of risk and are looking for opportunities to build a strong long-term portfolio.
Introduction to Strategy Signal Information Chart
This chart provides essential information on strategy signals for DKK, SKK, and SKK2. By quickly identifying "Buy" and "Alert" signals for each strategy, investors can efficiently gauge market conditions and make informed decisions to optimize their investment portfolios.
RSI Feature:
The Relative Strength Index (RSI) value is displayed on the indicator status line, providing quick reference and analysis for more informed decision-making. Explore this update to enhance your strategy with RSI trends. Alternatively, leverage RSI as a reference, a feature extensively utilized in both DKK and SKK2 strategies.
In Conclusion
These investment strategies, whether conservative like DKK and SKK or more aggressive like SKK2, offer a range of options for investors to navigate the complex world of long-term investments. The combination of Super Trend, RSI, and EMAs with their crossovers provides clear signals on a daily time frame, empowering users to make well-informed decisions and potentially capitalize on market opportunities. Whether you're looking for stability or are ready to embrace more risk, these strategies have something to offer for building and growing your investment portfolio.
In essence, with the Goldmine Wealth Builder, investors alike can access a comprehensive toolkit designed to unlock their financial potential and achieve their investment goals.
We appreciate your understanding and remain committed to providing a clear and focused investment tool. For any inquiries or feedback, feel free to reach out.
Ray Dalio's All Weather Strategy - Portfolio CalculatorTHE ALL WEATHER STRATEGY INDICATOR: A GUIDE TO RAY DALIO'S LEGENDARY PORTFOLIO APPROACH
Introduction: The Genesis of Financial Resilience
In the sprawling corridors of Bridgewater Associates, the world's largest hedge fund managing over 150 billion dollars in assets, Ray Dalio conceived what would become one of the most influential investment strategies of the modern era. The All Weather Strategy, born from decades of market observation and rigorous backtesting, represents a paradigm shift from traditional portfolio construction methods that have dominated Wall Street since Harry Markowitz's seminal work on Modern Portfolio Theory in 1952.
Unlike conventional approaches that chase returns through market timing or stock picking, the All Weather Strategy embraces a fundamental truth that has humbled countless investors throughout history: nobody can consistently predict the future direction of markets. Instead of fighting this uncertainty, Dalio's approach harnesses it, creating a portfolio designed to perform reasonably well across all economic environments, hence the evocative name "All Weather."
The strategy emerged from Bridgewater's extensive research into economic cycles and asset class behavior, culminating in what Dalio describes as "the Holy Grail of investing" in his bestselling book "Principles" (Dalio, 2017). This Holy Grail isn't about achieving spectacular returns, but rather about achieving consistent, risk-adjusted returns that compound steadily over time, much like the tortoise defeating the hare in Aesop's timeless fable.
HISTORICAL DEVELOPMENT AND EVOLUTION
The All Weather Strategy's origins trace back to the tumultuous economic periods of the 1970s and 1980s, when traditional portfolio construction methods proved inadequate for navigating simultaneous inflation and recession. Raymond Thomas Dalio, born in 1949 in Queens, New York, founded Bridgewater Associates from his Manhattan apartment in 1975, initially focusing on currency and fixed-income consulting for corporate clients.
Dalio's early experiences during the 1970s stagflation period profoundly shaped his investment philosophy. Unlike many of his contemporaries who viewed inflation and deflation as opposing forces, Dalio recognized that both conditions could coexist with either economic growth or contraction, creating four distinct economic environments rather than the traditional two-factor models that dominated academic finance.
The conceptual breakthrough came in the late 1980s when Dalio began systematically analyzing asset class performance across different economic regimes. Working with a small team of researchers, Bridgewater developed sophisticated models that decomposed economic conditions into growth and inflation components, then mapped historical asset class returns against these regimes. This research revealed that traditional portfolio construction, heavily weighted toward stocks and bonds, left investors vulnerable to specific economic scenarios.
The formal All Weather Strategy emerged in 1996 when Bridgewater was approached by a wealthy family seeking a portfolio that could protect their wealth across various economic conditions without requiring active management or market timing. Unlike Bridgewater's flagship Pure Alpha fund, which relied on active trading and leverage, the All Weather approach needed to be completely passive and unleveraged while still providing adequate diversification.
Dalio and his team spent months developing and testing various allocation schemes, ultimately settling on the 30/40/15/7.5/7.5 framework that balances risk contributions rather than dollar amounts. This approach was revolutionary because it focused on risk budgeting—ensuring that no single asset class dominated the portfolio's risk profile—rather than the traditional approach of equal dollar allocations or market-cap weighting.
The strategy's first institutional implementation began in 1996 with a family office client, followed by gradual expansion to other wealthy families and eventually institutional investors. By 2005, Bridgewater was managing over $15 billion in All Weather assets, making it one of the largest systematic strategy implementations in institutional investing.
The 2008 financial crisis provided the ultimate test of the All Weather methodology. While the S&P 500 declined by 37% and many hedge funds suffered double-digit losses, the All Weather strategy generated positive returns, validating Dalio's risk-balancing approach. This performance during extreme market stress attracted significant institutional attention, leading to rapid asset growth in subsequent years.
The strategy's theoretical foundations evolved throughout the 2000s as Bridgewater's research team, led by co-chief investment officers Greg Jensen and Bob Prince, refined the economic framework and incorporated insights from behavioral economics and complexity theory. Their research, published in numerous institutional white papers, demonstrated that traditional portfolio optimization methods consistently underperformed simpler risk-balanced approaches across various time periods and market conditions.
Academic validation came through partnerships with leading business schools and collaboration with prominent economists. The strategy's risk parity principles influenced an entire generation of institutional investors, leading to the creation of numerous risk parity funds managing hundreds of billions in aggregate assets.
In recent years, the democratization of sophisticated financial tools has made All Weather-style investing accessible to individual investors through ETFs and systematic platforms. The availability of high-quality, low-cost ETFs covering each required asset class has eliminated many of the barriers that previously limited sophisticated portfolio construction to institutional investors.
The development of advanced portfolio management software and platforms like TradingView has further democratized access to institutional-quality analytics and implementation tools. The All Weather Strategy Indicator represents the culmination of this trend, providing individual investors with capabilities that previously required teams of portfolio managers and risk analysts.
Understanding the Four Economic Seasons
The All Weather Strategy's theoretical foundation rests on Dalio's observation that all economic environments can be characterized by two primary variables: economic growth and inflation. These variables create four distinct "economic seasons," each favoring different asset classes. Rising growth benefits stocks and commodities, while falling growth favors bonds. Rising inflation helps commodities and inflation-protected securities, while falling inflation benefits nominal bonds and stocks.
This framework, detailed extensively in Bridgewater's research papers from the 1990s, suggests that by holding assets that perform well in each economic season, an investor can create a portfolio that remains resilient regardless of which season unfolds. The elegance lies not in predicting which season will occur, but in being prepared for all of them simultaneously.
Academic research supports this multi-environment approach. Ang and Bekaert (2002) demonstrated that regime changes in economic conditions significantly impact asset returns, while Fama and French (2004) showed that different asset classes exhibit varying sensitivities to economic factors. The All Weather Strategy essentially operationalizes these academic insights into a practical investment framework.
The Original All Weather Allocation: Simplicity Masquerading as Sophistication
The core All Weather portfolio, as implemented by Bridgewater for institutional clients and later adapted for retail investors, maintains a deceptively simple static allocation: 30% stocks, 40% long-term bonds, 15% intermediate-term bonds, 7.5% commodities, and 7.5% Treasury Inflation-Protected Securities (TIPS). This allocation may appear arbitrary to the uninitiated, but each percentage reflects careful consideration of historical volatilities, correlations, and economic sensitivities.
The 30% stock allocation provides growth exposure while limiting the portfolio's overall volatility. Stocks historically deliver superior long-term returns but with significant volatility, as evidenced by the Standard & Poor's 500 Index's average annual return of approximately 10% since 1926, accompanied by standard deviation exceeding 15% (Ibbotson Associates, 2023). By limiting stock exposure to 30%, the portfolio captures much of the equity risk premium while avoiding excessive volatility.
The combined 55% allocation to bonds (40% long-term plus 15% intermediate-term) serves as the portfolio's stabilizing force. Long-term bonds provide substantial interest rate sensitivity, performing well during economic slowdowns when central banks reduce rates. Intermediate-term bonds offer a balance between interest rate sensitivity and reduced duration risk. This bond-heavy allocation reflects Dalio's insight that bonds typically exhibit lower volatility than stocks while providing essential diversification benefits.
The 7.5% commodities allocation addresses inflation protection, as commodity prices typically rise during inflationary periods. Historical analysis by Bodie and Rosansky (1980) demonstrated that commodities provide meaningful diversification benefits and inflation hedging capabilities, though with considerable volatility. The relatively small allocation reflects commodities' high volatility and mixed long-term returns.
Finally, the 7.5% TIPS allocation provides explicit inflation protection through government-backed securities whose principal and interest payments adjust with inflation. Introduced by the U.S. Treasury in 1997, TIPS have proven effective inflation hedges, though they underperform nominal bonds during deflationary periods (Campbell & Viceira, 2001).
Historical Performance: The Evidence Speaks
Analyzing the All Weather Strategy's historical performance reveals both its strengths and limitations. Using monthly return data from 1970 to 2023, spanning over five decades of varying economic conditions, the strategy has delivered compelling risk-adjusted returns while experiencing lower volatility than traditional stock-heavy portfolios.
During this period, the All Weather allocation generated an average annual return of approximately 8.2%, compared to 10.5% for the S&P 500 Index. However, the strategy's annual volatility measured just 9.1%, substantially lower than the S&P 500's 15.8% volatility. This translated to a Sharpe ratio of 0.67 for the All Weather Strategy versus 0.54 for the S&P 500, indicating superior risk-adjusted performance.
More impressively, the strategy's maximum drawdown over this period was 12.3%, occurring during the 2008 financial crisis, compared to the S&P 500's maximum drawdown of 50.9% during the same period. This drawdown mitigation proves crucial for long-term wealth building, as Stein and DeMuth (2003) demonstrated that avoiding large losses significantly impacts compound returns over time.
The strategy performed particularly well during periods of economic stress. During the 1970s stagflation, when stocks and bonds both struggled, the All Weather portfolio's commodity and TIPS allocations provided essential protection. Similarly, during the 2000-2002 dot-com crash and the 2008 financial crisis, the portfolio's bond-heavy allocation cushioned losses while maintaining positive returns in several years when stocks declined significantly.
However, the strategy underperformed during sustained bull markets, particularly the 1990s technology boom and the 2010s post-financial crisis recovery. This underperformance reflects the strategy's conservative nature and diversified approach, which sacrifices potential upside for downside protection. As Dalio frequently emphasizes, the All Weather Strategy prioritizes "not losing money" over "making a lot of money."
Implementing the All Weather Strategy: A Practical Guide
The All Weather Strategy Indicator transforms Dalio's institutional-grade approach into an accessible tool for individual investors. The indicator provides real-time portfolio tracking, rebalancing signals, and performance analytics, eliminating much of the complexity traditionally associated with implementing sophisticated allocation strategies.
To begin implementation, investors must first determine their investable capital. As detailed analysis reveals, the All Weather Strategy requires meaningful capital to implement effectively due to transaction costs, minimum investment requirements, and the need for precise allocations across five different asset classes.
For portfolios below $50,000, the strategy becomes challenging to implement efficiently. Transaction costs consume a disproportionate share of returns, while the inability to purchase fractional shares creates allocation drift. Consider an investor with $25,000 attempting to allocate 7.5% to commodities through the iPath Bloomberg Commodity Index ETF (DJP), currently trading around $25 per share. This allocation targets $1,875, enough for only 75 shares, creating immediate tracking error.
At $50,000, implementation becomes feasible but not optimal. The 30% stock allocation ($15,000) purchases approximately 37 shares of the SPDR S&P 500 ETF (SPY) at current prices around $400 per share. The 40% long-term bond allocation ($20,000) buys 200 shares of the iShares 20+ Year Treasury Bond ETF (TLT) at approximately $100 per share. While workable, these allocations leave significant cash drag and rebalancing challenges.
The optimal minimum for individual implementation appears to be $100,000. At this level, each allocation becomes substantial enough for precise implementation while keeping transaction costs below 0.4% annually. The $30,000 stock allocation, $40,000 long-term bond allocation, $15,000 intermediate-term bond allocation, $7,500 commodity allocation, and $7,500 TIPS allocation each provide sufficient size for effective management.
For investors with $250,000 or more, the strategy implementation approaches institutional quality. Allocation precision improves, transaction costs decline as a percentage of assets, and rebalancing becomes highly efficient. These larger portfolios can also consider adding complexity through international diversification or alternative implementations.
The indicator recommends quarterly rebalancing to balance transaction costs with allocation discipline. Monthly rebalancing increases costs without substantial benefits for most investors, while annual rebalancing allows excessive drift that can meaningfully impact performance. Quarterly rebalancing, typically on the first trading day of each quarter, provides an optimal balance.
Understanding the Indicator's Functionality
The All Weather Strategy Indicator operates as a comprehensive portfolio management system, providing multiple analytical layers that professional money managers typically reserve for institutional clients. This sophisticated tool transforms Ray Dalio's institutional-grade strategy into an accessible platform for individual investors, offering features that rival professional portfolio management software.
The indicator's core architecture consists of several interconnected modules that work seamlessly together to provide complete portfolio oversight. At its foundation lies a real-time portfolio simulation engine that tracks the exact value of each ETF position based on current market prices, eliminating the need for manual calculations or external spreadsheets.
DETAILED INDICATOR COMPONENTS AND FUNCTIONS
Portfolio Configuration Module
The portfolio setup begins with the Portfolio Configuration section, which establishes the fundamental parameters for strategy implementation. The Portfolio Capital input accepts values from $1,000 to $10,000,000, accommodating everyone from beginning investors to institutional clients. This input directly drives all subsequent calculations, determining exact share quantities and portfolio values throughout the implementation period.
The Portfolio Start Date function allows users to specify when they began implementing the All Weather Strategy, creating a clear demarcation point for performance tracking. This feature proves essential for investors who want to track their actual implementation against theoretical performance, providing realistic assessment of strategy effectiveness including timing differences and implementation costs.
Rebalancing Frequency settings offer two options: Monthly and Quarterly. While monthly rebalancing provides more precise allocation control, quarterly rebalancing typically proves more cost-effective for most investors due to reduced transaction costs. The indicator automatically detects the first trading day of each period, ensuring rebalancing occurs at optimal times regardless of weekends, holidays, or market closures.
The Rebalancing Threshold parameter, adjustable from 0.5% to 10%, determines when allocation drift triggers rebalancing recommendations. Conservative settings like 1-2% maintain tight allocation control but increase trading frequency, while wider thresholds like 3-5% reduce trading costs but allow greater allocation drift. This flexibility accommodates different risk tolerances and cost structures.
Visual Display System
The Show All Weather Calculator toggle controls the main dashboard visibility, allowing users to focus on chart visualization when detailed metrics aren't needed. When enabled, this comprehensive dashboard displays current portfolio value, individual ETF allocations, target versus actual weights, rebalancing status, and performance metrics in a professionally formatted table.
Economic Environment Display provides context about current market conditions based on growth and inflation indicators. While simplified compared to Bridgewater's sophisticated regime detection, this feature helps users understand which economic "season" currently prevails and which asset classes should theoretically benefit.
Rebalancing Signals illuminate when portfolio drift exceeds user-defined thresholds, highlighting specific ETFs that require adjustment. These signals use color coding to indicate urgency: green for balanced allocations, yellow for moderate drift, and red for significant deviations requiring immediate attention.
Advanced Label System
The rebalancing label system represents one of the indicator's most innovative features, providing three distinct detail levels to accommodate different user needs and experience levels. The "None" setting displays simple symbols marking portfolio start and rebalancing events without cluttering the chart with text. This minimal approach suits experienced investors who understand the implications of each symbol.
"Basic" label mode shows essential information including portfolio values at each rebalancing point, enabling quick assessment of strategy performance over time. These labels display "START $X" for portfolio initiation and "RBL $Y" for rebalancing events, providing clear performance tracking without overwhelming detail.
"Detailed" labels provide comprehensive trading instructions including exact buy and sell quantities for each ETF. These labels might display "RBL $125,000 BUY 15 SPY SELL 25 TLT BUY 8 IEF NO TRADES DJP SELL 12 SCHP" providing complete implementation guidance. This feature essentially transforms the indicator into a personal portfolio manager, eliminating guesswork about exact trades required.
Professional Color Themes
Eight professionally designed color themes adapt the indicator's appearance to different aesthetic preferences and market analysis styles. The "Gold" theme reflects traditional wealth management aesthetics, while "EdgeTools" provides modern professional appearance. "Behavioral" uses psychologically informed colors that reinforce disciplined decision-making, while "Quant" employs high-contrast combinations favored by quantitative analysts.
"Ocean," "Fire," "Matrix," and "Arctic" themes provide distinctive visual identities for traders who prefer unique chart aesthetics. Each theme automatically adjusts for dark or light mode optimization, ensuring optimal readability across different TradingView configurations.
Real-Time Portfolio Tracking
The portfolio simulation engine continuously tracks five separate ETF positions: SPY for stocks, TLT for long-term bonds, IEF for intermediate-term bonds, DJP for commodities, and SCHP for TIPS. Each position's value updates in real-time based on current market prices, providing instant feedback about portfolio performance and allocation drift.
Current share calculations determine exact holdings based on the most recent rebalancing, while target shares reflect optimal allocation based on current portfolio value. Trade calculations show precisely how many shares to buy or sell during rebalancing, eliminating manual calculations and potential errors.
Performance Analytics Suite
The indicator's performance measurement capabilities rival professional portfolio analysis software. Sharpe ratio calculations incorporate current risk-free rates obtained from Treasury yield data, providing accurate risk-adjusted performance assessment. Volatility measurements use rolling periods to capture changing market conditions while maintaining statistical significance.
Portfolio return calculations track both absolute and relative performance, comparing the All Weather implementation against individual asset classes and benchmark indices. These metrics update continuously, providing real-time assessment of strategy effectiveness and implementation quality.
Data Quality Monitoring
Sophisticated data quality checks ensure reliable indicator operation across different market conditions and potential data interruptions. The system monitors all five ETF price feeds plus economic data sources, providing quality scores that alert users to potential data issues that might affect calculations.
When data quality degrades, the indicator automatically switches to fallback values or alternative data sources, maintaining functionality during temporary market data interruptions. This robust design ensures consistent operation even during volatile market conditions when data feeds occasionally experience disruptions.
Risk Management and Behavioral Considerations
Despite its sophisticated design, the All Weather Strategy faces behavioral challenges that have derailed countless well-intentioned investment plans. The strategy's conservative nature means it will underperform growth stocks during bull markets, potentially by substantial margins. Maintaining discipline during these periods requires understanding that the strategy optimizes for risk-adjusted returns over absolute returns.
Behavioral finance research by Kahneman and Tversky (1979) demonstrates that investors feel losses approximately twice as intensely as equivalent gains. This loss aversion creates powerful psychological pressure to abandon defensive strategies during bull markets when aggressive portfolios appear more attractive. The All Weather Strategy's bond-heavy allocation will seem overly conservative when technology stocks double in value, as occurred repeatedly during the 2010s.
Conversely, the strategy's defensive characteristics provide psychological comfort during market stress. When stocks crash 30-50%, as they periodically do, the All Weather portfolio's modest losses feel manageable rather than catastrophic. This emotional stability enables investors to maintain their investment discipline when others capitulate, often at the worst possible times.
Rebalancing discipline presents another behavioral challenge. Selling winners to buy losers contradicts natural human tendencies but remains essential for the strategy's success. When stocks have outperformed bonds for several quarters, rebalancing requires selling high-performing stock positions to purchase seemingly stagnant bond positions. This action feels counterintuitive but captures the strategy's systematic approach to risk management.
Tax considerations add complexity for taxable accounts. Frequent rebalancing generates taxable events that can erode after-tax returns, particularly for high-income investors facing elevated capital gains rates. Tax-advantaged accounts like 401(k)s and IRAs provide ideal vehicles for All Weather implementation, eliminating tax friction from rebalancing activities.
Capital Requirements and Cost Analysis
Comprehensive cost analysis reveals the capital requirements for effective All Weather implementation. Annual expenses include management fees for each ETF, transaction costs from rebalancing, and bid-ask spreads from trading less liquid securities.
ETF expense ratios vary significantly across asset classes. The SPDR S&P 500 ETF charges 0.09% annually, while the iShares 20+ Year Treasury Bond ETF charges 0.20%. The iShares 7-10 Year Treasury Bond ETF charges 0.15%, the Schwab US TIPS ETF charges 0.05%, and the iPath Bloomberg Commodity Index ETF charges 0.75%. Weighted by the All Weather allocations, total expense ratios average approximately 0.19% annually.
Transaction costs depend heavily on broker selection and account size. Premium brokers like Interactive Brokers charge $1-2 per trade, resulting in $20-40 annually for quarterly rebalancing. Discount brokers may charge higher per-trade fees but offer commission-free ETF trading for selected funds. Zero-commission brokers eliminate explicit trading costs but often impose wider bid-ask spreads that function as hidden fees.
Bid-ask spreads represent the difference between buying and selling prices for each security. Highly liquid ETFs like SPY maintain spreads of 1-2 basis points, while less liquid commodity ETFs may exhibit spreads of 5-10 basis points. These costs accumulate through rebalancing activities, typically totaling 10-15 basis points annually.
For a $100,000 portfolio, total annual costs including expense ratios, transaction fees, and spreads typically range from 0.35% to 0.45%, or $350-450 annually. These costs decline as a percentage of assets as portfolio size increases, reaching approximately 0.25% for portfolios exceeding $250,000.
Comparing costs to potential benefits reveals the strategy's value proposition. Historical analysis suggests the All Weather approach reduces portfolio volatility by 35-40% compared to stock-heavy allocations while maintaining competitive returns. This volatility reduction provides substantial value during market stress, potentially preventing behavioral mistakes that destroy long-term wealth.
Alternative Implementations and Customizations
While the original All Weather allocation provides an excellent starting point, investors may consider modifications based on personal circumstances, market conditions, or geographic considerations. International diversification represents one potential enhancement, adding exposure to developed and emerging market bonds and equities.
Geographic customization becomes important for non-US investors. European investors might replace US Treasury bonds with German Bunds or broader European government bond indices. Currency hedging decisions add complexity but may reduce volatility for investors whose spending occurs in non-dollar currencies.
Tax-location strategies optimize after-tax returns by placing tax-inefficient assets in tax-advantaged accounts while holding tax-efficient assets in taxable accounts. TIPS and commodity ETFs generate ordinary income taxed at higher rates, making them candidates for retirement account placement. Stock ETFs generate qualified dividends and long-term capital gains taxed at lower rates, making them suitable for taxable accounts.
Some investors prefer implementing the bond allocation through individual Treasury securities rather than ETFs, eliminating management fees while gaining precise maturity control. Treasury auctions provide access to new securities without bid-ask spreads, though this approach requires more sophisticated portfolio management.
Factor-based implementations replace broad market ETFs with factor-tilted alternatives. Value-tilted stock ETFs, quality-focused bond ETFs, or momentum-based commodity indices may enhance returns while maintaining the All Weather framework's diversification benefits. However, these modifications introduce additional complexity and potential tracking error.
Conclusion: Embracing the Long Game
The All Weather Strategy represents more than an investment approach; it embodies a philosophy of financial resilience that prioritizes sustainable wealth building over speculative gains. In an investment landscape increasingly dominated by algorithmic trading, meme stocks, and cryptocurrency volatility, Dalio's methodical approach offers a refreshing alternative grounded in economic theory and historical evidence.
The strategy's greatest strength lies not in its potential for extraordinary returns, but in its capacity to deliver reasonable returns across diverse economic environments while protecting capital during market stress. This characteristic becomes increasingly valuable as investors approach or enter retirement, when portfolio preservation assumes greater importance than aggressive growth.
Implementation requires discipline, adequate capital, and realistic expectations. The strategy will underperform growth-oriented approaches during bull markets while providing superior downside protection during bear markets. Investors must embrace this trade-off consciously, understanding that the strategy optimizes for long-term wealth building rather than short-term performance.
The All Weather Strategy Indicator democratizes access to institutional-quality portfolio management, providing individual investors with tools previously available only to wealthy families and institutions. By automating allocation tracking, rebalancing signals, and performance analysis, the indicator removes much of the complexity that has historically limited sophisticated strategy implementation.
For investors seeking a systematic, evidence-based approach to long-term wealth building, the All Weather Strategy provides a compelling framework. Its emphasis on diversification, risk management, and behavioral discipline aligns with the fundamental principles that have created lasting wealth throughout financial history. While the strategy may not generate headlines or inspire cocktail party conversations, it offers something more valuable: a reliable path toward financial security across all economic seasons.
As Dalio himself notes, "The biggest mistake investors make is to believe that what happened in the recent past is likely to persist, and they design their portfolios accordingly." The All Weather Strategy's enduring appeal lies in its rejection of this recency bias, instead embracing the uncertainty of markets while positioning for success regardless of which economic season unfolds.
STEP-BY-STEP INDICATOR SETUP GUIDE
Setting up the All Weather Strategy Indicator requires careful attention to each configuration parameter to ensure optimal implementation. This comprehensive setup guide walks through every setting and explains its impact on strategy performance.
Initial Setup Process
Begin by adding the indicator to your TradingView chart. Search for "Ray Dalio's All Weather Strategy" in the indicator library and apply it to any chart. The indicator operates independently of the underlying chart symbol, drawing data directly from the five required ETFs regardless of which security appears on the chart.
Portfolio Configuration Settings
Start with the Portfolio Capital input, which drives all subsequent calculations. Enter your exact investable capital, ranging from $1,000 to $10,000,000. This input determines share quantities, trade recommendations, and performance calculations. Conservative recommendations suggest minimum capitals of $50,000 for basic implementation or $100,000 for optimal precision.
Select your Portfolio Start Date carefully, as this establishes the baseline for all performance calculations. Choose the date when you actually began implementing the All Weather Strategy, not when you first learned about it. This date should reflect when you first purchased ETFs according to the target allocation, creating realistic performance tracking.
Choose your Rebalancing Frequency based on your cost structure and precision preferences. Monthly rebalancing provides tighter allocation control but increases transaction costs. Quarterly rebalancing offers the optimal balance for most investors between allocation precision and cost control. The indicator automatically detects appropriate trading days regardless of your selection.
Set the Rebalancing Threshold based on your tolerance for allocation drift and transaction costs. Conservative investors preferring tight control should use 1-2% thresholds, while cost-conscious investors may prefer 3-5% thresholds. Lower thresholds maintain more precise allocations but trigger more frequent trading.
Display Configuration Options
Enable Show All Weather Calculator to display the comprehensive dashboard containing portfolio values, allocations, and performance metrics. This dashboard provides essential information for portfolio management and should remain enabled for most users.
Show Economic Environment displays current economic regime classification based on growth and inflation indicators. While simplified compared to Bridgewater's sophisticated models, this feature provides useful context for understanding current market conditions.
Show Rebalancing Signals highlights when portfolio allocations drift beyond your threshold settings. These signals use color coding to indicate urgency levels, helping prioritize rebalancing activities.
Advanced Label Customization
Configure Show Rebalancing Labels based on your need for chart annotations. These labels mark important portfolio events and can provide valuable historical context, though they may clutter charts during extended time periods.
Select appropriate Label Detail Levels based on your experience and information needs. "None" provides minimal symbols suitable for experienced users. "Basic" shows portfolio values at key events. "Detailed" provides complete trading instructions including exact share quantities for each ETF.
Appearance Customization
Choose Color Themes based on your aesthetic preferences and trading style. "Gold" reflects traditional wealth management appearance, while "EdgeTools" provides modern professional styling. "Behavioral" uses psychologically informed colors that reinforce disciplined decision-making.
Enable Dark Mode Optimization if using TradingView's dark theme for optimal readability and contrast. This setting automatically adjusts all colors and transparency levels for the selected theme.
Set Main Line Width based on your chart resolution and visual preferences. Higher width values provide clearer allocation lines but may overwhelm smaller charts. Most users prefer width settings of 2-3 for optimal visibility.
Troubleshooting Common Setup Issues
If the indicator displays "Data not available" messages, verify that all five ETFs (SPY, TLT, IEF, DJP, SCHP) have valid price data on your selected timeframe. The indicator requires daily data availability for all components.
When rebalancing signals seem inconsistent, check your threshold settings and ensure sufficient time has passed since the last rebalancing event. The indicator only triggers signals on designated rebalancing days (first trading day of each period) when drift exceeds threshold levels.
If labels appear at unexpected chart locations, verify that your chart displays percentage values rather than price values. The indicator forces percentage formatting and 0-40% scaling for optimal allocation visualization.
COMPREHENSIVE BIBLIOGRAPHY AND FURTHER READING
PRIMARY SOURCES AND RAY DALIO WORKS
Dalio, R. (2017). Principles: Life and work. New York: Simon & Schuster.
Dalio, R. (2018). A template for understanding big debt crises. Bridgewater Associates.
Dalio, R. (2021). Principles for dealing with the changing world order: Why nations succeed and fail. New York: Simon & Schuster.
BRIDGEWATER ASSOCIATES RESEARCH PAPERS
Jensen, G., Kertesz, A. & Prince, B. (2010). All Weather strategy: Bridgewater's approach to portfolio construction. Bridgewater Associates Research.
Prince, B. (2011). An in-depth look at the investment logic behind the All Weather strategy. Bridgewater Associates Daily Observations.
Bridgewater Associates. (2015). Risk parity in the context of larger portfolio construction. Institutional Research.
ACADEMIC RESEARCH ON RISK PARITY AND PORTFOLIO CONSTRUCTION
Ang, A. & Bekaert, G. (2002). International asset allocation with regime shifts. The Review of Financial Studies, 15(4), 1137-1187.
Bodie, Z. & Rosansky, V. I. (1980). Risk and return in commodity futures. Financial Analysts Journal, 36(3), 27-39.
Campbell, J. Y. & Viceira, L. M. (2001). Who should buy long-term bonds? American Economic Review, 91(1), 99-127.
Clarke, R., De Silva, H. & Thorley, S. (2013). Risk parity, maximum diversification, and minimum variance: An analytic perspective. Journal of Portfolio Management, 39(3), 39-53.
Fama, E. F. & French, K. R. (2004). The capital asset pricing model: Theory and evidence. Journal of Economic Perspectives, 18(3), 25-46.
BEHAVIORAL FINANCE AND IMPLEMENTATION CHALLENGES
Kahneman, D. & Tversky, A. (1979). Prospect theory: An analysis of decision under risk. Econometrica, 47(2), 263-292.
Thaler, R. H. & Sunstein, C. R. (2008). Nudge: Improving decisions about health, wealth, and happiness. New Haven: Yale University Press.
Montier, J. (2007). Behavioural investing: A practitioner's guide to applying behavioural finance. Chichester: John Wiley & Sons.
MODERN PORTFOLIO THEORY AND QUANTITATIVE METHODS
Markowitz, H. (1952). Portfolio selection. The Journal of Finance, 7(1), 77-91.
Sharpe, W. F. (1964). Capital asset prices: A theory of market equilibrium under conditions of risk. The Journal of Finance, 19(3), 425-442.
Black, F. & Litterman, R. (1992). Global portfolio optimization. Financial Analysts Journal, 48(5), 28-43.
PRACTICAL IMPLEMENTATION AND ETF ANALYSIS
Gastineau, G. L. (2010). The exchange-traded funds manual. 2nd ed. Hoboken: John Wiley & Sons.
Poterba, J. M. & Shoven, J. B. (2002). Exchange-traded funds: A new investment option for taxable investors. American Economic Review, 92(2), 422-427.
Israelsen, C. L. (2005). A refinement to the Sharpe ratio and information ratio. Journal of Asset Management, 5(6), 423-427.
ECONOMIC CYCLE ANALYSIS AND ASSET CLASS RESEARCH
Ilmanen, A. (2011). Expected returns: An investor's guide to harvesting market rewards. Chichester: John Wiley & Sons.
Swensen, D. F. (2009). Pioneering portfolio management: An unconventional approach to institutional investment. Rev. ed. New York: Free Press.
Siegel, J. J. (2014). Stocks for the long run: The definitive guide to financial market returns & long-term investment strategies. 5th ed. New York: McGraw-Hill Education.
RISK MANAGEMENT AND ALTERNATIVE STRATEGIES
Taleb, N. N. (2007). The black swan: The impact of the highly improbable. New York: Random House.
Lowenstein, R. (2000). When genius failed: The rise and fall of Long-Term Capital Management. New York: Random House.
Stein, D. M. & DeMuth, P. (2003). Systematic withdrawal from retirement portfolios: The impact of asset allocation decisions on portfolio longevity. AAII Journal, 25(7), 8-12.
CONTEMPORARY DEVELOPMENTS AND FUTURE DIRECTIONS
Asness, C. S., Frazzini, A. & Pedersen, L. H. (2012). Leverage aversion and risk parity. Financial Analysts Journal, 68(1), 47-59.
Roncalli, T. (2013). Introduction to risk parity and budgeting. Boca Raton: CRC Press.
Ibbotson Associates. (2023). Stocks, bonds, bills, and inflation 2023 yearbook. Chicago: Morningstar.
PERIODICALS AND ONGOING RESEARCH
Journal of Portfolio Management - Quarterly publication featuring cutting-edge research on portfolio construction and risk management
Financial Analysts Journal - Bi-monthly publication of the CFA Institute with practical investment research
Bridgewater Associates Daily Observations - Regular market commentary and research from the creators of the All Weather Strategy
RECOMMENDED READING SEQUENCE
For investors new to the All Weather Strategy, begin with Dalio's "Principles" for philosophical foundation, then proceed to the Bridgewater research papers for technical details. Supplement with Markowitz's original portfolio theory work and behavioral finance literature from Kahneman and Tversky.
Intermediate students should focus on academic papers by Ang & Bekaert on regime shifts, Clarke et al. on risk parity methods, and Ilmanen's comprehensive analysis of expected returns across asset classes.
Advanced practitioners will benefit from Roncalli's technical treatment of risk parity mathematics, Asness et al.'s academic critique of leverage aversion, and ongoing research in the Journal of Portfolio Management.
Mxwll OptAlgoIntroducing the Mxwll OptAlgo
Mxwll OptAlgo is a sophisticated algorithmic trading tool designed to identify potential long and short signals. It leverages an optimized combination of the M-Swift average, M-Smooth average, and M-RSI to fine-tune custom lengths and improve signal accuracy. The Mxwll OptAlgo provides long and short signals across various trading assets and timeframes. Additionally, it features optimized Take Profit (TP) and Stop Loss (SL) settings to help traders manage risk.
Key Features
Step-by-Step Complete Optimization: A systematic approach to optimize trading parameters.
Buy/Sell Signals: Clear indicators for long and short positions.
Easy to Use: User-friendly interface for seamless trading.
Predictive counter trend channels
Integrated trend following system and counter trend trading system
3-optimized strategies working cooperatively
Alerts and auto trading capabilities
How It Works
The Mxwll OptAlgo is comprised of three strategies:
Trend following using the OptAlgo
AI Reversal counter trend trading
Market crash shorting
Mxwll OptAlgo can be used for market analysis and trading similarly to any moving average.
The Mxwll OptAlgo MA is composed of two distinct moving averages to be used for trend following strategies.
M-Swift Average: The M-Swift Average accounts for volume and weights current price movement heavier than older price movement - allowing for improved responsiveness to current price movement. Volume is additionally weighted to the average to determine the significance of the price move and the resulting response of the M-Swift average. The M-Swift average consists of an HVWMA with OBV weighting. The HVWMA is used to create a moving average that adapts to volume, attempting to respond to significant price moves with high volume quicker and significant price moves with low volume slower - which might not be indicative of the start of a strong trend. To further reduce the M-Swift average’s responsiveness to weak volume price moves, the average is weighted with a normalized OBV. With this, the M-Swift moving average uses these two indicators to create a responsive moving average to significant price moves with high volume.
M-Smooth Average: The M-Smooth average consists of a McGinley average.
The McGinley Average is designed to address some of the limitations of traditional moving averages, such as the Simple Moving Average (SMA) or Exponential Moving Average (EMA), by reducing their lag and more accurately reflecting the market's true movements, especially during periods of volatility.
The McGinley Dynamic automatically adjusts its smoothing factor based on market speed. This means it responds more quickly to fast-moving markets and slows down during periods of consolidation, reducing the likelihood of false signals.
Unlike traditional moving averages that have a fixed period and can lag significantly behind fast-moving prices, the McGinley Dynamic adjusts dynamically, which helps to reduce lag and keeps the moving average closer to the price action.
The M-Smooth average uses bar low prices as a series during an uptrend - bar high prices as a series during a downtrend. A cross above the M-Smooth average indicates an uptrend, while a cross below the M-Smooth average indicates a downtrend. When this cross event occurs the M-Smooth average will “flip” from calculating on lows to highs, or highs to lows, contingent on the direction of the trend. The expectation is that a cross event of the M-Smooth average requires a substantial price move and, subsequent to this cross, price will continue to trend in the direction of the cross.
OptAlgo: The OptAlgo is simply the average of the M-Swift average and the M-smooth average.
By combining the M-Swift average and the M-Smooth average, the final output results in an average that slows during ranging markets and quickly adjusts to high volume breakouts and high volume reversals that initiate a trend. Due to the combination, the average will keep up quickly with a trend but remain at an appropriate distance from the current price - requiring a significant counter trend price move to change the direction of the OptAlgo average.
How does the OptAlgo follow trends?
The OptAlgo, comprising the two moving averages above, considers a cross event of the OptAlgo as a change in trend indication. The OptAlgo can be thought of as a moving average that significantly deviates from price. For price to cross the OptAlgo, a substantial price move must occur, and this event is treated as a "strong trend" or "new trend" indication.
M-RSI: The M-RSI is a fundamental component of the trend following strategy. Prior to a trend following “long” or “short” signal, the M-RSI must generate a signal in confluence with an OptAlgo cross event. When price crosses over the opt algo its color will change to green, indicating an uptrend. A buy signal will generate should the M-RSI provide a similar indication. The M-RSI portion of the trend following strategy is explained below. When price crosses under the opt algo its color will change to green, indicating a downtrend, and a sell signal becomes eligible. The foundational logic for using the Opt Algo as a trend following strategy is to treat crossovers/crossunders of the Opt Algo as strong trend indications, and trade them.
Steps to generate a trend following long signal:
1: M-RSI extends into oversold territory
2: Price crosses over the OptAlgo
Steps to generate a trend following short signal:
1: M-RSI extends into overbought territory
2: Price crosses under the OptAlgo
Our trend following strategy considers crossovers/crossunders at key market turning points as buy/sell opportunities. This strategy integrates the Mxwll RSI and Mxwll OptAlgo MA to determine entry points in anticipation of trend continuation.
The Mxwll RSI must move below/above the optimized OB/OS level prior to a cross event for a long/short signal to be considered. Entry points for this strategy are marked as "Long" or "Short".
At its core, the OptAlgo trend following strategy tries to enter a trend as close to the origin point as possible. As with any trend following strategy, price may not continue to move in the expected direction following entry, resulting in a losing trade.
AI Reversal Predictions
Our AI reversals strategy uses AI suggested turning points to capitalize on price reversions back towards the OptAlgo. These levels are considered by the AI on the selected days, and entry points at these levels are marked as "LLO" or "SLO".
How AI reversals work
Our AI reversals strategy attempts to trade price reversions back toward the Opt Algo.
These levels are calculated on specific days of the week, but can be traded any day. The internal algorithm determines which HTF highs/lows are most likely to function as tradable support/resistance levels. For instance, if Friday consists of heavy trading activity and high/low prices are tracked/recorded as causing significant support / resistance when tested in the future, the algorithm will consider support and resistance levels created on Friday as future tradable levels.
Additionally, if support/resistance levels created on Wednesday are recorded as weak or unpredictable when traded at in the future, the algorithm will not consider support/resistance levels generated on Thursday as tradable, and will not generate long or shit signals for these levels.
In the background, the AI reversals strategy is tracking success rates at multiple support and resistance levels. The best performers, if there are any, will be considered tradable. A “best performer” is calculated as the raw price move up to a threshold (i.e. 0.5%) that occurs subsequent to a test of the level.
Crash Short
The "Crash Short" strategy prioritizes short positions during retracements of a sell off. A simple yet effective strategy.
How Crash Short Works
The Crash Short strategy uses a customized momentum indicator (similar to ROC, MOM, etc.) to identify strong downside price moves. When our customized momentum indicator gives strong sell indications, the RSI is then referenced to identify an upside retracement. When the RSI exceeds a user-inputted level, a “Crash Short” signal is generated.
What is the customized momentum indicator?
The customized momentum indicator is the RoCR (Rate of Change Ratio). Instead of classic ROC, which is close - close , the RoCR divides the current close by a previous close. This formula creates a ratio that is more normalized than a simple price difference. This ratio is used to determine upside/downside momentum, with values greater than 1 indicating bullish momentum and values less than 1 indicating bearish momentum. The RoCR looks for deviating values to the downside (less than 1) to identify strong selling. From there, once the RSI crosses over an optimized level (such as 35), the indicator will print a sell signal titled "Crash Short".
Predictive Countertrend Channels
Our Predictive Countertrend Channel applies a two-stage recursive filter to smooth data using exponential decay and periodic adjustments for trend extraction. Our counter trend channels aren't directly used for signal processing; however, these channels provide useful visual cues for extended market moves.
Instructions for Optimization
Step 1: Optimize Mxwll OptAlgo
Begin by optimizing the M-Swift and M-Smooth averages for better signal accuracy.
This step simply finds better performing M-Swift and M-Smooth lookbacks. Again, if the strategy is unprofitable you will be notified and from there decide not to use the strategy.
Step 2: Optimize Mxwll RSI
Refine the Mxwll RSI settings to explore potential adjustments in smoothness and signal output. This step aims to evaluate whether these adjustments could improve the accuracy of the signals generated by Mxwll OptAlgo, while being mindful of any potential impacts.
Step 3: Optimize TP/SL
Consider adjusting the Take Profit and Stop Loss settings to potentially manage risk.
Step 4: Optimize Bars Between Trades
Set the number of bars between trades to regulate the frequency of trade executions. This adjustment may help in reducing the risk of overtrading and support a more disciplined trading strategy.
Step 5: Optimize Trade Flip
Adjust the trade flip parameters to potentially improve the management of transitions between long and short positions. This adjustment is intended to help achieve smoother trade executions, though outcomes may vary.
Step 6: Optimize RSI OB/OB Levels
Consider adjusting the overbought (OB) and oversold (OS) RSI levels to explore potential improvements in signal sensitivity. Careful calibration of these levels may help refine the accuracy of trend reversal signals, although results may depend on market conditions.
Finished!
From this point, consider setting alerts to make the most of the Mxwll Opt Algo's potential accuracy.
The effectiveness of the Opt Algo signal output can be evaluated using the "PF" table, which indicates the profit factor score for the strategy. A profit factor (PF) of less than or equal to 1 suggests that the strategy may not be profitable.
Disclaimer
No strategy works on any timeframe on any asset, so, if the Opt Algo underperforms for the asset/timeframe you're analyzing, the Opt Algo PF table lets you know it hasn't been generating accurate signals, in which case you can decide not to use it!
Optimization Disclaimer
Optimization can be tricky. It's helpful to test numerous strategies in aggregate to see if a strategy has potential. Despite this, optimization can cause overfitting. Overfitting occurs when a strategy is too closely fit to the data it's trading. Overfit backtests are deceptively phenomenal. While the historical performance looks great, the future expectancy of the strategy remains unpredictable - an overfit strategy will profit from periods of random price movement which, being random, are irreproducible and cannot be profited from other than their initial occurrence. When a strategy trades random price movement profitably, any and all profit earned can be reduced to chance. Keep this in mind when using the in-built optimization system. Optimization should be kept to a minimum, a tool to point you in the right direction, whether confirming potential or signifying a useless system.
VARGAS"VARGAS" is an indicator that can be used in all timeframes on charts in the stock, crypto, and commodity markets. It allows trades to be opened according to the intersections of moving averages in different time periods.
It is an indicator using weighted moving averages. Using a weighted moving average has the following benefits for traders:
1) Precision and Smoothness: The WMA typically gives more weight to recent prices and therefore reacts faster to more recent data. This helps you catch price movements faster and recognize trend changes faster. On the other hand, the WMA is smoother than the simple moving average (SMA), which makes it less likely to generate false signals.
2) Trend Identification: The WMA is used to identify and analyze price trends. It is especially important for traders who want to track short-term movements. The WMA is used to assess the direction and strength of the trend.
3) Trading Signals: The WMA is used as part of various trading strategies. It is especially used in moving average crossover strategies. For example, a short-term WMA crossing the long-term WMA to the upside can be considered a buy signal, while a reversal can be interpreted as a sell signal.
4) Adaptability to Volatility: WMA can adapt to volatility by changing weighting factors. Investors can adopt a more flexible approach by assigning different weights based on market conditions and asset classes.
5) Data Correction: WMA can be helpful in reducing data noise. A single large price fluctuation can cause the SMA to be more affected, while the WMA reduces the impact of these fluctuations.
In our VARGAS coding, the intersection times of the 9-day and 15-day weighted moving averages allow us to decide the direction of the trend. The green and red cloud areas following the price candles make the strategy easy for the user to follow.
At the intersection between the 9-day weighted moving average and the 15-day weighted moving average, we can use buy and sell signals as follows:
If the 9-day weighted moving average crosses the 15-day weighted moving average upwards, buy,
Sell if the 9-day weighted moving average crosses the 15-day weighted moving average downwards.
Within the scope of this strategy, GOLDEN CROSS and DEATH CROSS intersections, which guide us for trend changes, are also included in the coding. Thus, it is aimed to add strength to our WMA 9 and WMA 15 intersection strategy as an idea.
VARGAS indicator gives better results for longer periods of 4 hours and above. As the time period increases, the probability of correct results will increase.
**
"VARGAS" hisse senedi, kripto, ve emtia piyasalarındaki grafiklerde her türlü zaman diliminde kullanılabilen bir indikatördür. Farklı zaman periyotlarındaki hareketli ortalamaların kesişimlerine göre işlem açılmasını sağlar.
Ağırlıklı hareketli ortalamalar kullanılarak hazırlanmış bir göstergedir. Ağırlıklı hareketli ortalama kullanmanın yatırımcılara aşağıdaki gibi faydaları bulunmaktadır:
1) Duyarlılık ve Pürüzsüzlük: WMA, tipik olarak son dönem fiyatlarına daha fazla ağırlık verir ve bu nedenle daha güncel verilere daha hızlı tepki verir. Bu, fiyat hareketlerini daha hızlı yakalamanıza ve daha hızlı trend değişikliklerini tanımanıza yardımcı olur. Diğer yandan, WMA, basit hareketli ortalamaya (SMA) göre daha pürüzsüzdür, bu da yanlış sinyal üretme olasılığını azaltır.
2) Trend Belirleme: WMA, fiyat trendlerini belirlemek ve analiz etmek için kullanılır. Özellikle kısa vadeli hareketleri izlemek isteyen yatırımcılar için önemlidir. WMA, trendin yönünü ve gücünü değerlendirmek için kullanılır.
3) Ticaret Sinyalleri: WMA, çeşitli ticaret stratejilerinin bir parçası olarak kullanılır. Özellikle hareketli ortalama crossover stratejilerinde kullanılır. Örneğin, kısa vadeli WMA'nın uzun vadeli WMA'yı yukarı yönlü kesmesi bir alım sinyali olarak kabul edilebilir, tersine dönmesi ise bir satış sinyali olarak yorumlanabilir.
4) Volatiliteye Uyarlanabilirlik: WMA, ağırlıklandırma faktörlerini değiştirerek volatiliteye uyum sağlayabilir. Yatırımcılar, piyasa koşullarına ve varlık sınıflarına göre farklı ağırlıklar atayarak daha esnek bir yaklaşım benimseyebilirler.
5) Veri Düzeltme: WMA, veri gürültüsünü azaltmada yardımcı olabilir. Tek bir büyük fiyat dalgalanması, SMA'nın daha fazla etkilenmesine neden olabilirken, WMA bu dalgalanmaların etkisini azaltır.
VARGAS isimli kodlamamızda ise 9 günlük ve 15 günlük ağırlıklı hareketli ortalamaların kesişme zamanları trendin yönüne karar vermemizi sağlar. Fiyat mumlarını takip eden yeşil ve kırmızı bulut alanları stratejinin kullanıcı tarafından kolaylıkla takip edilmesini sağlamaktadır.
9 Günlük Ağırlıklı hareketli ortalama, 15 Günlük Ağırlıklı hareketli ortalama arasındaki kesişimde al ve sat sinyallerini şu şekilde kullanabiliriz:
Eğer 9 günlük ağırlıklı hareketli ortalama 15 günlük ağırlıklı hareketli ortalamayı yukarı doğru kesiyorsa al,
Eğer 9 günlük ağırlıklı hareketli ortalama, 15 günlük ağırlıklı hareketli ortalamayı aşağı doğru keserse sat.
Bu strateji kapsamında trend değişimleri için bizlere yön veren GOLDEN CROSS ve DEATH CROSS kesişimleri de kodlamanın içerisinde dahil edilmiştir. Böylelikle WMA 9 ve WMA 15 kesişim stratejimize fikir olarak güç katması hedeflenmiştir.
VARGAS indikatörü 4 saat ve üzeri daha uzun periyotlarda daha iyi sonuçlar vermektedir. Zaman periyodu büyüdükçe doğru sonuç verme olasılığı artacaktır.
Multi-Leg Option Combined PremiumMulti-Leg Option Combined Premium Indicator
Overview
The Multi-Leg Option Combined Premium Indicator is a powerful and versatile tool designed for options traders to analyze and visualize multi-leg option strategies on Indian indices (NIFTY, BANKNIFTY, SENSEX). This TradingView Pine Script (v6) indicator calculates the combined premium of up to four option legs, displays the strategy in a customizable table, and overlays user-selected technical indicators (e.g., SMA, RSI, MACD) to aid in decision-making. Whether you're trading straddles, strangles, or complex strategies like Iron Condors, this indicator streamlines premium tracking and trend analysis, making it ideal for both novice and experienced traders.
Key Features
Multi-Leg Strategy Support:
Choose from 19 predefined option strategies, including Long Straddle, Short Strangle, Iron Condor, Bull Call Spread, and more, or create a custom strategy with up to four legs.
Configure each leg with specific expiry dates, strike prices, option types (Call/Put), and positions (Long/Short) with adjustable quantities.
Automatically calculates the combined premium, accounting for the direction (long/short) and quantity of each leg.
Index-Specific Customization:
Supports three major Indian indices: NIFTY, BANKNIFTY, and SENSEX.
Index-specific expiry dates:
NIFTY: Weekly (Tuesdays) and monthly (last Tuesday) expiries (e.g., 09-Sep-2025 to 04-Nov-2025).
BANKNIFTY: Monthly (last Wednesday) expiries (e.g., 25-Sep-2025 to 29-May-2026).
SENSEX: Weekly (Fridays) and monthly (last Friday) expiries (e.g., 11-Sep-2025 to 06-Nov-2025).
Adjustable ATM strike levels and strike width multipliers for precise strategy setup.
Technical Indicator Overlay:
Overlay one of 10 popular technical indicators on the combined premium chart: SMA, EMA, RSI, MACD, Bollinger Bands, ATR, Stochastic, Williams %R, CCI, or ADX.
Customize indicator parameters (e.g., RSI length, MACD fast/slow lengths) to align with your trading style.
Visual cues: Combined premium is color-coded (red/green/blue for credits, red/green/orange for debits) based on its position relative to the selected indicator.
Dynamic Table Display:
Displays a detailed table summarizing the strategy, including:
Instrument (NIFTY/BSX), expiry, option type, strike, position, premium, and quantity per leg.
Net position (Credit/Debit) and total combined premium.
Customizable table size (tiny, small, normal) and position (e.g., top-right, bottom-left).
Option to toggle P&L info (quantity column) for clarity.
Alert Integration:
Built-in alert functionality to log strategy details (timestamp, index, strategy, premium, indicator value, credit/debit status) to external services like Google Sheets via webhooks.
Example: Trigger alerts at specific times (e.g., 9:30 AM on 05-Sep-2025) or on new bars for real-time tracking.
Visual Feedback:
Plots the combined premium with dynamic coloring to reflect market conditions.
Indicator-specific visuals (e.g., Bollinger Bands upper/lower lines, RSI overbought/oversold levels, MACD signal line).
Background coloring to indicate net credit (blue) or debit (orange) strategies.
How It Works
Select an Index: Choose NIFTY, BANKNIFTY, or SENSEX to load index-specific prefixes (NSE:/BSE:) and expiry dates.
Choose a Strategy: Select a predefined strategy (e.g., Long Straddle, Iron Condor) or configure a custom strategy with up to four legs.
Set Parameters: Adjust ATM strike, strike width multiplier, and expiry dates. For custom strategies, specify each leg’s expiry, type, strike, position, and quantity.
Apply Technical Indicators: Pick an indicator (e.g., RSI, MACD) and customize its settings to analyze the combined premium’s trend.
View Results: The indicator calculates the combined premium, displays it in a table, and plots it with the selected indicator. Alerts can send data to external services for logging.
Analyze and Trade: Use the premium plot and indicator signals to make informed trading decisions, with the table providing a clear overview of your strategy.
Benefits
Time-Saving: Automates premium calculations for complex multi-leg strategies, reducing manual effort.
Flexible: Supports a wide range of strategies and indices, with customizable inputs for tailored analysis.
Visual Clarity: Combines premium data with technical indicators in an easy-to-read chart and table format.
Actionable Insights: Color-coded plots and alerts help traders identify trends and track performance.
External Logging: Seamlessly integrates with webhooks for real-time data logging to tools like Google Sheets.
Usage Instructions
Add to Chart: Apply the indicator to a TradingView chart for NIFTY, BANKNIFTY, or SENSEX.
Configure Inputs:
Select the index and strategy from the dropdowns.
Adjust ATM strike, strike width, and expiry dates as needed.
Choose a technical indicator and tweak its parameters.
Set table preferences (size, position, P&L info).
Set Up Alerts (Optional):
Create a TradingView alert with a webhook URL pointing to a service like Pabbly Connect or Zapier.
Use the alert’s JSON output to log data to Google Sheets (e.g., timestamp, strategy, premium).
Interpret Results:
Monitor the premium plot (colored based on trend relative to the indicator).
Review the table for leg details and net position.
Use alerts to track strategy performance externally.
Ideal For
Options Traders: Perfect for traders focusing on Indian indices, seeking to analyze multi-leg strategies like straddles, spreads, or condors.
Technical Analysts: Combines option premiums with technical indicators for trend-based trading decisions.
Portfolio Managers: Useful for tracking premium changes and logging performance for later analysis.
Notes
Data Requirements: Ensure your TradingView account has access to real-time data for NIFTY, BANKNIFTY, or SENSEX options. Invalid symbols may return na values.
Alerts: Webhook setup requires a third-party service (e.g., Pabbly Connect, Zapier) to log data to Google Sheets. Refer to the included guide for setup details.
Performance: Best used on timeframes aligned with option expiries (e.g., daily or intraday).
Disclaimer: This indicator is for educational purposes only and does not constitute financial advice. Always conduct your own analysis before trading.
Support
For setup assistance, bug reports, or feature requests, contact the developer via . Premium subscribers receive priority support and access to exclusive features like webhook setup guides.
Autoback Grid Lab [trade_lexx]Autoback Grid Lab: Your personal laboratory for optimizing grid strategies.
Introduction
First of all, it is important to understand that Autoback Grid Lab is a powerful professional tool for backtesting and optimization, created specifically for traders using both grid strategies and regular take profit with stop loss.
The main purpose of this script is to save you weeks and months of manual testing and parameter selection. Instead of manually testing one combination of settings after another, Autoback Grid Lab automatically tests thousands of unique strategies on historical data, providing you with a comprehensive report on the most profitable and, more importantly, sustainable ones.
If you want to find mathematically sound, most effective settings for your grid strategy on a specific asset and timeframe, then this tool was created for you.
Key Features
My tool has functionality that transforms the process of finding the perfect strategy from a routine into an exciting exploration.
🧪 Mass testing of thousands of combinations
The script is able to systematically generate and run a huge number of unique combinations of parameters through the built-in simulator. You set the ranges, and the indicator does all the work, testing all possible options for the following grid settings:
* Number of safety orders (SO Count)
* Grid step (SO Step)
* Step Multiplier (SO Multiplier) for building nonlinear grids
* Martingale for controlling the volume of subsequent orders
* Take Profit (%)
* Stop Loss (%), with the possibility of calculating both from the entry point and from the dynamic breakeven line
* The volume of the base order (Volume BO) as a percentage of the deposit
🏆 Unique `FinalScore` rating system
Sorting strategies by net profit alone is a direct path to self—deception and choosing strategies that are "tailored" to history and will inevitably fail in real trading. To solve this problem, we have developed FinalScore, a comprehensive assessment of the sustainability and quality of the strategy.
How does it work?
FinalScore analyzes each combination not one by one, but by nine key performance metrics at once, including Net Profit, Drawdown, Profit Factor, WinRate, Sharpe coefficients, Sortino, Squid and Omega. Each of these indicators is normalized, that is, reduced to a single scale. Then, to test the strategy for strength, the system performs 30 iterations, each time assigning random weights to these 9 metrics. A strategy gets a high FinalScore only if it shows consistently high results under different evaluation criteria. This proves her reliability and reduces the likelihood that her success was an accident.
📈 Realistic backtesting engine
The test results are meaningless if they do not take into account the actual trading conditions. Our simulator simulates real trading as accurately as possible, taking into account:
* Leverage: Calculation of the required margin to open and hold positions.
* Commission: A percentage commission is charged each time an order is opened and closed.
* Slippage: The order execution price is adjusted by a set percentage to simulate real market conditions.
* Liquidation model: This is one of the most important functions. The script continuously monitors the equity of the account (capital + unrealized P&L). If equity falls below the level of the supporting margin (calculated from the current value of the position), the simulator forcibly closes the position, as it would happen on a real exchange. This eliminates unrealistic scenarios where the strategy survives after a huge drawdown.
🔌 Integration with external signals
The indicator operates in two modes:
1. `No Signal': Standard mode. The trading cycle starts immediately as soon as the previous one has been closed. Ideal for testing the "pure" mechanics of the grid.
2. `External Signal`: In this mode, a new trading cycle will start only when a signal is received from an external source. You can connect any other indicator (such as the RSI, MACD, or your own strategy) to the script and use it as a trigger to log in. This allows you to combine the power of a grid strategy with your own entry points.
📊 Interactive and informative results panel
Upon completion of the calculations, a detailed table with the TOP N best strategies appears on the screen, sorted according to your chosen criterion. For each strategy in the rating, you will see not only the key metrics (Profit, Drawdown, duration of transactions), but also all the parameters that led to this result. You can immediately take these settings and apply them in your trading.
Application Options: How To Solve Your Problems
Autoback Grid Lab is a flexible tool that can be adapted to solve various tasks, from complete grid optimization to fine—tuning existing strategies. Here are some key scenarios for its use:
1. Complete Optimization Of The Grid Strategy
This is the basic and most powerful mode of use. You can find the most efficient grid configuration for any asset from scratch.
* How to use: Set wide ranges for all key grid parameters ('SO Count`, SO Step, SO Multiplier, Martingale, TP, etc.).
* In the `No Signal` mode: You will find the most stable grid configuration that works as an independent, constantly active strategy, regardless of which-or entrance indicators.
* In the `External Signal` mode: You can connect your favorite indicator for input (for example, RSI, MACD or a complex author's script) and find the optimal grid parameters that best complement your input signals. This allows you to turn a simple signaling strategy into a full-fledged grid system.
2. Selecting the Optimal Take Profit and Stop Loss for Your Strategy
Do you already have an entry strategy, but you are not sure where it is best to put Take Profit and Stop Loss? Autoback Grid Lab can solve this problem as well.
* How to use:
1. Disable optimization of all grid parameters (uncheck SO Count, SO Step, Martingale, etc.). Set the Min value for SO Count to 0.
2. Set the ranges for iteration only for 'Take Profit` and `Stop Loss'.
3. Turn on the External Signal mode and connect your indicator with input signals.
* Result: The script will run your historical entry signals with hundreds of different TP and SL combinations and show you which stop order levels bring maximum profit with minimal risk specifically for your entry points.
3. Building a Secure Network with Risk Management
Many traders are afraid of grid strategies because of the risk of large drawdowns. With the help of the optimizer, you can purposefully find the parameters for such a grid, which includes mandatory risk management through Stop Loss.
* How to use: Enable and set the range for Stop Loss, along with other grid parameters. Don't forget to test both types of SL calculations (`From entry point` and `From breakeven line`) to determine which one works more efficiently.
* Result: You will find balanced strategies in which the grid parameters (number of orders, martingale) and the Stop Loss level are selected in such a way as to maximize profits without going beyond the acceptable risk level for you.
How To Use The Indicator (Step-By-Step Guide)
Working with the Autoback Grid Lab is a sequential process consisting of four main steps: from initial setup to analysis of the finished results. Follow this guide to get the most out of the tool.
Step 1: Initial Setup
1. Add the indicator to the chart of your chosen asset and timeframe.
2. Open the script settings. The first thing you should pay attention to is the ⚙️ Optimization Settings ⚙️ group.
3. Set the `Bars Count'. This parameter determines how much historical data will be used for testing.
* Important: The more bars you specify, the more statistically reliable the backtest results will be. We recommend using the maximum available value (25,000) to test strategies at different market phases.
* Consider: The indicator performs all calculations on the last historical bar. After applying the TradingView settings, it will take some time to load all the specified bars. The results table will appear only after the data is fully loaded. Don't worry if it doesn't appear instantly. And if an error occurs, simply switch the number of combinations to 990 and back to 1000 until the table appears.
Step 2: Optimization Configuration
At this stage, you define the "universe" of parameters that our algorithm will explore.
1. Set the search ranges (🛠 Optimization Parameters 🛠 group).
For each grid parameter that you want to optimize (for example, SO Count or `Take Profit'), you must specify three values:
* Min: The minimum value of the range.
* Max: The maximum value of the range.
* Step: The step with which the values from Min to Max will be traversed.
*Example:* If you set Min=5, Max=10, and Step=1 for SO Count, the script will test strategies with 5, 6, 7, 8, 9, and 10 safety orders.
* Tip for users: To get the first results quickly, start with a larger step (for example, TP from 0.5% to 2.5% in 0.5 increments instead of 0.1). After you identify the most promising areas, you can perform a deeper analysis by expanding the ranges around these values.
2. Set Up Money Management (Group `💰 Money Management Settings 💰`).
Fill in these fields with the values that best match your actual trading conditions. This is critically important for obtaining reliable results.
* Capital: Your initial deposit.
* Leverage: Leverage.
* Commission (%): Your trading commission as a percentage.
* Slippage (%): Expected slippage.
* Liquidation Level (%): The level of the supporting margin (MMR in %). For example, for Binance Futures, this value is usually between 0.4% and 2.5%, depending on the asset and position size. Specify this value for your exchange.
3. Select the Sorting Criterion and the Direction (Group `⚙️ Optimization Settings ⚙️').
* `Sort by': Specify the main criteria by which the best strategies will be selected and sorted. I strongly recommend using finalScore to find the most balanced and sustainable strategies.
* `Direction': Choose which trades to test: Long, Short or Both.
Step 3: Start Testing and Work with "Parts"
The total number of unique combinations generated based on your ranges can reach tens of millions. TradingView has technical limitations on the number of calculations that the script can perform at a time. To get around this, I implemented a "Parts" system.
1. What are `Part` and `Combinations in Part'?
* `Combinations in Part': This is the number of backtests that the script performs in one run (1000 by default).
* `Part`: This is the number of the "portion" of combinations that you want to test.
2. How does it work in practice?
* After you have everything set up, leave Part:1 and wait for the results table to appear. You will see the TOP N best strategies from the first thousand tested.
* Analyze them. Then, to check the next thousand combinations, just change the Part to 2 in the settings and click OK. The script will run a test for the next batch.
* Repeat this process by increasing the Part number (`3`, 4, 5...), until you reach the last available part.
* Where can I see the total number of parts? In the information row below the results table, you will find Total parts. This will help you figure out how many more tests are left to run.
Step 4: Analyze the Results in the Table
The results table is your main decision—making tool. It displays the best strategies found, sorted by the criteria you have chosen.
1. Study the performance metrics:
* Rating: Position in the rating.
* Profit %: Net profit as a percentage of the initial capital.
* Drawdown%: The maximum drawdown of the deposit for the entire test period.
* Max Length: The maximum duration of one transaction in days, hours and minutes.
* Trades: The total number of completed trades.
2. Examine the winning parameters:
* To the right of the performance metrics are columns showing the exact settings that led to this result ('SO Count`, SO Step, TP (%), etc.).
3. How to choose the best strategy?
* Don't chase after the maximum profit! The strategy with the highest profit often has the highest drawdown, which makes it extremely risky.
* Seek a balance. The ideal strategy is a compromise between high profitability, low drawdown (Drawdown) and the maximum length of trades acceptable to you (Max Length).
* finalScore was created to find this balance. Trust him — he often highlights not the most profitable, but the most stable and reliable options.
Detailed Description Of The Settings
This section serves as a complete reference for each parameter available in the script settings. The parameters are grouped in the same way as in the indicator interface for your convenience.
Group: ⚙️ Optimization Settings ⚙️
The main parameters governing the testing process are collected here.
* `Enable Optimizer': The main switch. Activates or deactivates all backtesting functionality.
* `Direction': Determines which way trades will be opened during the simulation.
* Long: Shopping only.
* Short: Sales only.
* Both: Testing in both directions. Important: This mode only works in conjunction with an External Signal, as the script needs an external signal to determine the direction for each specific transaction.
* `Signal Mode`: Controls the conditions for starting a new trading cycle (opening a base order).
* No Signal: A new cycle starts immediately after the previous one is completed. This mode is used to test "pure" grid mechanics without reference to market conditions.
* External Signal: A new cycle begins only when a signal is received from an external indicator connected via the Signal field.
* `Signal': A field for connecting an external signal source (works only in the `External Signal` mode). You can select any other indicator on the chart.
* For Long** trades, the signal is considered received if the value of the external indicator ** is greater than 0.
* For Short** trades, the signal is considered received if the value of the external indicator ** is less than 0.
* `Bars Count': Sets the depth of the history in the bars for the backtest. The maximum value (25000) provides the most reliable results.
* `Sort by`: A key criterion for selecting and ranking the best strategies in the final table.
* FinalScore: Recommended mode. A comprehensive assessment that takes into account 9 metrics to find the most balanced and sustainable strategies.
* Profit: Sort by net profit.
* Drawdown: Sort by minimum drawdown.
* Max Length: Sort by the minimum length of the longest transaction.
* `Combinations Count': Indicates how many of the best strategies (from 1 to 50) will be displayed in the results table.
* `Close last trade`: If this option is enabled, any active trade will be forcibly closed at the closing price of the last historical bar. For grid strategies, it is recommended to always enable this option in order to get the correct calculation of the final profit and eliminate grid strategies that have been stuck for a long time.
Group: 💰 Money Management Settings 💰
The parameters in this group determine the financial conditions of the simulation. Specify values that are as close as possible to your actual values in order to get reliable results.
* `Capital': The initial deposit amount for the simulation.
* `Leverage`: The leverage used to calculate the margin.
* `Slippage` (%): Simulates the difference between the expected and actual order execution price. The specified percentage will be applied to each transaction.
* `Commission` (%): The trading commission of your exchange as a percentage. It is charged at the execution of each order (both at opening and closing).
* `Liquidation Level' (%): Maintenance Margin Ratio. This is a critical parameter for a realistic test. Liquidation in the simulator occurs if the Equity of the account (Capital + Unrealized P&L) falls below the level of the supporting margin.
Group: 🛠 Optimization Parameters 🛠
This is the "heart" of the optimizer, where you set ranges for iterating through the grid parameters.
* `Part`: The portion number of the combinations to be tested. Start with 1, and then increment (`2`, 3, ...) sequentially to check all generated strategies.
* `Combinations in Part': The number of backtests performed at a time (in one "Part"). Increasing the value may speed up the process, but it may cause the script to error due to platform limitations. If an error occurs, it is recommended to switch to the step below and back.
Three fields are available for each of the following parameters (`SO Count`, SO Step, SO Multiplier, etc.):
* `Min`: Minimum value for testing.
* `Max': The maximum value for testing.
* `Step`: The step with which the values in the range from Min to Max will be iterated over.
There is also a checkbox for each parameter. If it is enabled, the parameter will be optimized in the specified range. If disabled, only one value specified in the Min field will be used for all tests.
* 'Stop Loss': In addition to the standard settings Min, Max, Step, it has an additional parameter:
* `Type`: Defines how the stop loss price is calculated.
* From entry point: The SL level is calculated once from the entry price (base order price).
* From breakeven line: The SL level is dynamically recalculated from the average position price after each new safety order is executed.
Group: ⚡️Filters⚡️
Filters allow you to filter out those results from the final table that do not meet your minimum requirements.
For each filter (`Max Profit`, Min Drawdown, `Min Trade Length`), you can:
1. Turn it on or off using the checkbox.
2. Select the comparison condition: Greater (More) or Less (Less).
3. Set a threshold value.
*Example:* If you set Less and 20 for the Min Drawdown filter, only those strategies with a maximum drawdown of less than 20% will be included in the final table.
Group: 🎨 Visual Settings 🎨
Here you can customize the appearance of the results table.
* `Position': Selects the position of the table on the screen (for example, Bottom Left — bottom left).
* `Font Size': The size of the text in the table.
* `Header Background / Data Background`: Background colors for the header and data cells.
* `Header Font Color / Data Font Color`: Text colors for the header and data cells.
Important Notes and Limitations
So that you can use the Autoback Grid Lab as efficiently and consciously as possible, please familiarize yourself with the following key features of its work.
1. It is a Tool for Analysis, not for Signals
It is extremely important to understand that this script does not generate trading signals in real time. Its sole purpose is to conduct in—depth research (**backtesting**) on historical data.
* The results you see in the table are a report on how a particular strategy would have worked in the past.
* The script does not provide alerts and does not draw entry/exit points on the chart for the current market situation.
* Your task is to take the best sets of parameters found during optimization and use them in your real trading, for example, when setting up a trading bot or in a manual trading system.
2. Features Of Calculations (This is not a "Repainting")
You will notice that the results table appears and is updated only once — when all historical bars on the chart are loaded. It does not change in real time with each tick of the price.
This is correct and intentional behavior.:
* To test thousands, and sometimes millions of combinations, the script needs to perform a huge amount of calculations. In the Pine Script™ environment, it is technically possible to do this only once, at the very last bar in history.
* The script does not show false historical signals, which then disappear or change. It provides a static report on the results of the simulation, which remains unchanged for a specific historical period.
3. Past Results do not Guarantee Future Results.
This is the golden rule of trading, and it fully applies to the results of backtesting. Successful strategy performance in the past is not a guarantee that it will be as profitable in the future. Market conditions, volatility and trends are constantly changing.
My tool, especially when sorting by finalScore, is aimed at finding statistically stable and reliable strategies to increase the likelihood of their success in the future. However, it is a tool for managing probabilities, not a crystal ball for predicting the future. Always use proper risk management.
4. Dependence on the Quality and Depth of the Story
The reliability of the results directly depends on the quantity and quality of the historical data on which the test was conducted.
* Always strive to use the maximum number of bars available (`Bars Count: 25,000`) so that your strategy is tested on different market cycles (rise, fall, flat).
* The results obtained on data for one month may differ dramatically from the results obtained on data for two years. The longer the testing period, the higher the confidence in the parameters found.
Conclusion
The Autoback Grid Lab is your personal research laboratory, designed to replace intuitive guesses and endless manual selection of settings with a systematic, data—driven approach. Experiment with different assets, timeframes, and settings ranges to find the unique combinations that best suit your trading style.
Bitcoin Basket [100Zabaan]🟢🟢 Bitcoin Basket 🟢🟢
🟡 Overview
This indicator is a long-term analytical tool for Bitcoin investment, designed by drawing inspiration from historical halving cycles, historical peak growths and deepest declines, and the overall price growth trend. The main goal of this indicator is to provide a strategic perspective to investors so they can better identify key market phases, such as periods of major selling and major buying of Bitcoin.
🟡 This tool visually compares two scenarios:
Hold Strategy : The strategy of buying and holding Bitcoin from the time of investment until today ( Bitcoin Holding Strategy ).
Active Investment Strategy : An active investment strategy that cautiously buys and sells based on market cycle-driven signals ( Active Bitcoin Trading Strategy ).
This comparison helps you make more informed decisions regarding your long-term capital management.
🟡 Key Features of the Indicator
Performance Comparison : Displays the current value of your investment based on two strategies:
Bitcoin Holding Strategy : If you had invested an amount on your chosen date, how much Bitcoin (equivalent to how many dollars) would you have today.
Active Bitcoin Trading Strategy : How your capital would have grown if you had traded based on the indicator's buy and sell signals.
Also, in the status line section, you can see your asset amount (in USD) at each candle and compare the two strategies.
Identification of Buy and Sell Periods : Using colored boxes (red and green), it identifies time periods that have historically been suitable for selling or buying.
Identification of Suitable Price Ranges in Buy and Sell Periods : With a horizontal line within the red boxes, it informs us that prices above this line may be worth selling. With a horizontal line within the green boxes, it informs us that prices below this line may be worth buying.
Halving Display: Shows the exact time of each halving along with the block reward for each block produced during that halving.
Display of Maximum Drawdown During the Investment Period: In the provided table, you can see the maximum loss incurred in each of the two strategies during your hypothetical investment period, on what date this occurred, and what your capital was before and after in each of the two scenarios.
Display of Buy and Sell Suggestions: You can also see the suggested amount of Bitcoin to buy and sell at what prices, based on your investment amount.
Alarm: This indicator usually provides an alarm one or more days before the start of a selling period, notifying you that a sell signal will be issued soon.
Customization Options: In this indicator, you can customize your investment date and amount. You can also determine the display of label text (including price and buy/sell amount) and its size. This indicator also supports the Persian language.
🟡 How it Works and Signal Issuance Mechanism
This indicator uses three main methods for calculations:
Deceleration of Overall Price Growth : This indicator has found that the price of Bitcoin grows and fluctuates around an overall axis, and the intensity of this upward axis's growth gradually decreases.
Halving Impact : This indicator has found that the price of Bitcoin has grown from approximately one year before a halving and this growth continues for at least one year after the halving. It has also found that the price experiences a sharp one-year decline in the range between two halvings. Consequently, time-wise, based on halving, it displays a selling period (as a red box) on the chart. Considering the Bitcoin price growth explained in the previous point, it draws a line in the middle of the red box, identifying prices above that line as a suitable selling area. The inverse of this process is considered for buying.
Historical Peak Growths and Deepest Declines : This indicator analyzes Bitcoin's historical peak growths and deepest declines. Based on this, when declines are relatively large compared to what has occurred in the past, it issues the first buy suggestion. If the price decline continues, it sequentially issues the second and finally the third buy suggestion. The inverse of this process is followed for issuing sell suggestions.
🟡 Usage Guide
Add the indicator to your chart
Go to the indicator's settings section
In the Inputs tab, you can adjust the following values:
Set the initial investment amount in USD
Set the investment start date, from which calculations will begin
Set the language for displaying information on the chart, which is English by default
Display or hide labels for price and buy/sell volume on candles
The indicator will automatically display the results on the chart and in its information panel
🟡 Important Notes and Limitations
Compatibility : This indicator is specifically designed for the BTCUSD pair. To access the maximum historical data, you must use the INDEX broker chart and the Daily timeframe ; otherwise, the indicator will display a warning message.
Long-Term Tool : This indicator is a macro analysis tool. Its signals are rarely issued and are designed to capture large trends spanning several months or years. This tool is by no means suitable for day trading or scalping.
Non-Repainting : Buy and sell signals become definitive after the daily candle closes and do not change in the past. This feature increases the validity of backtests.
Note Regarding the Source Code : The core logic of this indicator, especially the proprietary formulas used, is the result of personal research and development. To preserve this unique methodology and ensure its integrity for future developments, this version is released as closed-source. However, we have made every effort to fully and transparently describe the indicator's logic and operational process in the explanations.
🔴 Disclaimer
This indicator is provided solely for educational, informational, and analytical purposes and should under no circumstances be considered financial advice or a definitive signal for buying and selling. Past market performance is by no means a guarantee of future results. All investment and trading activities involve risk, and the user is solely responsible for any profits or losses. Please conduct your own research and consult with a financial advisor before making any financial decisions.
🔴 Developers: Mr. Mohammad sanaei, Mrs. Hamideh Azari
⭐️⭐️ Feel free to share your feedback in the comments ⭐️⭐️
این اندیکاتور ابزاری تحلیلی و بلندمدت برای سرمایهگذاری در بیتکوین است که با الهام از چرخههای تاریخی هاوینگ، بیشترین رشد و افت ها تاریخی و روند کلی رشد قیمت طراحی شده است.
هدف اصلی این اندیکاتور، ارائه یک دیدگاه استراتژیک به سرمایهگذاران است تا بتوانند فازهای کلیدی بازار مانند دورههای فروش عمده و خرید عمده بیت کوین را بهتر شناسایی کنند.
🔴 توسعه دهندگان: محمد ثنائی، حمیده آذری
⭐️⭐️ لطفاً نظرات خود را در کامنتها با ما در میان بگذارید; از خواندن بازخوردهای شما خوشحال میشویم. ⭐️⭐️
8EMA/VWAP14 Oscillator w/ Trend Exhaustion Bands8EMA/VWAP14 Oscillator w/ Trend Exhaustion Bands + Performance Screener
Introducing the 8EMA/VWAP14 Oscillator with Trend Exhaustion Bands + Screener Suite - a comprehensive trading system that combines trend identification, momentum analysis, and real-time performance tracking all in one indicator. This system features a four-tier signal approach: early momentum warning dots before anything happens, confirmed entry/exit triangles when it's time to act, a dynamic trend ribbon on your price chart, and adaptive exhaustion bands that adjust to each asset's unique characteristics. The built-in performance tracker shows exactly how well your signals are working - success rates, average time to hit targets, and more - providing clear insight for confident trading decisions. Optimized for daily and weekly timeframes, this suite is suitable for both manual traders and automated strategies.
Aim of the Indicator
The 8EMA/VWAP14 Oscillator with Trend Exhaustion Bands is an advanced momentum oscillator system that combines trend identification, momentum analysis, and forward-looking performance validation. This comprehensive tool measures the percentage difference between an 8-period Exponential Moving Average and a 14-period Volume Weighted Average Price while providing multiple layers of signal confirmation through visual trend ribbons, momentum shift alerts, and adaptive exhaustion detection.
How to Interpret the Indicator
Visual Trend System: The indicator displays a dynamic ribbon between the 8EMA and 14VWAP lines on the price chart, automatically colored green when EMA8 is above VWAP14 (bullish trend) and red when below (bearish trend), providing instant trend context.
Four-Tier Signal System:
Tiny Green Dots (Below Bars): Early bullish momentum shifts when the oscillator crosses above its adaptive baseline
Green Triangles (Below Bars): Confirmed buy signals when EMA8 crosses above VWAP14
Tiny Red Dots (Above Bars): Early bearish momentum shifts when the oscillator crosses below its adaptive baseline
Red Triangles (Above Bars): Confirmed sell signals when EMA8 crosses below VWAP14
Oscillator Analysis: The separate pane displays the momentum oscillator with a dynamic zero line (thin blue) representing the recent average EMA8/VWAP14 relationship. Trend exhaustion is detected through adaptive bands - orange for potential upside exhaustion and purple for potential downside exhaustion, calculated dynamically based on the oscillator's historical range relative to its adaptive baseline.
Key Settings and Flexibility
Signal Source Customization: Choose from Open, High, Low, Close, OHLC Average, or HL Average to optimize signal sensitivity for different market conditions and trading styles.
Multi-Timeframe Capability: Enable higher timeframe analysis to use signals from longer periods while trading on shorter timeframes, significantly reducing noise and improving signal quality for more reliable entries.
Dynamic Baseline Controls: Adjust the adaptive zero line calculation period (5-100 bars) - shorter periods provide more responsive momentum detection, while longer periods offer smoother trend context and reduced false signals.
Entry Timing Options: "Bar Opening Only" mode ensures signals trigger only at confirmed bar close using realistic entry prices, eliminating mid-bar noise and providing accurate backtesting results for automated trading systems.
Adaptive Exhaustion Detection: Customize lookback periods and threshold multipliers to fine-tune exhaustion sensitivity for different volatility environments and asset classes.
Comprehensive Performance Tracking: Set custom profit targets (1-50%) and maximum holding periods to analyze forward-looking signal effectiveness with real-time success rate monitoring.
Advanced Features and Benefits
Forward-Looking Performance Analytics: Unlike traditional backtesting, this system tracks how often buy signals reach specified profit targets and measures average time to target, providing immediate validation of signal quality across different assets and timeframes.
Adaptive Baseline Technology: The dynamic zero line automatically adjusts to each asset's unique EMA8/VWAP14 relationship patterns, making momentum signals contextually relevant rather than using static thresholds that may not suit all market conditions.
Professional Entry/Exit Tracking: When "Bar Opening Only" is enabled, all performance calculations use actual tradeable prices (next bar's open) rather than theoretical mid-bar prices, ensuring realistic performance expectations.
Visual Performance Dashboard: Real-time table displaying success rate, average bars to target, fastest/slowest target achievement, and active position tracking with complete transparency about timeframe, signal source, and methodology being used.
Integrated Alert System: Comprehensive alerts for both early momentum shifts and confirmed crossover signals, enabling automated trading integration and timely manual intervention.
Best Practices for Timing Entries and Exits
Entry Timing Strategy:
Watch for Early Warning: Monitor tiny green dots as momentum builds - this is your preparation phase
Confirm with Ribbon: Ensure the ribbon color aligns with your intended direction (green for long positions)
Enter on Triangle Signal: Execute entries when confirmed buy triangles appear, using realistic bar opening prices
Avoid Exhaustion Zones: Be cautious entering when the oscillator is near orange (upper) exhaustion bands
Exit Timing Strategy:
Monitor Momentum Shifts: Red dots above bars provide early warning of potential reversals before actual sell signals
Use Exhaustion Bands: Consider partial profit-taking when oscillator reaches exhaustion zones (orange/purple bands)
Confirm with Sell Signals: Exit positions when red triangles appear, especially if preceded by bearish momentum dots
Time-Based Exits: Utilize the "Max Bars to Target" setting to avoid holding losing positions indefinitely
Risk Management Integration:
Position Sizing: Use success rate metrics to adjust position sizes - higher success rates may warrant larger positions
Multi-Timeframe Confluence: Combine daily signals with weekly context for highest probability setups
Avoid False Signals: Wait for momentum dots before triangles for stronger signal confirmation, reducing whipsaw trades
Optimal Market Conditions:
Trending Markets: Ribbon provides clear directional bias - trade in direction of ribbon color
Range-Bound Markets: Focus on exhaustion bands for reversal opportunities near dynamic support/resistance levels
Volatile Conditions: Use higher timeframe settings to filter noise and focus on more significant moves
Optimal Timeframe Usage
This indicator achieves exceptional performance on Daily timeframes and delivers superior results on Weekly timeframes. Weekly analysis is particularly powerful for position trading and swing strategies, as the adaptive exhaustion bands and momentum shifts have greater statistical significance over extended periods. The ribbon visualization becomes especially valuable on longer timeframes, clearly delineating major trend phases while filtering out intraday noise that can plague shorter-term analysis.
Alternative Applications
Multi-Timeframe Confluence System: Use weekly signals for trend direction while executing entries on daily timeframes, combining the indicator's momentum dots and triangles across different time horizons for high-probability setups.
Automated Trading Integration: The indicator's comprehensive alert system and realistic entry tracking make it ideal for automated trading platforms, with clear signal hierarchy and performance validation built into the system.
Risk-Adjusted Position Sizing: Utilize real-time success rate data and average holding period metrics to dynamically adjust position sizes based on current market effectiveness of the strategy.
Market Regime Detection: The ribbon color changes and exhaustion band interactions help identify when markets transition between trending and ranging conditions, allowing strategy adaptation accordingly.
Performance Validation Tool: Test signal effectiveness across different assets, timeframes, and market conditions before committing capital, using the forward-looking analytics to validate strategy assumptions.
Conclusion
The 8EMA/VWAP14 Oscillator with Trend Exhaustion Bands represents a comprehensive trading system that bridges the gap between manual analysis and automated execution. Its multi-layered approach provides both leading momentum indicators and lagging confirmation signals, while the adaptive baseline technology ensures relevance across different market conditions and asset classes. The integration of visual trend ribbons, performance analytics, and flexible timing controls makes it suitable for both discretionary traders seeking enhanced market insight and systematic traders requiring robust signal validation for automated strategies.
RS+ Majors Allocation | viResearchRS+ Majors Allocation | viResearch
Conceptual Foundation and Innovation
The "RS+ Majors Allocation" script is a comprehensive strategy for managing a crypto portfolio focused on BTC, ETH, and SOL. By dynamically rotating between these major assets, the strategy aims to identify the strongest performer in real-time and allocate capital accordingly. The script incorporates a relative strength (RS) model that leverages price movements and a custom scoring system to rank each asset's performance. This allows the strategy to maintain positions in favorable market conditions while moving to cash during periods of weakness.
The script also includes a trend regime filter to further refine allocations. This filter ensures that an asset's own trend aligns with the market’s trend before committing to an allocation, adding another layer of protection against downturns. The approach is designed to outperform traditional buy-and-hold strategies by minimizing risk exposure during unfavorable market conditions.
Technical Composition and Calculation
The "RS+ Majors Allocation" script combines several technical elements to execute the strategy:
Relative Strength Model: Each asset (BTC, ETH, SOL) is evaluated through a ratio matrix, comparing their performance relative to one another. A scoring system is applied to these ratios to rank the assets, determining which is outperforming. This dynamic evaluation is central to the strategy's decision-making process.
Trend Regime Filter: This filter uses trend indicators to assess whether the market and individual assets are in a favorable state. If an asset’s trend score does not meet the criteria, it won't be allocated capital, thus avoiding exposure to potential downturns.
Equity Tracking and Allocation: The script tracks the portfolio's equity performance over time, plotting it against a traditional buy-and-hold strategy for comparison. Allocation decisions are based on the scores of BTC, ETH, and SOL, with the system selecting the top-performing asset and moving to cash if no asset meets the criteria.
Performance Metrics: To evaluate the effectiveness of the strategy, the script calculates several key performance indicators:
Sharpe Ratio: Measures risk-adjusted returns.
Sortino Ratio: Focuses on downside risk by considering only negative fluctuations.
Omega Ratio: Analyzes returns relative to risk.
Maximum Drawdown: Shows the largest peak-to-trough decline, indicating potential loss exposure.
Features and User Inputs
The script offers a range of customizable parameters to tailor the strategy to individual preferences and market conditions:
Asset Selection: Users can choose the specific assets to include in the rotation, with the script currently focusing on BTC, ETH, and SOL. The trend regime filter is optional, allowing for a more aggressive or conservative approach.
Equity Visualization: The script provides real-time equity tracking, comparing the portfolio's performance with individual assets. Users can adjust visualization settings to focus on specific assets or the overall strategy.
Starting Date: The backtesting period can be set to begin at a specific date, helping to analyze the strategy’s performance over different timeframes.
Bar Colors and Alerts: Visual cues, including colored bars, indicate the active trend direction of the selected asset. Additionally, alerts notify traders when the system rotates between assets or moves to cash.
Practical Applications
The "RS+ Majors Allocation" script is designed for traders who want to manage a crypto portfolio with a focus on risk-adjusted returns. It is particularly effective in several scenarios:
Asset Rotation: The dynamic scoring system allows the script to rotate between BTC, ETH, and SOL based on relative strength, capitalizing on the strongest performer at any given time.
Downside Protection: The trend regime filter helps avoid exposure during market-wide downturns by staying in cash, minimizing drawdowns during periods of high volatility.
Active Portfolio Management: By using real-time data to make allocation decisions, the script offers a more hands-on approach to portfolio management compared to passive holding strategies.
Advantages and Strategic Value
This script brings a structured and disciplined approach to portfolio management, combining trend analysis, relative strength, and performance metrics to optimize returns. The use of a scoring system for asset rotation, along with the trend filter, makes it versatile and adaptable to different market environments. The script aims to outperform traditional buy-and-hold strategies by focusing on the strongest assets while reducing risk during unfavorable conditions.
The visual and performance feedback provided by the script allows traders to gain deeper insights into their portfolio’s behavior, helping to make data-driven decisions.
Summary and Usage Tips
The "RS+ Majors Allocation" script is a powerful tool for managing a crypto portfolio with a focus on performance optimization and risk management. By incorporating this strategy, traders can dynamically allocate capital to the top-performing assets while protecting their portfolio from significant downturns. Adjust the trend regime filter, threshold settings, and asset choices to fit your market outlook and trading goals. The script's equity tracking and performance metrics will provide clear insights into how well the strategy is performing compared to a traditional buy-and-hold approach.
Remember to use backtesting to assess the script's effectiveness over different timeframes and market conditions. Keep in mind that past performance does not guarantee future results, so consider using this strategy in conjunction with other analysis tools for a comprehensive approach to trading.
MultiTimeFrame Trends and Candle Bias (by MC) v1This MultiTimeFrame Trends and Candle Bias provides the trader a quick glance on how each timeframe is trending and what the current candle bias is in each timeframe.
Interpreting Candle Bias : Green points to a bullish bias while red, a bearish bias for a given specific timeframe. For instance, if the current 1 hour candle bias is red, it means that the last hour, the bias has been bearish. If the Daily candle bias is red, it means that the day in question has been a bearish for this selected symbol.
Interpreting MTF Trends: Trends for each time frame follows the simple moving average of the closing prices for the X number of candles you enter in the input section. So for example, if you decide to enter 6 for the 1-hour time frame, the trend for the last 6 hours will be shown and tracked; if on the Daily time frame, you enter 7, the trend for the last 7 days or 1 week will be shown and tracked. I have provided below (as well as on tooltips in the input section of this indicator) recommendations of what numbers to use depending on what kind of trader you are.
What is a best setup for MultiTimeFrame Trends?
Considerations Across All Timeframes:
- Trading Style : Scalpers and very short-term intraday traders may prefer fewer candles (like 12 to 20), which allow them to react quickly to price changes. Swing traders or those holding positions for a few hours to a couple of days might prefer more candles (like 50 to 120) to identify more stable trends.
- Market Conditions : In volatile markets, using more candles helps smooth out price fluctuations and provides a clearer trend signal. In trending markets, fewer candles might be sufficient to capture the trend.
- Session-Based Adjustments : Traders may adjust their settings depending on the time of day or session they are trading. For example, during high-volatility periods like market open or close, using fewer candles can help capture quick moves.
The number of preceding candles to use for estimating the recent trend can depend on various factors, including the type of market, the asset being traded, the timeframe, and the specific goals of your analysis. However, here are some general guidelines to help you decide:
### 1. **Short-Term Trends (Fast Moving Averages):**
- **5 to 20 Candles**: If you want to capture a short-term trend, typically in day trading or scalping strategies, you might use 5 to 20 candles. This is common for fast-moving averages like the 9-period or 15-period moving averages. It reacts quickly to price changes, but it can also give more false signals due to market noise.
### 2. **Medium-Term Trends (Moderate Moving Averages):**
- **20 to 50 Candles**: For a more balanced approach that reduces the impact of short-term volatility while still being responsive to trend changes, 20 to 50 candles are commonly used. This range is popular for swing trading strategies, where the goal is to capture trends that last several days to weeks.
### 3. **Long-Term Trends (Slow Moving Averages):**
- **50 to 200 Candles**: To identify long-term trends, such as those seen in position trading or for confirming major trend directions, you might use 50 to 200 candles. The 50-period and 200-period moving averages are particularly well-known and are often used by traders to identify significant trend reversals or confirmations.
### 4. **Adaptive Approach:**
- **Market Conditions**: In trending markets, fewer candles might be needed to identify a trend, while in choppy or range-bound markets, using more candles can help filter out noise.
- **Volatility**: In highly volatile markets, more candles might be necessary to smooth out price action and avoid false signals.
### **Experiment and Backtesting:**
The optimal number of candles can vary significantly based on the asset and strategy. It's often a good idea to backtest different periods to see which provides the best balance between responsiveness and reliability in identifying trends. You can use tools like the strategy tester in TradingView or other backtesting software to compare the performance of different settings.
### **General Recommendation:**
- **For Shorter Timeframes** (e.g., 5m, 15m): 10-20 candles might be effective.
- **For Medium Timeframes** (e.g., 1h, 4h): 20-50 candles are often a good starting point.
- **For Longer Timeframes** (e.g., Daily, Weekly): 50-200 candles help capture major trends.
If you're unsure, a common starting point for many traders is the 20-period moving average, which provides a balance between sensitivity and reliability.
Guidelines for 1-Minute Timeframe:
For the 1-minute (1M) timeframe, trend analysis typically focuses on very short-term price movements, which is crucial for scalping and ultra-short-term trading strategies. Here’s a breakdown of the number of preceding candles you might use:
1. **Very Short-Term Trend:**
- **10 to 20 Candles (10 to 20 Minutes):** Using 10 to 20 candles captures about 10 to 20 minutes of price action. This range is suitable for scalpers who need to identify very short-term trends and make quick trading decisions.
2. **Short-Term Trend:**
- **30 to 60 Candles (30 to 60 Minutes):** This period covers 30 to 60 minutes of trading, making it useful for traders looking to understand the trend over a full trading hour. It helps capture price movements and trends that develop within a single hour.
3. **Intraday Trend:**
- **120 Candles (2 Hours):** Using 120 candles provides a view of the trend over approximately 2 hours. This is useful for traders who want to see how the market is trending throughout a larger portion of the trading day.
4. **Extended Intraday Trend:**
- **240 to 480 Candles (4 to 8 Hours):** This longer period gives a broader view of the intraday trend, covering 4 to 8 hours. It’s helpful for identifying trends that span a significant portion of the trading day, which can be useful for traders looking to align with the broader intraday movement.
**Considerations:**
- **High Sensitivity:** The 1-minute timeframe is highly sensitive to market movements, so shorter periods (10 to 20 candles) can capture rapid price changes but may also generate noise.
- **Market Volatility:** In highly volatile markets, using more candles (like 30 to 60 or more) helps smooth out the noise and provides a clearer trend signal.
- **Trading Style:** Scalpers will typically use shorter periods to make very quick decisions. Traders holding positions for a bit longer, even within the same day, may use more candles to get a clearer picture of the trend.
**Common Approaches:**
- **5-Period Moving Average:** The 5-period moving average on a 1-minute chart can be used for extremely short-term trend signals, reacting quickly to price changes.
- **20-Period Moving Average:** The 20-period moving average is a good choice for capturing short-term trends and can help filter out some of the noise while still being responsive.
- **50-Period Moving Average:** The 50-period moving average provides a broader view of the trend and can help smooth out price movements over a longer intraday period.
**Recommendation:**
- **Start with 10 to 20 Candles:** For the most immediate and actionable signals, especially useful for scalping or very short-term trading.
- **Use 30 to 60 Candles:** For a clearer view of trends that develop over an hour, suitable for those looking to trade within a single trading hour.
- **Consider 120 Candles:** For observing broader intraday trends over 2 hours, helping align trades with more significant intraday movements.
- **Explore 240 to 480 Candles:** For a longer intraday perspective, covering up to 8 hours, which can be useful for strategies that span a larger portion of the trading day.
**Practical Example:**
- **Scalpers:** If you’re executing trades every few minutes, start with 10 to 20 candles to get rapid trend signals.
- **Short-Term Traders:** For trends that last an hour or so, 30 to 60 candles will provide a better sense of direction while still being responsive.
- **Intraday Traders:** For broader trends that span several hours, 120 candles will help you see the overall intraday movement.
Experimentation and backtesting with these settings on historical data will help you fine-tune your approach to the 1-minute timeframe for your specific trading strategy and asset.
Guidelines for 5, 15 and 30 min Timeframes:
For shorter timeframes like 5, 15, and 30 minutes, the number of preceding candles you use will depend on how quickly you want to react to changes in the trend and the specific trading style you’re employing. Here's a breakdown for each:
**5-Minute Timeframe:**
1. **Very Short-Term (Micro Trend):**
- **12 to 20 Candles (60 to 100 Minutes):** Using 12 to 20 candles on a 5-minute chart captures 1 to 1.5 hours of price action. This is ideal for very short-term trades, such as scalping, where quick entries and exits are key.
2. **Short-Term Trend:**
- **30 to 60 Candles (150 to 300 Minutes):** This period covers 2.5 to 5 hours, making it useful for intraday traders who want to identify the trend within a trading session. It helps capture the direction of the market during the most active parts of the day.
3. **Intra-Day Trend:**
- **120 Candles (10 Hours):** Using 120 candles gives you a broad view of the trend over two trading sessions. This is useful for traders who want to understand the trend throughout the entire trading day.
**15-Minute Timeframe:**
1. **Very Short-Term:**
- **12 to 20 Candles (3 to 5 Hours):** On a 15-minute chart, this period covers 3 to 5 hours, making it useful for capturing the morning or afternoon trend within a trading day. It’s often used by intraday traders who need to make quick decisions.
2. **Short-Term Trend:**
- **30 to 60 Candles (7.5 to 15 Hours):** This covers almost a full trading day to a day and a half. It’s popular among day traders who want to align their trades with the trend of the day or the previous trading session.
3. **Intra-Week Trend:**
- **120 Candles (30 Hours):** This period spans about two trading days and is useful for traders looking to capture trends that may extend beyond a single trading day but not necessarily for an entire week.
**30-Minute Timeframe:**
1. **Short-Term Trend:**
- **12 to 20 Candles (6 to 10 Hours):** This period captures the trend over a single trading session. It's useful for day traders who want to understand the market’s direction throughout the day.
2. **Medium-Term Trend:**
- **30 to 50 Candles (15 to 25 Hours):** This period covers about two trading days and is useful for short-term swing traders or intraday traders who are looking for trends that might last a couple of days.
3. **Intra-Week Trend:**
- **100 to 120 Candles (50 to 60 Hours):** This longer period captures about 4 to 5 trading days, making it useful for traders who want to understand the broader trend over the course of the week.
**Summary Recommendations:**
- **5-Minute Chart:**
- **12 to 20 candles** for very short-term trades.
- **30 to 60 candles** for intraday trends within a single session.
- **120 candles** for a broader view of the day’s trend.
- **15-Minute Chart:**
- **12 to 20 candles** for short-term trades within a few hours.
- **30 to 60 candles** for trends lasting a full day or more.
- **120 candles** for trends extending over a couple of days.
- **30-Minute Chart:**
- **12 to 20 candles** for understanding the daily trend.
- **30 to 50 candles** for trends over a couple of days.
- **100 to 120 candles** for an intra-week trend view.
Experimenting with these settings and backtesting on historical data will help you find the optimal number of candles for your specific trading style and the assets you trade.
Guidelines for 1H Timeframes:
When analyzing trends on a 1-hour (1H) timeframe, you're focusing on short to medium-term trends, often used by day traders and short-term swing traders. Here’s how you can approach selecting the number of preceding candles:
1. **Short-Term Trend:**
- **14 to 21 Candles (14 to 21 Hours):** Using 14 to 21 candles on a 1-hour chart captures roughly half a day to a full day of trading activity. This range is ideal for day traders who want to identify short-term momentum and trend changes within a single trading day.
2. **Medium-Term Trend:**
- **50 Candles (2 Days):** A 50-period moving average on a 1-hour chart covers about two days of trading. This period is popular for identifying trends that may last a couple of days, making it useful for short-term swing traders.
3. **Longer-Term Trend:**
- **100 Candles (4 Days):** Using 100 candles gives you a broader view of the trend over about four days of trading. This is helpful for traders who want to align their trades with a more sustained trend that spans the entire week.
4. **Very Short-Term (Micro Trend):**
- **7 to 10 Candles (7 to 10 Hours):** For traders looking to capture micro trends or very short-term price movements, using 7 to 10 candles can provide a quick look at recent price action. This is often used for scalping or very short-term intraday strategies.
**Considerations:**
- **Market Volatility:** In highly volatile markets, using more candles (like 50 or 100) helps smooth out noise and provides a clearer trend signal. In less volatile conditions, fewer candles may suffice to capture trends.
- **Trading Style:** If you are a day trader looking for quick moves, shorter periods (like 7 to 21 candles) might be more suitable. For those who hold positions for a day or two, longer periods (like 50 or 100 candles) can provide better trend confirmation.
- **Asset Class:** The optimal number of candles can vary depending on the asset
Guidelines for 4H Timeframes:
When analyzing trends on a 4-hour (4H) timeframe, you’re generally looking to capture short to medium-term trends. This timeframe is popular among swing traders and intraday traders who want to balance between catching more significant market moves and not being too sensitive to noise. Here's how you can approach selecting the number of preceding candles:
1. **Short-Term Trend:**
- **14 to 21 Candles (2 to 3 Days):** Using 14 to 21 candles on a 4-hour chart covers roughly 2 to 3 days of trading activity. This range is ideal for traders looking to capture short-term momentum, especially in markets where price action can move quickly within a few days.
2. **Medium-Term Trend:**
- **50 Candles (8 to 10 Days):** A 50-period moving average on a 4-hour chart represents approximately 8 to 10 days of trading (considering 6 trading periods per day). This period is popular among swing traders for identifying trends that develop over the course of one to two weeks.
3. **Longer-Term Trend:**
- **100 Candles (16 to 20 Days):** Using 100 candles gives you a broader view of the trend over about 3 to 4 weeks. This is useful for traders who want to align their trades with the more sustained market direction while still remaining responsive to recent changes.
**Considerations:**
- **Market Conditions:** In a trending market, fewer candles (like 14 or 21) may be enough to identify the trend, allowing for quicker responses to price movements. In a more volatile or range-bound market, using more candles (like 50 or 100) can help smooth out noise and avoid false signals.
- **Trading Style:** If you are an intraday trader, shorter periods (14 to 21 candles) may be preferable, as they allow for quick entries and exits. Swing traders might lean towards the 50 to 100 candle range to capture trends that last several days to a few weeks.
- **Volatility:** The higher the volatility of the asset, the more candles you might want to use to ensure that the trend signal is not too erratic.
**Common Approaches:**
- **20-Period Moving Average:** A 20-period moving average on a 4-hour chart is often used by traders to capture short-term trends that align with momentum over the past few days.
- **50-Period Moving Average:** The 50-period moving average is widely used on the 4-hour chart to track medium-term trends. It provides a good balance between reacting to new trends and avoiding too many whipsaws.
- **100-Period Moving Average:** The 100-period moving average offers insight into the longer-term trend on the 4-hour chart, helping to filter out short-term noise and confirm the overall market direction.
**Recommendation:**
- **Start with 20 Candles for Short-Term Trends:** This period is useful for capturing quick movements and short-term trends over a couple of days.
- **Use 50 Candles for Medium-Term Trends:** This is a standard setting that provides a balanced view of the market over about 1 to 2 weeks.
- **Consider 100 Candles for Longer-Term Trends:** This helps to identify more significant trends that have persisted for a few weeks.
**Practical Example:**
- **Intraday Traders:** If you’re focused on shorter-term trades and need to react quickly, using 14 to 21 candles will help you capture the most recent momentum.
- **Swing Traders:** If you’re looking to hold positions for several days to a few weeks, starting with 50 candles will give you a clearer picture of the trend over that period.
- **Position Traders:** For those holding positions for a longer duration within a month, using 100 candles helps to align with the broader trend while still being responsive enough for 4-hour price movements.
Backtesting these settings on your chosen asset and strategy will help refine the optimal number of candles for your specific needs.
Guidelines for Daily Timeframes:
When analyzing trends on a daily timeframe, you're typically focusing on short to medium-term trends. Here’s how you can determine the optimal number of preceding candles:
1. **Short-Term Trend:**
- **10 to 20 Candles (2 to 4 Weeks):** Using 10 to 20 daily candles captures about 2 to 4 weeks of price action. This is commonly used for identifying short-term trends, ideal for swing traders or those looking for quick entries and exits within a month.
2. **Medium-Term Trend:**
- **50 Candles (2 to 3 Months):** The 50-day moving average is a classic choice for capturing medium-term trends. This period covers about 2 to 3 months of trading days and is often used by swing traders and investors to identify the trend over a quarter or a season.
3. **Long-Term Trend:**
- **100 to 200 Candles (4 to 9 Months):** For longer-term trend analysis, using 100 to 200 daily candles gives you a broader perspective, covering approximately 4 to 9 months of price action. The 200-day moving average, in particular, is widely used by investors to determine the overall long-term trend and to assess market health.
**Considerations:**
- **Market Volatility:** In more volatile markets, using a larger number of candles (e.g., 50 or 200) helps smooth out noise and provides a more reliable trend signal. In less volatile markets, fewer candles might be sufficient to capture trends effectively.
- **Trading Style:** Day traders might prefer shorter periods (like 10 or 20 candles) for quicker signals, while position traders and longer-term swing traders might opt for 50 to 200 candles to focus on more sustained trends.
- **Asset Class:** The optimal number of candles can also depend on the asset class. For example, equities might have different optimal settings compared to forex or cryptocurrencies due to different volatility characteristics.
**Common Approaches:**
- **20-Period Moving Average:** The 20-day moving average is a popular choice for short-term trend analysis. It’s widely used by traders to identify the short-term direction and to make quick trading decisions.
- **50-Period Moving Average:** The 50-day moving average is a staple for medium-term trend analysis, often used as a key indicator for both entry and exit points in swing trading.
- **200-Period Moving Average:** The 200-day moving average is crucial for long-term trend identification. It's commonly used by investors and is often seen as a major support or resistance level. When the price is above the 200-day moving average, the market is generally considered to be in a long-term uptrend, and vice versa.
**Recommendation:**
- **Start with 20 Candles for Short-Term Trends:** This period is commonly used for identifying recent trends within the last few weeks.
- **Use 50 Candles for Medium-Term Trends:** This provides a good balance between responsiveness and stability, making it a good fit for most swing trading strategies.
- **Use 200 Candles for Long-Term Trends:** This period is ideal for long-term analysis and is particularly useful for investors looking at the overall market trend.
**Practical Example:**
- If you’re trading equities and want to catch short-term trends, start with 20 candles to identify trends that have developed over the past month.
- If you’re more focused on medium to long-term trends, consider using 50 or 200 candles to ensure you’re aligned with the broader market direction.
Experimenting with these periods and backtesting on historical data will help you determine the best setting for your particular strategy and the asset you're analyzing.
Guidelines for Weekly Timeframes:
When analyzing trends on a weekly timeframe, you're typically looking at intermediate to long-term trends. Here's how you might approach selecting the number of preceding candles:
1. **Intermediate-Term Trend:**
- **13 to 26 Candles (3 to 6 Months):** Using 13 to 26 weekly candles corresponds to a period of 3 to 6 months. This range is effective for identifying intermediate-term trends, which is suitable for swing traders or those looking to hold positions for several weeks to a few months.
2. **Medium-Term Trend:**
- **26 to 52 Candles (6 Months to 1 Year):** For a broader view, you might use 26 to 52 weekly candles. This represents 6 months to 1 year of price data, which is helpful for understanding the market’s behavior over a medium-term period. This range is commonly used by swing traders and position traders who are interested in capturing trends lasting several months.
3. **Long-Term Trend:**
- **104 Candles (2 Years):** Using 104 weekly candles gives you a 2-year perspective. This can be useful for long-term trend analysis, particularly for investors or those looking to identify major trend reversals or continuations over a more extended period.
**Considerations:**
- **Market Type:** In trending markets, fewer candles (like 13 or 26) may work well, capturing the trend more quickly. In choppier or range-bound markets, using more candles can help reduce noise and avoid false signals.
- **Asset Class:** The optimal number of candles can vary depending on the asset class. For example, equities might benefit from a slightly shorter lookback period compared to more volatile assets like commodities or cryptocurrencies.
- **Volatility:** If the market or asset you're analyzing is highly volatile, using a higher number of candles (like 52 or 104) can help smooth out price fluctuations and provide a more stable trend signal.
**Common Approaches:**
- **20-Period Moving Average:** A 20-week moving average is popular among traders for identifying the intermediate trend. It’s responsive enough to capture significant trend changes while filtering out short-term noise.
- **50-Period Moving Average:** The 50-week moving average is often used to identify longer-term trends and is commonly referenced in both technical analysis and by longer-term traders.
- **200-Period Moving Average:** Although less common on weekly charts compared to daily charts, a 200-week moving average can be used to identify very long-term trends, such as multi-year market cycles.
**Recommendation:**
- **Start with 26 Candles:** This gives you a half-year perspective and is a good starting point for most analyses on a weekly timeframe. It balances sensitivity to recent trends with the ability to capture more significant, sustained movements.
- **Adjust Based on Backtesting:** You can increase the number of candles to 52 if you find that you need more stability in the trend signal, or decrease to 13 if you're looking for a more responsive signal.
Experimenting with different periods and backtesting on historical data can help determine the best setting for your specific strategy and asset class.
Guidelines for Monthly Timeframes:
For analyzing trends on monthly timeframes, you would generally be looking at much longer periods to capture the broader, long-term trend. Here's how you can approach it:
1. **Long-Term Trend (Primary Trend):**
- **12 to 24 Candles (1 to 2 Years):** Using 12 to 24 monthly candles corresponds to a period of 1 to 2 years. This is typically sufficient to identify long-term trends and is commonly used by long-term investors or position traders who are interested in the overall direction of the market or asset over multiple years.
2. **Very Long-Term Trend (Secular Trend):**
- **36 to 60 Candles (3 to 5 Years):** To capture very long-term secular trends, you might use 36 to 60 monthly candles. This would represent a time frame of 3 to 5 years and is often used for understanding macroeconomic trends or very long-term investment strategies.
3. **Ultra Long-Term Trend:**
- **120 Candles (10 Years):** In some cases, especially for assets like indices or commodities that are analyzed over decades, using 120 monthly candles can help in identifying ultra long-term trends. This would be appropriate for strategic investors or those looking at generational market cycles.
**Considerations:**
- **Volatility and Stability:** Monthly timeframes generally smooth out short-term volatility, but they can also be slow to react to changes. Using a larger number of candles (e.g., 24 or more) can help ensure that the trend signal is robust and not prone to frequent whipsaws.
- **Asset Class:** The choice of period might also depend on the asset class. For instance, equities might require fewer candles compared to commodities or currencies, which can exhibit different trend dynamics.
- **Market Phases:** In different market phases (bullish, bearish, or sideways), the number of candles might need to be adjusted. For instance, in a strongly trending market, fewer candles might still provide a reliable trend indication, whereas in a more volatile or ranging market, more candles might be needed to smooth out the data.
**Common Approaches:**
- **50-Period Moving Average:** A 50-month moving average is popular among long-term traders and investors for identifying the primary trend. It offers a balance between capturing the overall trend and being responsive enough to significant changes.
- **200-Period Moving Average:** Although rarely used on a monthly chart due to the long timeframe it represents (over 16 years), it can be useful for identifying very long-term secular trends, especially for broad market indices or in macroeconomic analysis.
**Recommendation:**
- **Start with 24 Candles:** This gives you a 2-year perspective on the trend and is a good starting point for most long-term analyses on monthly charts. Adjust upwards if you need a broader trend view, depending on the stability and nature of the asset you're analyzing.
Experimentation and backtesting with your specific asset and strategy can help fine-tune the exact number of candles that work best for your analysis on a monthly timeframe.
GKD-M Stepped Baseline Optimizer [Loxx]The Giga Kaleidoscope GKD-M Stepped Baseline Optimizer is a Metamorphosis module included in the "Giga Kaleidoscope Modularized Trading System."
█ Introduction
The GKD-M Stepped Baseline Optimizer is an advanced component of the Giga Kaleidoscope Modularized Trading System (GKD), designed to enhance trading strategy development by dynamically optimizing Baseline moving averages. This tool allows traders to evaluate over 65 moving averages, adjusting them across multiple periods to identify which settings yield the highest win rates for their trading strategies. The optimizer systematically tests these moving averages across specified timeframes and intervals, offering insights into net profit, total closed trades, win percentages, and other critical metrics for both long and short positions. Traders can define the initial period and incrementally adjust this value to explore a wide range of periods, thus fine-tuning their strategies with precision. What sets the GKD-M Stepped Baseline Optimizer apart is its unique capability to adapt the baseline moving average according to the highest win rates identified during backtesting, at each trading candle. This win-rate adaptive approach ensures that the trading system is always aligned with the most effective period settings for the selected moving average, enhancing the system's overall performance. Moreover, the 'stepped' aspect of this optimizer introduces a filtering process based ons, significantly reducing market noise and ensuring that identified trends are both significant and reliable. This feature is critical for traders looking to mitigate the risks associated with volatile market conditions and to capitalize on genuine market movements.In essence, the GKD-M Stepped Baseline Optimizer is tailored for traders who utilize the GKD trading system, offering a sophisticated tool to refine their baseline indicators dynamically, ensuring that their trading strategies are continuously optimized for maximum efficacy.
**the backtest data rendered to the chart above uses $5 commission per trade and 10% equity per trade with $1 million initial capital. Each backtest result for each ticker assumes these same inputs. The results are NOT cumulative, they are separate and isolated per ticker and trading side, long or short**
█ Core Features
Stepped Baseline for Noise Reduction
One of the hallmark features of the GKD-M Stepped Baseline Optimizer is its stepped baseline capability. This advanced functionality employs volatility filters to refine the selection of moving averages, significantly reducing market noise. The optimizer ensures that only substantial and reliable trends are considered, eliminating the false signals often caused by minor price fluctuations. This stepped approach to baseline optimization is critical for traders aiming to develop strategies that are both resilient and responsive to genuine market movements.
Dynamic Win Rate Adaptive Capability
Another cornerstone feature is the optimizer’s dynamic win rate adaptive capability. This unique aspect allows the optimizer to adjust the moving average period settings in real-time, based on the highest win rates derived from backtesting over a predefined range. At every trading candle, the optimizer evaluates a comprehensive set of backtesting data to ascertain the optimal period settings for the moving average in use. To perform the backtesting, the trader selects an initial period input (default is 60) and a skip value that increments the initial period input up to seven times. For instance, if a skip value of 5 is chosen, the Baseline Optimizer will run the backtest for the selected moving average on periods such as 60, 65, 70, 75, and so on, up to 90. If the user selects an initial period input of 45 and a skip value of 2, the Baseline Optimizer will conduct backtests for the chosen moving average on periods like 45, 47, 49, 51, and so forth, up to 57. The GKD-M Stepped Baseline Optimizer then exports the baseline with the highest cumulative win rate per candle to any baseline-enabled GKD backtest. This ensures that the baseline indicator remains continually aligned with the most efficacious parameters, dynamically adapting to changing market conditions.
Comprehensive Moving Averages Evaluation
The optimizer’s ability to test over 65 different moving averages across multiple periods stands as a testament to its comprehensive analytical capability. Traders have the flexibility to explore a wide array of moving averages, from traditional ones like the Simple Moving Average (SMA) and Exponential Moving Average (EMA) to more complex types such as the Hull Moving Average (HMA) and Adaptive Moving Average (AMA). This extensive evaluation allows traders to pinpoint the moving average that best aligns with their trading strategy and market conditions, further enhancing the system’s adaptability and effectiveness.
Volatility Filtering and Ticker Volatility Types
Incorporating a wide range of volatility types, including the option to utilize external volatility tickers like the VIX for filtering, adds another layer of sophistication to the optimizer. This feature allows traders to calibrate their baseline according to externals, providing an additional dimension of customization. Whether using standard deviation, ATR, or external volatility indices, traders can fine-tune their strategies to be responsive to the broader market sentiment and volatility trends.
█ Key Inputs
Baseline Settings
• Baseline Source: Determines the price data (Open, High, Low, Close) used for moving average calculations.
• Baseline Period: The starting period for moving average calculation.
• Backtest Skip: Incremental steps for period adjustments in the optimization process.
• Baseline Filter Type: Selection from over 65 moving averages for baseline calculation.
Volatility and Filter Settings
• Price Filter Type & Moving Average Filter Type: Defines thement applied to the price or the moving average, enhancing filter specificity.
• Filter Options: Allows users to select the application area of the volatility filter (price, moving average, or both).
• Filter Multiplier & Period: Configures the intensity and temporal scope of the filter, fine-tuning sensitivity to market volatility.
Backtest Configuration
• Window Period: Specifies the length of the backtesting window in days.
• Backtest Type: Chooses between a fixed window or cumulative data approach for backtesting.
• Initial Capital, Order Size, & Type: Sets the financial parameters for backtesting, including starting equity and the scale of trades.
• Commission per Order: Accounts for trading costs within backtest profitability calculations.
Date and Time Range
• From/Thru Year/Month/Day: Defines the historical period for strategy testing.
• Entry Time: Specifies the time frame during which trades can be initiated, crucial for strategies sensitive to market timing.
Volatility Measurements for Goldie Locks Volatility Qualifiers
• Mean Type & Period: Chooses the moving average type and period for volatility assessment.
• Inner/Outer Volatility Qualifier Multipliers: Adjusts the boundaries for volatility-based trade qualification.
• Activate Qualifier Boundaries: Enables or disables the upper and lower volatility qualifiers.
Advanced Volatility Inputs
• Volatility Ticker Selection & Trading Days: Incorporates external volatility indices (e.g., VIX) into the strategy, adjusting for market volatility.
• Static Percent, MAD Internal Filter Period, etc.: Provides fixed or adaptive volatility thresholds for filtering.
UI Customization
• Baseline Width & Table Display Options: Customizes the visual representation of the baseline and the display of optimization results.
• Table Header/Content Color & Text Size: Enhances readability and user interface aesthetics.
Export Options
• Export Data: Selects the specific metric to be exported from the script, such as net profit or average profit per trade.
Moving Average Specific Parameters
Specific inputs tailored to the characteristics of selected moving averages (e.g., Fractal Adjusted (FRAMA), Least Squares Moving Average (LSMA), T3, etc.), allowing users to fine-tune the behavior of these averages based on unique formula requirements.
█ Indicator UI
• Long and Short Baselines: The optimizer differentiates trends through two distinct baselines: a green line for long (uptrend) baselines and a red line for short (downtrend) baselines. These baselines alternate activation based on the current trend direction as determined by the moving average plus length combination for the candle in view.
Ambiguity in market direction, when an uptrend and downtrend are concurrently indicated, is visually represented by yellow lines.
• Stepping Mechanism for Trend Visualization: Adjusting the source input and the moving average output based on volatility, the indicator exhibits a stepped appearance on the chart. This mechanism ensures that only substantial market movements, surpassing a specified volatility threshold, are recognized as trend changes.
Stepping Activated
• Goldilocks Zone: Beyond the long and short baselines, the Goldilocks zone introduces a distinct moving average that closely follows the selected price or source input, aiming to strike the perfect balance between not too much and not too little market movement for trading. The upper limit of the Goldilocks zone indicates a market stretch too far for advantageous trading (overextension), while the lower limit suggests inadequate market movement for entry (underextension). Trading within the Goldilocks zone is deemed optimal, as it signifies sufficient but not excessive volatility for entering trades, aligning with either the long or short baseline recommendations. Moreover, the mean of the Goldilocks zone serves as a critical indicator, offering a median reference point that aligns closely with the market's current state. This mean is pivotal for traders, as it represents a 'just right' condition for market entry, embodying the essence of the Goldilocks principle in financial trading strategies.
• Signal Indicators and Entry Points: The chart includes with green or red dots to signify valid price points within the Goldilocks zone, indicative of conducive trading conditions. Furthermore, small directional arrows at the chart's bottom highlight potential long or short entry points, validated by the Goldilocks zone's parameters.
• Data Table: A table presenting real-time statistics from the current candle backward through the chosen range offers insights into win rates and other relevant data, aiding in informed decision-making. This table adapts with each new candle, highlighting the most favorable win rates for both long and short positions.
█ Optimizing Strategy with Backtesting
Optimizing a trading strategy with backtesting involves rigorously testing the strategy on historical data to evaluate its performance and robustness before applying it in live markets. The GKD-M Stepped Baseline Optimizer incorporates advanced backtesting capabilities, offering both cumulative and rolling window types of backtests. Here's how each backtest type operates and the insights they provide for refining trading strategies:
Cumulative Backtest
• Overview: A cumulative backtest evaluates a strategy's performance over a continuous period without resetting the strategy parameters or the simulated trading capital at the beginning of each new period.
• Utility: This type is useful for understanding a strategy's long-term viability, assessing how it adapts to different market conditions over an extended timeframe.
• Interpreting Statistics: Cumulative backtest results often focus on overall return, drawdowns, win rate, and the Sharpe ratio. A strategy with consistent returns, manageable drawdowns, a high win rate, and a favorable Sharpe ratio is considered robust.
Rolling Window Backtest
• Overview: Unlike the cumulative approach, a rolling window backtest divides the historical data into smaller, overlapping or non-overlapping periods (windows), running the strategy separately on each. After each window, the strategy parameters and simulated trading capital are reset.
• Utility: This method is invaluable for assessing a strategy's consistency and adaptability to various market phases. It helps identify if the strategy's performance is dependent on specific market conditions.
• Interpreting Statistics: For rolling window backtests, consistency is key. Look for similar performance metrics (returns, drawdowns, win rate) across different windows. Variability in performance indicates sensitivity to market conditions, suggesting the need for strategy adjustments.
Strategy Refinement Through Backtest Statistics
• Net Profit and Loss: Measures the strategy’s overall effectiveness. Consistent profitability across different market conditions is a positive indicator.
• Win Rate and Profit Factor: High win rates and profit factors indicate a strategy's efficiency in capturing gains over losses.
• Average Profit per Trade: Understanding the strategy's ability to generate profit on a per-trade basis can highlight its operational efficiency.
• Average Number of Bars in Trade: This metric helps understand the strategy's market exposure and timing efficiency.
█ Exporting Data and Integration with GKD Backtests
The GKD-M Stepped Baseline Optimizer seamlessly integrates with the broader GKD trading system, allowing traders to export the optimization data and leverage it within the various GKD backtest modules. This feature allows users to forward the GKD-M Stepped Baseline Optimizer adaptive signals to a GKD backtest to be used as a Baseline component in a GKD trading system.
█ Moving Averages included in the Stepped Baseline Optimizer
The GKD-M Stepped Baseline Optimizer incorporates an extensive array of over 65 moving averages, each with unique characteristics and implications for trading strategy development. This comprehensive suite enables traders to conduct nuanced analysis and optimization, ensuring the selection of the most effective moving average for Baseline input into their GKD trading system.
Adaptive Moving Average - AMA
ADXvma - Average Directional Volatility Moving Average
Ahrens Moving Average
Alexander Moving Average - ALXMA
Coral
Deviation Scaled Moving Average - DSMA
Donchian
Double Exponential Moving Average - DEMA
Double Smoothed Exponential Moving Average - DSEMA
Double Smoothed FEMA - DSFEMA
Double Smoothed Range Weighted EMA - DSRWEMA
Double Smoothed Wilders EMA - DSWEMA
Double Weighted Moving Average - DWMA
Ehlers Optimal Tracking Filter - EOTF
Exponential Moving Average - EMA
Fast Exponential Moving Average - FEMA
Fractal Adaptive Moving Average - FRAMA
Generalized DEMA - GDEMA
Generalized Double DEMA - GDDEMA
Geometric Mean Moving Average
Hull Moving Average (Type 1) - HMA1
Hull Moving Average (Type 2) - HMA2
Hull Moving Average (Type 3) - HMA3
Hull Moving Average (Type 4) - HMA4
IE/2 - Early T3 by Tim Tilson
Integral of Linear Regression Slope - ILRS
Instantaneous Trendline
Kalman Filter
Kaufman Adaptive Moving Average - KAMA
Laguerre Filter
Leader Exponential Moving Average
Linear Regression Value - LSMA (Least Squares Moving Average)
Linear Weighted Moving Average - LWMA
McGinley Dynamic
McNicholl EMA
Non-Lag Moving Average
Ocean NMA Moving Average - ONMAMA
One More Moving Average - OMA
Parabolic Weighted Moving Average
Probability Density Function Moving Average - PDFMA
Quadratic Regression Moving Average - QRMA
Range Filter
Range Weighted EMA - RWEMA
Recursive Moving Trendline
Regularized EMA - REMA
Simple Decycler - SDEC
Simple Loxx Moving Average - SLMA
Simple Moving Average - SMA
Sine Weighted Moving Average
Smoothed LWMA - SLWMA
Smoothed Moving Average - SMMA
Smoother
Super Smoother
T3
Tether Lines
Three-pole Ehlers Butterworth
Three-pole Ehlers Smoother
Triangular Moving Average - TMA
Triangle Moving Average Generalized
Triple Exponential Moving Average - TEMA
Two-pole Ehlers Butterworth
Two-pole Ehlers smoother
Ultimate Smoother
Variable Index Dynamic Average - VIDYA
Variable Moving Average - VMA
Volume Weighted EMA - VEMA
Volume Weighted Moving Average - VWMA
Zero-Lag DEMA - Zero Lag Double Exponential Moving Average
Zero-Lag Moving Average
Zero Lag TEMA - Zero Lag Triple Exponential Moving Average
█ Volatility Types and Filtering
The GKD-M Stepped Baseline Optimizer features a comprehensive selection of over 15 volatility types, each tailored to capture different aspects of market behavior and risk.
Volatility Ticker Selection: Enables direct incorporation of external volatility indicators like VIX and EUVIX into the script for market sentiment analysis, signal filtering enhancement, and real-time risk management adjustments.
Standard Deviation of Logarithmic Returns: Quantifies asset volatility using the standard deviation applied to logarithmic returns, capturing symmetric price movements and financial returns' compound nature.
Exponential Weighted Moving Average (EWMA) for Volatility: Focuses on recent market information by applying exponentially decreasing weights to squared logarithmic returns, offering a dynamic view of market volatility.
Roger-Satchell Volatility Measure: Estimates asset volatility by analyzing the high, low, open, and close prices, providing a nuanced view of intraday volatility and market dynamics.
Close-to-Close Volatility Measure: Calculates volatility based on the closing prices of stocks, offering a streamlined but limited perspective on market behavior.
Parkinson Volatility Measure: Enhances volatility estimation by including high and low prices of the trading day, capturing a more accurate reflection of intraday market movements.
Garman-Klass Volatility Measure: Incorporates open, high, low, and close prices for a comprehensive daily volatility measure, capturing significant price movements and market activity.
Yang-Zhang Volatility Measure: Offers an efficient estimation of stock market volatility by combining overnight and intraday price movements, capturing opening jumps and overall market dynamics.
Garman-Klass-Yang-Zhang Volatility Measure: Merges the benefits of Garman-Klass and Yang-Zhang measures, providing a fuller picture of market volatility including opening market reactions.
Pseudo GARCH(2,2) Volatility Model: Mimics a GARCH(2,2) process using exponential moving averages of squared returns, highlighting volatility shocks and their future impact.
ER-Adaptive Average True Range (ATR): Adjusts the ATR period length based on market efficiency, offering a volatility measure that adapts to changing market conditions.
Adaptive Deviation: Dynamically adjusts its calculation period to offer a nuanced measure of volatility that responds to the market's intrinsic rhythms.
Median Absolute Deviation (MAD): Provides a robust measure of statistical variability, focusing on deviations from the median price, offering resilience against outliers.
Mean Absolute Deviation (MAD): Measures the average magnitude of deviations from the mean price, facilitating a straightforward understanding of volatility.
ATR (Average True Range): Finds the average of true ranges over a specified period, indicating the expected price movement and market volatility.
True Range Double (TRD): Offers a nuanced view of volatility by considering a broader range of price movements, identifying significant market sentiment shifts.