MACD, backtest 2015+ only, cut in half and doubledThis is only a slight modification to the existing "MACD Strategy" strategy plugin!
found the default MACD strategy to be lacking, although impressive for its simplicity. I added "year>2014" to the IF buy/sell conditions so it will only backtest from 2015 and beyond ** .
I also had a problem with the standard MACD trading late, per se. To that end I modified the inputs for fast/slow/signal to double. Example: my defaults are 10, 21, 10 so I put 20, 42, 20 in. This has the effect of making a 30min interval the same as 1 hour at 10,21,10. So if you want to backtest at 4hr, you would set your time interval to 2hr on the main chart. This is a handy way to make shorter time periods more useful even regardless of strategy/testing, since you can view 15min with alot less noise but a better response.
Used on BTCCNY OKcoin, with the chart set at 45 min (so really 90min in the strategy) this gave me a percent profitable of 42% and a profit factor of 1.998 on 189 trades.
Personally, I like to set the length/signals to 30,63,30. Meaning you need to triple the time, it allows for much better use of shorter time periods and the backtests are remarkably profitable. (i.e. 15min chart view = 45min on script, 30min= 1.5hr on script)
** If you want more specific time periods you need to try plugging in different bar values: replace "year" with "n" and "2014" with "5500". The bars are based on unix time I believe so you will need to play around with the number for n, with n being the numbers of bars.
在腳本中搜尋"algo"
Quantum Reversal# 🧠 Quantum Reversal
## **Quantitative Mean Reversion Framework**
This algorithmic trading system employs **statistical mean reversion theory** combined with **adaptive volatility modeling** to capitalize on Bitcoin's inherent price oscillations around its statistical mean. The strategy integrates multiple technical indicators through a **multi-layered signal processing architecture**.
---
## ⚡ **Core Technical Architecture**
### 📊 **Statistical Foundation**
- **Bollinger Band Mean Reversion Model**: Utilizes 20-period moving average with 2.2 standard deviation bands for volatility-adjusted entry signals
- **Adaptive Volatility Threshold**: Dynamic standard deviation multiplier accounts for Bitcoin's heteroscedastic volatility patterns
- **Price Action Confluence**: Entry triggered when price breaches lower volatility band, indicating statistical oversold conditions
### 🔬 **Momentum Analysis Layer**
- **RSI Oscillator Integration**: 14-period Relative Strength Index with modified oversold threshold at 45
- **Signal Smoothing Algorithm**: 5-period simple moving average applied to RSI reduces noise and false signals
- **Momentum Divergence Detection**: Captures mean reversion opportunities when momentum indicators show oversold readings
### ⚙️ **Entry Logic Architecture**
```
Entry Condition = (Price ≤ Lower_BB) OR (Smoothed_RSI < 45)
```
- **Dual-Condition Framework**: Either statistical price deviation OR momentum oversold condition triggers entry
- **Boolean Logic Gate**: OR-based entry system increases signal frequency while maintaining statistical validity
- **Position Sizing**: Fixed 10% equity allocation per trade for consistent risk exposure
### 🎯 **Exit Strategy Optimization**
- **Profit-Lock Mechanism**: Positions only closed when showing positive unrealized P&L
- **Trend Continuation Logic**: Allows winning trades to run until momentum exhaustion
- **Dynamic Exit Timing**: No fixed profit targets - exits based on profitability state rather than arbitrary levels
---
## 📈 **Statistical Properties**
### **Risk Management Framework**
- **Long-Only Exposure**: Eliminates short-squeeze risk inherent in cryptocurrency markets
- **Mean Reversion Bias**: Exploits Bitcoin's tendency to revert to statistical mean after extreme moves
- **Position Management**: Single position limit prevents over-leveraging
### **Signal Processing Characteristics**
- **Noise Reduction**: SMA smoothing on RSI eliminates high-frequency oscillations
- **Volatility Adaptation**: Bollinger Bands automatically adjust to changing market volatility
- **Multi-Timeframe Coherence**: Indicators operate on consistent timeframe for signal alignment
---
## 🔧 **Parameter Configuration**
| Technical Parameter | Value | Statistical Significance |
|-------------------|-------|-------------------------|
| Bollinger Period | 20 | Standard statistical lookback for volatility calculation |
| Std Dev Multiplier | 2.2 | Optimized for Bitcoin's volatility distribution (95.4% confidence interval) |
| RSI Period | 14 | Traditional momentum oscillator period |
| RSI Threshold | 45 | Modified oversold level accounting for Bitcoin's momentum characteristics |
| Smoothing Period | 5 | Noise reduction filter for momentum signals |
---
## 📊 **Algorithmic Advantages**
✅ **Statistical Edge**: Exploits documented mean reversion tendency in Bitcoin markets
✅ **Volatility Adaptation**: Dynamic bands adjust to changing market conditions
✅ **Signal Confluence**: Multiple indicator confirmation reduces false positives
✅ **Momentum Integration**: RSI smoothing improves signal quality and timing
✅ **Risk-Controlled Exposure**: Systematic position sizing and long-only bias
---
## 🔬 **Mathematical Foundation**
The strategy leverages **Bollinger Band theory** (developed by John Bollinger) which assumes that prices tend to revert to the mean after extreme deviations. The RSI component adds **momentum confirmation** to the statistical price deviation signal.
**Statistical Basis:**
- Mean reversion follows the principle that extreme price deviations from the moving average are temporary
- The 2.2 standard deviation multiplier captures approximately 97.2% of price movements under normal distribution
- RSI momentum smoothing reduces noise inherent in oscillator calculations
---
## ⚠️ **Risk Considerations**
This algorithm is designed for traders with understanding of **quantitative finance principles** and **cryptocurrency market dynamics**. The strategy assumes mean-reverting behavior which may not persist during trending market phases. Proper risk management and position sizing are essential.
---
## 🎯 **Implementation Notes**
- **Market Regime Awareness**: Most effective in ranging/consolidating markets
- **Volatility Sensitivity**: Performance may vary during extreme volatility events
- **Backtesting Recommended**: Historical performance analysis advised before live implementation
- **Capital Allocation**: 10% per trade sizing assumes diversified portfolio approach
---
**Engineered for quantitative traders seeking systematic mean reversion exposure in Bitcoin markets through statistically-grounded technical analysis.**
Breakout Core | by Solid#SignalsBreakout Core | by SolidSignals
General Overview
Breakout Core is an advanced breakout trading strategy designed for Bitcoin (BTC). Optimized for the unique market dynamics following the launch of BlackRock’s Spot ETFs in January 2024, it adapts to Bitcoin’s post-ETF volatility patterns. The strategy’s core strength lies in its low drawdown, achieved through a proprietary time-based signal-filtering algorithm that sets it apart from traditional breakout strategies. Breakout Core offers traders a reliable tool for navigating Bitcoin’s evolving market with reduced risk and enhanced precision.
Mechanisms
Breakout Core combines well-known indicators BB, EMAs, MAs with custom-tuned parameters to improve signal accuracy. Its unique feature is a proprietary time-filter algorithm that prioritizes high-probability breakout signals during specific high-volatility trading hours, derived from market analysis post-ETF launch. This algorithm minimizes false positives, particularly in volatile conditions, by integrating time-based volatility patterns with price action. The result is a robust strategy that optimizes entry and exit points for Bitcoin trading.
Objectives
Breakout Core aims to provide steady returns with controlled risk by targeting Bitcoin’s breakout patterns in the post-ETF market. Its low drawdown, achieved through extensive optimization and proprietary logic, makes it suitable for leverage trading (e.g., 3–5x leverage), balancing growth with capital protection. Tailored for BTC, the strategy equips traders with a precise tool to navigate Bitcoin’s transformed market dynamics.
Backtesting and Parameter Notes
Backtesting was performed using a $10,000 USDT account, risking up to 10% of equity per trade, including 0.06% commission fees and 2-tick slippage, aligned with standard exchange conditions. The strategy report details backtesting results from the launch of BlackRock’s Spot ETFs. These settings are the script’s defaults, ensuring transparency. Traders are encouraged to verify results using TradingView’s Deep Backtest feature to adapt to current market conditions.
Please note: Past performance does not guarantee future results.
Chart and Usage
The chart is clean and intuitive, displaying only Breakout Core’s buy and sell signals for easy interpretation. Parameters are pre-optimized for immediate use, with adjustable Take Profit (TP) and Stop Loss (SL) levels. Traders should validate custom settings via TradingView’s backtesting tools to ensure market compatibility. An integrated Alarm Panel supports API connectivity, providing clear Entry/Exit commands for Long and Short positions, enabling seamless automated trading workflows.
Originality Statement
Breakout Core is an original strategy developed by SolidSignals, leveraging standard indicators (Bollinger Bands, EMAs, MAs) combined with a proprietary time-filter algorithm. No third-party or open-source code is used, ensuring full compliance with TradingView’s originality requirements. The time-filter mechanism, based on post-ETF volatility analysis, distinguishes this strategy from conventional breakout approaches.
Important Disclaimer
Market conditions evolve continuously, and past performance is not indicative of future results. Traders are responsible for validating the strategy’s settings and performance under current market conditions before use.
Altcoins DCA ScalperIntroduction
The Altcoins DCA Scalper is a Pine Strategy Script designed to automate Altcoins trading through 3Commas integration. It implements a Dollar-Cost Averaging (DCA) strategy that expands upon 3Commas' standard DCA capabilities, helping to manage risk while trading both long and short positions automatically.
This tool aims to assist both beginners exploring automated trading and experienced 3Commas users seeking dynamic DCA automation. The script is specifically designed for the 1-minute timeframe , where it has shown a good balance between performance and risk management. Complete setup typically takes less than 10 minutes, with a detailed guide making configuration straightforward for users of all experience levels.
------------------------------
🔶 What is DCA?
------------------------------
Dollar-cost averaging (DCA) refers to the practice of gradually increasing your position size at lower prices when trading long, or at higher prices when trading short, to achieve a better average entry price if the market moves against the initial entry . Instead of investing all capital at once, which could result in a significant drawdown if the price moves unfavorably, DCA spreads entries across different price levels to help manage potential drawdowns as they occur.
In this script, DCA is implemented through a system that:
🔹 Triggers safety orders only when/if needed (if take profit isn't reached quickly)
🔹 Dynamically adjusts order sizing based on market volatility
🔹 Automatically reduces take profit targets after each DCA order to increase the likelihood of a positive outcome
🔹 Can handle drawdowns depending on market volatility and settings
The images below illustrate two scenarios: one where an entry reaches the take profit directly, without activating DCA orders, and another where DCA is utilized, with the order closing positively after two DCA orders.
Case 1: Order closes in profit after entry
Case 2: Order closes in profit after 2 DCA orders (dynamically placed based on trend and volatility)
This DCA implementation aims to enhance standard 3Commas DCA by adding market-adaptive features while maintaining risk management principles.
------------------------------
🔶 Could this strategy script benefit you?
------------------------------
This script may be helpful if you are:
✅ Looking to automate your trading through 3Commas integration while maintaining full control of your assets
✅ Wanting to enhance 3Commas' standard DCA with market-adaptive features that consider:
Multi-timeframe trend analysis
Real-time volatility assessment
Dynamic safety order sizing and timing
✅ Seeking to minimize chart monitoring through full automation of:
Entry and exit decisions
Safety order management
Risk controls
✅ Interested in comprehensive performance tracking with:
Real-time position metrics
Detailed backtesting capabilities
Risk/reward analysis
Backtesting Metrics (script performance over the backtesting period - which is approx. 15 days on the 1min timeframe with the TradingView Pro Plan):
Current/Open Deal Metrics (the deal is currently under DCA, and waiting for further actions to close):
✅ Looking for trading automation that remains easy to set up and use
Note: While this script provides trading automation, successful trading requires proper education, risk management, and regular performance monitoring. No automated tool can guarantee trading success or profits.
------------------------------
🔶 How it Works
------------------------------
The Altcoins DCA Scalper provides trading automation through:
Market Analysis
* Multi-timeframe trend analysis (1m to 1d) for market direction and entry validation
* Volatility assessment (1h, 4h, 24h) benchmarked against TOTAL3 (excluding Top10 Altcoins and Stablecoins)
* Real-time adjustment of DCA parameters based on:
* Current volatility class (low/medium/high) vs. overall Altcoins market
* Market trend strength
* Price action dynamics
Trading Execution
* Position opening aligned with detected market trends
* "Beast Mode" base order sizing that increases position size during strong trends
* Dynamic take-profit targets that automatically reduce after each safety order to increase the likelihood of positive exits
* Dynamic DCA with safety orders that can:
* Adapt timing based on volatility
* Scale order sizes based on market conditions
* Handle 30-50% drawdowns depending on volatility class
* Execute up to 6 safety orders per position
Risk Management
* Emergency exits during extreme market events:
* "Black Swan" protection for long positions
* "God-Candle" protection for short positions
* Configurable stop-loss with volatility-based placement
* Trend-switch management with automated position reversal
* Position aging controls to prevent capital lock-up
* Leveraged trading protection with a pre-liquidation exit system
Integration & Automation
* Quick setup with two 3Commas bots (typically under 10 minutes)
* Fully automated signal generation and execution through 3Commas
* Detailed performance tracking including:
* Real-time position metrics
* DCA depth analysis
* Win rate and ROE calculations
* Pre-configured settings optimized for most pairs
* Multiple customization options for experienced users
Note: While this strategy employs automation and risk management, trading always carries the risk of loss. No system can guarantee profits, and market conditions significantly impact performance. Always do your own research and monitor your positions closely.
------------------------------
How to Use
------------------------------
Setting up the Altcoins DCA Scalper is quick and facilitated by the User Interface:
1️⃣ 3Commas/TradingView Setup
* Create two 3Commas accounts if using the FREE plan:
* One account for Long Bot
* One account for Short Bot
* This split allows full functionality while staying within 3Commas' free tier limits
* You do not need two separate accounts if you have a Paid 3Commas subscription
* While a free TradingView account works with the script, it limits you to one trading pair and a 4-day backtesting history. A paid TradingView subscription removes these limitations (such as the "Essential" plan).
2️⃣ Bot Configuration
* Create one Long and one Short DCA Bot in 3Commas
* Follow the setup guide available in the script itself for hassle-free configuration
* Copy Bot IDs and Email Token for script connection
* No complex settings needed - the script manages all DCA parameters by itself
3️⃣ Script Implementation
* Apply the script to your TradingView charts
* Use the built-in backtesting to analyze performance on different pairs
* Focus on USDT.P futures pairs with good volatility
4️⃣ Trading Activation
* Create TradingView alerts for each trading pair you want to activate
* Example: Set an alert for BINANCE: XRPUSDT.P following the in-script guide
* The script automatically manages all aspects:
* Entry and exit decisions
* DCA execution
* Risk management
* Position monitoring
Capital Requirements
* Important: Ensure sufficient capital to cover all activated pairs
* Consider volatility class when allocating capital to specific pairs
Once setup is complete, the script operates fully automatically while you maintain complete control of your funds through 3Commas and your exchange.
Note: While the setup is straightforward, always start with a small number of pairs and monitor performance before expanding. Trade responsibly and never risk more than you can afford to lose.
------------------------------
Explaining the Settings
------------------------------
The Altcoins DCA Scalper offers mulitple customization options during the setup process. All settings include detailed tooltips and default values.
Core Settings Sections:
1️⃣ 3Commas Connection
* Bot IDs and Email Token configuration
* Leverage settings (1x to 5x supported)
* Detailed 3Commas bot setup guide included
* Automatic bot control configuration
2️⃣ Trading Parameters
* Capital allocation per trade
* Timeframe verification
* Alert system setup
* Backtesting period control
* Performance tracking preferences
3️⃣ Advanced Features
🔹 Risk Management Suite
* Emergency exit controls (to strengthen protection against extraordinary market events)
* Customizable stop-loss system
* Trend-based exit management
* Position aging controls
* Liquidation protection features
* Advanced DCA controls
🔹 Performance Analytics
* Real-time position monitoring
* Comprehensive backtesting metrics
* DCA depth analysis
* Win rate calculations
* Capital efficiency tracking
🔹 Technical Optimizations
* Exchange minimum order adjustment
* Trading pair name override capability
* System stability controls
* Error handling mechanisms
🔹 Interface Customization
* Theme selection
* Chart overlay options
* Warning display preferences
* Performance metrics visibility
All settings come pre-configured but can be fully customized based on your trading preferences and risk tolerance. The script includes tooltips and setup guides for each option.
Note: While default settings may be tested, market conditions vary and all trading involves risk. Monitor performance and adjust settings according to your risk management requirements.
------------------------------
Frequently Asked Questions
------------------------------
Here are some common questions you may have, and our answers:
❓ Is this tool only for experts? I'm new to algo trading, can I use it?
No, the Altcoins DCA Scalper could be used by both beginners and experienced traders. The setup process is guided, and the algorithm handles all the calculations in the background.
❓ I'm not familiar with 3Commas. Is that a problem?
While the script is designed to work with 3Commas, a step-by-step guide is provided within the script to help you set up your 3Commas accounts and bots, if needed.
❓ Do I need to constantly monitor the script after it's set up?
No, after the initial setup and configuration, the script operates autonomously. It handles all aspects of trading including entries, exits, DCA management, and risk controls. However, we recommend:
* Checking performance metrics daily
* Reviewing position statistics weekly
* Adjusting pair selection monthly based on performance
* Monitoring overall market conditions that might require adjustments
❓ Can I use it with leverage?
Yes, the script is designed to work with leverage up to 5x on perpetual futures pairs (USDT.P). It includes specific features for leveraged trading:
* Dynamic safety order placement based on distance to liquidation
* Pre-liquidation exit system to minimize exchange fees
* Adjustable take-profit targets optimized for leveraged positions
* Emergency exit system for extreme market movements
* Optional risk controls specific to leverage:
* Automatic exit in the liquidation danger zone
* Position size scaling based on leverage level
* Safety order adjustments for different leverage settings
While leverage can amplify returns, it also increases risk. We recommend starting with lower leverage (2x), or no leverage at all, until familiar with the script's operation.
❓ Does this script guarantee profits?
No, no script or trading strategy can guarantee profits. The Altcoins DCA Scalper provides a framework for implementing an automated DCA strategy, but your success will depend on many different factors and conditions.
❓ Do I need to understand the complex algorithms used in the script?
No, it’s not necessary. The logic is handled by the script, and you do not need to understand every detail to use it effectively. However, a basic knowledge of DCA concepts will be beneficial.
❓ Can I use this script with spot or leveraged trades?
The script is optimized for USDT.P pairs (perpetual futures) with leverage up to 5x. This allows:
* Automatic long/short position management
* Increased capital utilization
* Full DCA functionality without holding the underlying assets
* Enhanced risk management features specific to futures
While spot trading is possible, it requires holding underlying assets for shorts and doesn't access the script's full capabilities.
❓What timeframe should I use?
This script is optimized for the 1-minute timeframe , which is the recommended setting for the best balance between performance, capital efficiency, and risk. While we recommend using the tool on the 1 minute TF, it would work on other timeframes too.
❓ What happens if my internet/computer goes down?
Since the script sends signals from Tradingview to 3Commas (which executes trades on your exchange), your positions and DCA management continue to function even if your TradingView chart is closed or your computer is off. The script only needs to be active to generate new signals.
❓ How are the DCA parameters determined?
The script dynamically adjusts DCA parameters based on:
* The pair's volatility class (compared to the overall altcoin market)
* Current market conditions and volatility
* Position direction (long/short)
* Leverage settings
* Number of safety orders already executed
This allows for adaptive/dynamic DCA compared to static or %-based parameters.
❓ What exchanges are supported?
The script works with any exchange supported by 3Commas for futures trading (approximately 15 different crypto Exchanges). However, it's optimized for Binance Futures (USDT.P pairs) due to its high liquidity and for consistency.
❓ What happens during extreme market conditions?
The script includes some (optional) protective measures that can be activated:
* Emergency exits during sharp and abnormal market moves
* Automatic adjustment of DCA parameters during high volatility
* Position closure on significant trend changes
* Special handling of aged positions
These features aim to protect capital during unusual market conditions.
❓How many pairs can I trade simultaneously?
This depends on your total capital. As a general indication, define the number of pairs to activate based on:
* Total available capital
* Desired position size per pair
* Risk tolerance
* Pairs' volatility class
------------------------------
Final Thoughts
------------------------------
We believe that your trading performance will greatly depend on your selection of appropriate trading pairs for this script (high volatility), and your commitment to regularly monitoring its performance and adjust the settings, rather than on the script alone.
------------------------------
⚠️ Risk Disclaimer
------------------------------
Remember that trading involves risk, and most day traders experience losses. This script is for educational and informational purposes only. Past performance does not guarantee future results. This is not financial advice, and you should always do your own research (DYOR). Trade responsibly with capital you can afford to lose.
The Altcoins DCA Scalper is an independent tool and is not endorsed, connected, or validated by TradingView.
3Commas is a third-party service, and TradingView is not responsible for the 3Commas integration or the performance of 3Commas bots. You are solely responsible for the security and management of your 3Commas account. Do not share your 3Commas access credentials (like login information, Bots-ID, Email Token) with anyone. The Author of the script has no access to such information, and nobody (but you) should.
TheHorsyAlgoPROThe Horsy algo is an automated strategy that uses any minute Higher timeframe range as reference and search for a purge of liquidity on the HTF high or low where buyside or sell side liquidity is, the algo only search this at specific desired times that can be configured according to the time you usually trade, the strategy is known as Turtle soup purge and reverse or lately as CRT.
Why is useful?
The purpose of this Algorithm is to help turtle soup traders to quickly identify when the market is likely to reverse the algo evaluates if the opportunity is worth it, base on risk reward and other desired filters. Also this strategy can help to quickly backtest the trader strategy it can be configured in different timeframes and adapt to the trader personality, they can easily see the results and statistics and notice if its profitable or not.
This algo is useful for intraday traders looking for a purge and reverse at a key times and at key HTF price levels this only looks the previous HTF highs and lows but is important to also monitor Order blocks, FVGs, gaps, or wicks to have the best results.
How it works and how it does it?
The Horsy algo simply Jumps from one type of liquidity to another one buyside to sell side or vice versa. In order for the algo to trigger an entry it has to meet these conditions
1. Take HTF liquidity, trade above a HTF high or below a HTF low in the selected time window
2. Make a change in the state of delivery with a close below the previous candle low for shorts and close above previous candle high for longs.
3. Allow for a reasonable risk reward, it will use the highest high for shorts and the lowest low for longs. The default take profit is the opposite side of the range.
4. Validate others user filters this include enter only trades aligned with the HTF bias, or trades aligned with the LTF bias or booth. The algo have the option to enter only premium and discount entries. And finally, an option to allow for different contract sizes depending of the maximum percent of the account we want to risk default is 1%. For this last option is important to check the initial balance and leverage are configured correctly, is disable by default because it requires more capital to perform well.
We can see the algo performing in the picture below with a short trade, notice there are some white lines, they are the high or the low of HTF candle that start generating inside candles in the HTF meaning a possible consolidation. The algo plots the HTF ranges in a shaded boxes as you can see below
The HTF bias as you can see in the picture is calculated based on the last close of the HTF meaning close above previous HTF high is bullish close below previous HTF low is bearish. This HTF bias level is also the last HTF mid-price or 50%. By default, this line is enabled.
The LTF bias is calculated based on the range created from the expansion outside the previous HTF range is also the mid-price. If the LTF close above previous HTF high is bullish and if the LTF close below previous HTF low is bearish. By default this LTF bias line is disable.
This strategy includes an original and personal developed code that uses dealing ranges to recognize if the market is expanding, retracing, reversing or consolidating. This allow the algo to exit the position when it detects a retracement or at the end of the expansion. This is the default exit type.
You can monitor the previous dealing ranges created in history with an option than can be enable, by default is disable, this ranges are created after price takes buyside and then sell side or vice versa. So this dealing ranges can be useful also to identify minor pools of liquidity and premium and discount in the lower timeframe.
The picture below is a long example, the exit in this case is just at the high of the range. The normal take profit is in a blue line for longs.
How to use it?
First select the desired HTF timeframe recommended is from 30min to 240min then you setup the chart on the lower timeframe you want to trade recommended is from 1min to 15min to enter. By default This strategy is designed to work for intraday during key times when price take stops and then moves quickly away from them. You can select as much as 6 different times or just one. After you select the desired time window where the algo will look for the purge and reverse, They are highlighted in the candles that change colors excluding the gray ones that indicates consolidation.
Then the Algo allow to performs several additional filters in the entries you can select if you want to trade only longs or shorts trades, you can select when to move the stop loss to Break even. In deviations of the risk or you can just select to remove risk when price hits the 50% of previous HTF range.
You can select the minimum desired risk reward of the trade before is allow to be taken. Once is configured correctly the algo should trigger signals with a triangle up or down plus the strategy entry.
At the beginning of the picture there are some blue lines in the HTF high low and close, this is to easily identify that the market is in the Asia session, the time can be configured by the user, these lines are normally gray.
On the right top of the screen you can see some statistics about the strategy how many trades it took, ARR is an approximated value of the accumulated total risk reward of all the trades when they get closed in the simulation.
Profit factor and percent profitable are also shown should be green it means that the strategy makes money over time. But apart from that is important to notice how it makes money it is stable over time? it is a roller coaster? that why I Include this other measurements MxcsTps is the maximum consecutives take profits and Mxcsls is the maximum consecutive stop losses it takes, the slash number after it is the consecutive Break evens. So this way you know what to expect and what is normal in the strategy.
The algo shows all the times the stop loss, take profit and break even level if enable in the colored red lines for short and blue lines for longs. You can also select how price will manage the profit or stoploss point meaning that you can choose to wait for the candle to close to invalidate your idea or to take profit. This is good to avoid liquidity sweeps but can also lead to mayor loses if the idea is wrong. The default setting is to close the trade when price takes the high or low where the stoploss is, the take profit is taken after a retracement to allow to profit on expansions. You can select also to exit on a reversal if you want to ride all the move. This last option has to be used with caution because sometimes price just retrace or reverse very fast decreasing the trade profit and overall strategy performance.
The algo have the option to use standard deviation from the normal risk if you prefer to prevent liquidity sweeps near the stop level this make wider stops but can lead to increased loses so it has to be used carefully.
Below is a picture that show the entry stop and take profit levels with an exit on a retracement activated.
Strategy Results
The backtesting results are obtained simulating a 2000usd account in the Micro Nasdaq using 1 contract per trade. Commission are set to 2usd per contract, slippage to 1tick. You can see in list of trades we are not risking more than 1 % percent of the account. The backtested range is from august to November 2024. This strategy doesn’t generate too much trades because of the time filters and conditions that has to be meet to take an entry but you can see the results of the last 4months with the available data that are around 32 trades.
The default settings for this strategy is HTF as 240min designed to work on a LTF 5min chart, the default purge times are 245-300, 745-800, 845-900, 1045-1100 and 1245-1300 UTC-4, the algo will look for shorts or longs, with a minimum risk reward of 2.0. With an additional filter of the HTFBias. The take profit is by default taken on the first retracement after hitting the target. The default settings are optimized to work on the Nasdaq or Spy, but can also perform well in other assets with the correct adjustments.
Remember entries constitute only a small component of a complete winning strategy. Other factors like risk management, position-sizing, trading frequency, trading fees, and many others must also be properly managed to achieve profitability. Past performance doesn’t guarantee future results. To really take advantage of this strategy you have to study turtle soup and the HTF key levels use this only as a confirmation that your overall idea will play out and use it to backtest your model.
Summary of features
·Adaptable strategy to different HTF timeframes from 1-1440min
· Select up to 6 different purge time windows UTC-4, UTC-5
· Choose desired Risk Reward per trade
· Easily see the HTF high low close and 50% key levels in the LTF
· Identify HTF consolidations that generate key major liquidity pools
· HTF/LTF bias filters to trade in favor of the big trend or in sync
· Shaded boxes that indicate if the market is bullish, bearish or consolidating
· See the current midpoint of the last expansion move
· Optimal trade entry filter to trade only in a discount or premium
· Customizable trade management take profit, stop, breakeven level
· Option to exit on a close, retracement or reversal after hitting the take profit level
· Option to exit on a close or reversal after hitting stop loss
· Configurable breakeven point with standard deviations or at 50% of the HTF
· Calculate different contract sizes depending of a percentage of the initial balance
· Standard deviations from normal risk can be used to prevent liquidity sweeps
· See dealing ranges history to check minor pools of liquidity and premium or discount
· Dashboard with instant statistics about the strategy current settings
LuxAlgo - Backtester (OSC)The OSC Backtester is an innovative strategy script that allows users to create a wide variety of strategies using various unique oscillators.
By utilizing our 'Step' and 'Match' algorithms, users can create custom and complex strategy entries from each of the supported oscillators and included conditions, as well as any external sources, allowing users to create entries from a sequence of conditions and/or multiple matching conditions.
We included a complete alert system that will send a notification for each action taken by the strategy and we also allow users to set custom messages for each action taken by a strategy.
🔶 Features
🔹 Step & Match Algorithm
More complex entry rules can be created by using multiple conditions together, this is done thanks to the Step dropdown setting on the right of each condition.
The Step setting is directly related to the Step & Match algorithm and works in two ways:
When two or more conditions have the same step number, both conditions are evaluated. Used to test matching conditions.
When two or more conditions have different step numbers, each conditions will be evaluated in order, testing for the first step and switching to the next step once the previous one is true. When the final step is true the strategy will open a market order. Used to create sequence of conditions.
This operation is complementary, as you can create a sequence of conditions with one step consisting of two or more matching conditions as long as they have the same step number.
🔹 Fully Customizable Entries From Various Oscillators And Conditions
We allow the users to set entries using our unique HyperWave, Smart Money Flow, and their derived conditions as entries.
The Hyper Wave is a normalized adaptive oscillator aiming to reflect price trends without returning a high amount of noise.
The Smart Money Flow aims to detect trends based on market activity, by doing a comparative analysis between current volume and historical volume. A Smart Money Flow above 50 suggest market participants are bullish, else bearish. Derived from this oscillator we have Overflow indications, this indicator detects when market is overbought or oversold based on participants activity.
Other entries include proprietary reversal signals, real-time divergence detection, oscillator confluence (indicating how aligned each oscillator is), as well as entries using external sources.
🔹 Complete Alert System
Users can get alerted for any action executed by a strategy, from opening positions to closing them.
The message field in the Alert Messages setting section allows for the strategy to send a custom alert message depending on the action taken by the strategy, if no messages are set the strategy will send default messages.
🔶 Usage
Users can create a wide variety of strategies from this script, whether they are trend-following or contrarian traders.
Let's see a contrarian (revesal-based) strategy example using the following entry conditions:
Long: Hyperwave bullish divergence and oversold Hyperwave (lower than 20).
Short: Hyperwave bearish divergence and overbought Hyperwave (greater than 20).
We can also introduce take-profit and stop-loss exit conditions based on external indicators, allowing more control over exits in our strategy. For example:
Long: Hyperwave crossing over 50 while money flow is bearish.
Short: Hyperwave crossing under 50 while money flow is bullish.
Exit Long on a profit (long exit tp): Hyperwave crossing 80.
Exit Short on a profit (short exit tp): Hyperwave crossing 20.
While this strategy script can be used as a standalone, we recommend using other indicators creatively to assist with entries and exits as well as TP/SLs.
Our Step & Match algorithm can magnify interoperability, allowing for way more complete strategies through complex conditions, let's demonstrate this using the following entries:
Long: Any bullish reversal occurring after the price crosses over the lowest upper reversal zone of the Signals & Overlays™.
Short: Any bearish reversal occurring after the price crosses under the highest lower reversal zone of the Signals & Overlays™.
Long TP/SL: 5 ATR's away from the entry price.
Short TP/SL: 5 ATR's away from the entry price.
🔶 Strategy Properties (Important)
This script backtest is done on daily EURGBP, using the following backtesting properties:
Balance (default): 10 000 (default base currency)
Order Size: 10% of the equity
Comission: 3.4 pips (average spread for EURGBP)
Slippage: 3 tick
Stop Loss: 0.02 points away from entry price
We use these properties to ensure a realistic preview of the backtesting system, do note that default properties can be different for various reasons described below:
Order Size: 1 contract by default, this is to allow the strategy to run properly on most instruments such as futures.
Comission: Comission can vary depending on the market and instrument, there is no default value that might return realistic results.
We strongly recommend all users to ensure they adjust the Properties within the script settings to be in line with their accounts & trading platforms of choice to ensure results from the strategies built are realistic.
🔶 How To Access
You can see the Author's Instructions below to learn how to get access.
Double AI Super Trend Trading - Strategy [PresentTrading]█ Introduction and How It is Different
The Double AI Super Trend Trading Strategy is a cutting-edge approach that leverages the power of not one, but two AI algorithms, in tandem with the SuperTrend technical indicator. The strategy aims to provide traders with enhanced precision in market entry and exit points. It is designed to adapt to market conditions dynamically, offering the flexibility to trade in both bullish and bearish markets.
*The KNN part is mainly referred from @Zeiierman.
BTCUSD 8hr performance
ETHUSD 8hr performance
█ Strategy, How It Works: Detailed Explanation
1. SuperTrend Calculation
The SuperTrend is a popular indicator that captures market trends through a combination of the Volume-Weighted Moving Average (VWMA) and the Average True Range (ATR). This strategy utilizes two sets of SuperTrend calculations with varying lengths and factors to capture both short-term and long-term market trends.
2. KNN Algorithm
The strategy employs k-Nearest Neighbors (KNN) algorithms, which are supervised machine learning models. Two sets of KNN algorithms are used, each focused on different lengths of historical data and number of neighbors. The KNN algorithms classify the current SuperTrend data point as bullish or bearish based on the weighted sum of the labels of the k closest historical data points.
3. Signal Generation
Based on the KNN classifications and the SuperTrend indicator, the strategy generates signals for the start of a new trend and the continuation of an existing trend.
4. Trading Logic
The strategy uses these signals to enter long or short positions. It also incorporates dynamic trailing stops for exit conditions.
Local picture
█ Trade Direction
The strategy allows traders to specify their trading direction: long, short, or both. This enables the strategy to be versatile and adapt to various market conditions.
█ Usage
ToolTips: Comprehensive tooltips are provided for each parameter to guide the user through the customization process.
Inputs: Traders can customize numerous parameters including the number of neighbors in KNN, ATR multiplier, and types of moving averages.
Plotting: The strategy also provides visual cues on the chart to indicate bullish or bearish trends.
Order Execution: Based on the generated signals, the strategy will execute buy or sell orders automatically.
█ Default Settings
The default settings are configured to offer a balanced approach suitable for most scenarios:
Initial Capital: $10,000
Default Quantity Type: 10% of equity
Commission: 0.1%
Slippage: 1
Currency: USD
These settings can be modified to suit various trading styles and asset classes.
Kioseff Trading - AI-Powered Strategy Optimizer Introducing the Kioseff Trading AI-Powered Strategy Optimizer
Optimize and build your trading strategy with ease, no matter your experience level. The Kioseff Trading AI-Powered Strategy Optimizer allows traders to efficiently test and refine strategies with thousands of different profit targets and stop loss settings. Integrated with TradingView's backtester, this tool simplifies strategy optimization, strategy testing, and alert setting, enabling you to enhance your strategy with AI-driven insights.
Key Features:
Comprehensive Testing : Simultaneously test thousands of profit targets and stop losses to fine-tune your strategy.
Dual Strategy Optimization : Adjust and optimize both long and short strategies for balanced performance.
AI Integration : Elevate your strategy with heuristic-based adaptive learning, turning it into a smart, AI-assisted system.
Detailed Analysis : View critical metrics like profit factor, win rate, max drawdown, and equity curve, presented in a strategy script format.
Customizable Alerts : Set alerts for the best version of your strategy.
Flexible Risk Management : Optimize various stop loss types, including profit targets, limit orders, OCO orders, trailing stops, and fixed stops.
Targeted Goals : Choose optimization goals like highest win rate, maximum net profit, or most efficient profit.
Indicator Compatibility : Integrate any strategy/indicator, whether it’s your creation, a favorite author’s, or any public TradingView indicator.
Accessible Design : Navigate a user-friendly interface suitable for traders of all skill levels. No code required.
Precision Lock-In : “Lock” your optimal profit target or stop loss to drill down into precision testing of other variables.
How it works
It's important to remember that merely having the AI-Powered Strategy Optimizer on your chart doesn't automatically provide you with the best strategy. You need to follow the AI's guidance through an iterative process to discover the optimal settings for your strategy.
The Trading Strategy Optimizer is a versatile tool tailored for both non-coding traders and seasoned algorithmic trading professionals. Let's start with no-code-required instructions on how to use the optimizer.
Instructions: How To Optimize Your Strategy Without Code
1. Build your strategy in the settings
The image above shows explanations for each key setting.
Note: This example uses the RSI indicator to initiate a long trade whenever it dips below the 30 mark.
Ensure that the indicator you wish to optimize is already applied to your chart . This enables the Trading Strategy Optimizer to interact with the indicator and finetune profit targets and stop losses effectively.
Because the indicator is plotted on the chart I can access the indicator with the Trading Strategy Optimizer and optimize profit targets and stop losses for it.
2. Leverage AI Recommendations
Optimization Prompt: After you load your strategy, the tool advises you on new TP and SL levels that could be more profitable.
When your strategy is set, the tool gives you tips for where to set your profit goal (TP) and your stop loss to help you optimize your strategy. It'll tell you if there's a better range for these settings based on past results.
Follow Suggestions: Keep updating your TP and SL according to the tool's suggestions until it says "Best Found".
Final Result: The last image shows the best settings found by the indicator.
(Optional Step 3)
3. Lock the profit target or stop loss to further fine tune your strategy
Continue following the AI’s suggestion until “Best Found” is displayed.
Note: you can select lock either your stop loss or profit target for fine tuning. For this demonstration we will lock our profit target.
Code-Required Instructions (Optional)
You can backtest more code-intensive strategies, such as harmonic patterns, traditional chart patterns, candlestick patterns, Elliot wave, etc., by coding the entry condition in your own script and loading it into the Trading Strategy Optimizer. Let's dial in on how to achieve this!
1. You must create an integer variable in your script with an initial value of "0".
2. Define your entry condition in the code. Once complete, assign the value "1" to the variable you created if the entry condition is fulfilled.
3. Plot your variable.
4. Select the plotted variable in the settings for the Trading Strategy Optimizer
The image above shows a coded entry condition for the linear regression channel (which can be any indicator). When price crosses under and closes below the lower line our variable "strategyEntryVariable" is assigned the value "1".
The Trading Strategy Optimizer will treat this change in value from "0" to "1" as an entry signal and enter long/short up to 1000 times at the price where the entry condition was fulfilled.
5. Test Your Strategy
The image above shows the completion of the process! Keep applying the steps we described. Stick with the AI's recommendations until you see “Best Found” show up.
By following these instructions, you can build, test, and optimize almost any trading indicator or strategy!
So, just note that the Trading Strategy Optimizer considers a change in value of a plotted variable from "0" to "1" as an entry signal! So long as you follow this rule you should be able to test and optimize any conceivable, Pine Script compatible strategy!
AI Mode
AI Mode incorporates Heuristic-Based Adaptive Learning to fine-tune trading strategies in a continuous manner. This feature consists of two main components:
Heuristic-Based Decision Making: The algorithm evaluates multiple versions of your strategy using specific metrics such as Profit and Loss (PNL), Win Rate, and Most Efficient Profit. These metrics act as heuristics to assist the algorithm in identifying suitable profit targets and stop losses for trade execution.
Online Learning: The algorithm updates the performance evaluations of each strategy based on incoming market data. This enables the system to adapt to current market conditions.
Incorporating both heuristic-based decision-making and online learning, this feature aims to provide a framework for trading strategy optimization.
Settings
AI Mode Aggressiveness:
Description: The "AI Mode Aggressiveness" setting allows you to fine-tune the AI's trading behavior. This setting ranges from "Low" To "High, with higher aggressiveness indicating a more assertive trading approach.
Functionality: This feature filters trading strategies based on a proprietary evaluation method. A higher setting narrows down the strategies that the AI will consider, leaning towards more aggressive trading. Conversely, a lower setting allows for a more conservative approach by broadening the pool of potential strategies.
Adaptive Learning Aggressiveness:
Description: When Adaptive Learning is enabled, the "Adaptive Learning Aggressiveness" setting controls how dynamically the AI adapts to market conditions using selected performance metrics.
Functionality: This setting impacts the AI's responsiveness to shifts in strategy performance. By adjusting this setting, you can control how quickly the AI moves away from strategies that may have been historically successful but are currently underperforming, towards strategies that are showing current promise.
Additional Settings
Optimization
Trading system optimization is immensely advantageous when executed with prudence.
Technical-oriented, mechanical trading systems work when a valid correlation is methodical to the extent that an objective, precisely-defined ruleset can consistently exploit it. If no such correlation exists, or a technical-oriented system is erroneously designed to exploit an illusory correlation (absent predictive utility), the trading system will fail.
Evaluate results practically and test parameters rigorously after discovery. Simply mining the best-performing parameters and immediately trading them is unlikely a winning strategy. Put as much effort into testing strong-performing parameters and building an accompanying system as you would any other trading strategy. Automated optimization involves curve fitting - it's the responsibility of the trader to validate a replicable sequence or correlation and the trading system that exploits it.
Customizable Non-Repainting HTF MACD MFI Scalper Bot StrategyThis script was originally shared by Wunderbit as a free open source script for the community to work with.
WHAT THIS SCRIPT DOES:
It is intended for use on an algorithmic bot trading platform but can be used for scalping and manual trading.
This strategy is based on the trend-following momentum indicator . It includes the Money Flow index as an additional point for entry.
HOW IT DOES IT:
It uses a combination of MACD and MFI indicators to create entry signals. Parameters for each indicator have been surfaced for user configurability.
Take profits are fixed, but stop loss uses ATR configuration to minimize losses and close profitably.
HOW IS MY VERSION ORIGINAL:
I started trying to deploy this script myself in my algorithmic trading but ran into some issues which I have tried to address in this version.
Delayed Signals : The script has been refactored to use a time frame drop down. The higher time frame can be run on a faster chart (recommended on one minute chart for fastest signal confirmation and relay to algotrading platform.)
Repainting Issues : All indicators have been recoded to use the security function that checks to see if the current calculation is in realtime, if it is, then it uses the previous bar for calculation. If you are still experiencing repainting issues based on intended (or non intended use), please provide a report with screenshot and explanation so I can try to address.
Filtering : I have added to additional filters an ABOVE EMA Filter and a BELOW RSI Filter (both can be turned on and off)
Customizable Long and Close Messages : This allows someone to use the script for algorithmic trading without having to alter code. It also means you can use one indicator for all of your different alterts required for your bots.
HOW TO USE IT:
It is intended to be used in the 5-30 minute time frames, but you might be able to get a good configuration for higher time frames. I welcome feedback from other users on what they have found.
Find a pair with high volatility (example KUCOIN:ETH3LUSDT ) - I have found it works particularly well with 3L and 3S tokens for crypto. although it the limitation is that confrigurations I have found to work typically have low R/R ratio, but very high win rate and profit factor.
Ideally set one minute chart for bots, but you can use other charts for manual trading. The signal will be delayed by one bar but I have found configurations that still test well.
Select a time frame in configuration for your indicator calculations.
Select the strategy config for time frame. I like to use 5 and 15 minutes for scalping scenarios, but I am interested in hearing back from other community memebers.
Optimize your indicator without filters (trendFilter and RSI Filter)
Use the TrendFilter and RSI Filter to further refine your signals for entry. You will get less entries but you can increase your win ratio.
I will add screenshots and possibly a video provided that it passes community standards.
Limitations: this works rather well for short term, and does some good forward testing but back testing large data sets is a problem when switching from very small time frame to large time frame. For instance, finding a configuration that works on a one minute chart but then changing to a 1 hour chart means you lose some of your intra bar calclulations. There are some new features in pine script which might be able to address, this, but I have not had a chance to work on that issue.
Density & Step Grid Strategies BacktesterThis contains several signals for backtesting strategies only in binance futures assets.
HOW IT WORKS
Grid trading is a trading strategy where an investor creates a so-called "price grid". The basic idea of the strategy is to repeatedly buy at the pre-specified price and then wait for the price to rise above that level and then sell the position (and vice versa with shorting or hedging). We introduce 2 grids trading algorithms "Step" and "Density" .
FEATURES
Grid size: This algorithm has a max of 20 orders.
Take profit: The trader can increase or decrease the distance between the grids from the User Interface panel, is the the distance from average price.
Management: The algorithm distributes the capital for all orders depending on the amount fator, for example 1.1% of amount factor adds 10% over the previus order.
Stop Loss: The algorithm place the stopn using distance from the last lower / upper grid depending on the position side.
USES
Indispensable research and backtesting tool for those using bots for their investments. The algorithm produces a backtesting of the strategy for past history. It is used by professional traders to understand if this strategy has been profitable on a market and what parameters to use for bots using this strategy, only binance futures assets supported.
If you would like to develop your own algorithm with customized conditions based on a grid strategy, please contact us.
If you need help in using this tool, please contact us without hesitation.
Octopus_AlgoGram_IndicatorHello traders!
I have been developing Octopus trading indicator over the last year. This algorithm indicator is based on a set of different strategies, each with its own weight (weighted strategy). The set of strategies that I currently use are 5:
Volume
ADX
MA crossover
Macd
Chaikin Oscillator
Moreover, this indicator includes STOP losses criteria and a taking profit strategy. this indicator must be optimized for the desired asset to achieves its full potential.
Best Time-Frame :
The 10 & 23 Minutes Time frame give good results. The algo has been tested for several asset (same dataframe, different optimization values).
When to Buy & Sell :
Buy Entry & Exit : Take entry when Green Arrow or Buy Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Sell Exit & Exit : Take entry when Red Arrow or Sell Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Important note:
Backtest the algorithm with different data stamps to avoid overfitting results
How it works:
The algorithm is based on a combination of well-documented indicators. First, the algorithm calculated the weight_strategy, which represents a value from 0 to 5 of the number of strategies that are fulfilled (in case the weight of each strategy is the same). To open a position, the value of weight_strategy must be greater than the value of weight_signal, by default 2. Modify the indicator parameters for the desired asset and data frame. Set stop-loss and take profit criteria.
Features:
* The algorithm allows to trade with long, short or both positions.
* Backtest the algorithm over a defined interval (data stamp), e.g., from 2022
* stop loss (SL) orders based on movement of the previous candle source, e.g., close or candle volatility . Only close the position after the candle is close!
* It can moves the stop loss when this indicator takes profit (TP)
* Take profit based on market movement and once all condition true they push exit order
* Define delays to evaluate the strategies of more previous candles:
+ Candle delay Exit is the number of candles the algorithm waits to open a new position.
* Choose if you want to use the weighted strategy or just some of them.
* Choose the weight (relevance) of each strategy.
* Customize the well documented MA cross strategy.
Disclaimer :
AlgoGram Script,Indicator,Strategy,Trading Idea & presentations are only for educational & Research purposes and are not intended as investment advice. I cannot guarantee the accuracy of any information provided above , please take trade with help of your Financial adviser or on your own risk
Cheers! & Best Of Luck
By AlgoGram
Eagle_AlgoGram_IndicatorHello traders!
I have been developing Eagle trading indicator over the last year. This algorithm indicator is based on a set of different strategies, each with its own weight (weighted strategy). The set of strategies that I currently use are 4:
Stochastic RSI
ADX
MA crossover
Keltner Channel
Moreover, this indicator includes STOP losses criteria and a taking profit strategy. this indicator must be optimized for the desired asset to achieves its full potential.
Best Time-Frame :
The 5 & 8 Minutes Time frame give good results. The algo has been tested for several asset (same dataframe, different optimization values).
When to Buy & Sell :
Buy Entry & Exit : Take entry when Green Arrow or Buy Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Sell Exit & Exit : Take entry when Red Arrow or Sell Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Important note:
Backtest the algorithm with different data stamps to avoid overfitting results
How it works:
The algorithm is based on a combination of well-documented indicators. First, the algorithm calculated the weight_strategy, which represents a value from 0 to 5 of the number of strategies that are fulfilled (in case the weight of each strategy is the same). To open a position, the value of weight_strategy must be greater than the value of weight_signal, by default 2. Modify the indicator parameters for the desired asset and data frame. Set stop-loss and take profit criteria.
Features:
* The algorithm allows to trade with long, short or both positions.
* Backtest the algorithm over a defined interval (data stamp), e.g., from 2022
* stop loss (SL) orders based on movement of the previous candle source, e.g., close or candle volatility . Only close the position after the candle is close!
* It can moves the stop loss when this indicator takes profit (TP)
* Take profit based on market movement and once all condition true they push exit order
* Define delays to evaluate the strategies of more previous candles:
+ Candle delay Stoch RSI is for the Stochastic RSI strategy.
+ Candle delay Exit is the number of candles the algorithm waits to open a new position.
* Choose if you want to use the weighted strategy or just some of them.
* Choose the weight (relevance) of each strategy.
* Customize the well-documented Stochastic RSI strategy.
* Customize the well documented MA cross strategy.
Disclaimer :
AlgoGram Script,Indicator,Strategy,Trading Idea & presentations are only for educational & Research purposes and are not intended as investment advice. I cannot guarantee the accuracy of any information provided above , please take trade with help of your Financial adviser or on your own risk
Cheers! & Best Of Luck
By AlgoGram
Shark_AlgoGram_IndicatorHello traders!
I have been developing Shark trading indicator over the last year. This algorithm indicator is based on a set of different strategies, each with its own weight (weighted strategy). The set of strategies that I currently use are 6:
MACD
Stochastic RSI
RSI
Supertrend
MA crossover
Donchin Channel
Moreover, this indicator includes STOP losses criteria and a taking profit strategy. this indicator must be optimized for the desired asset to achieves its full potential.
Best Time-Frame :
The 30 & 31 Minutes Time frame give good results. The algo has been tested for several asset (same dataframe, different optimization values).
When to Buy & Sell :
Buy Entry & Exit : Take entry when Green Arrow or Buy Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Sell Exit & Exit : Take entry when Red Arrow or Sell Trigger on screen & Exit when Purple Arrow or exit trigger on screen
Important note:
Backtest the algorithm with different data stamps to avoid overfitting results
How it works:
The algorithm is based on a combination of well-documented indicators. First, the algorithm calculated the weight_strategy, which represents a value from 0 to 5 of the number of strategies that are fulfilled (in case the weight of each strategy is the same). To open a position, the value of weight_strategy must be greater than the value of weight_signal, by default 2. Modify the indicator parameters for the desired asset and data frame. Set stop-loss and take profit criteria.
Features:
* The algorithm allows to trade with long, short or both positions.
* Backtest the algorithm over a defined interval (data stamp), e.g., from 2022
* stop loss (SL) orders based on movement of the previous candle source, e.g., close or candle volatility. Only close the position after the candle is close!
* It can moves the stop loss when this indicator takes profit (TP) & Market true such condition where trailing SL Activate
* Take profit based on market movement and once 3 condition true out of 6 True they push exit order
* Define delays to evaluate the strategies of more previous candles:
+ Candle Delay is for MACD strategy
+ Candle delay Stoch RSI is for the Stochastic RSI strategy.
+ RSI Candle Delay is for the RSI strategy.
+ Candle delay Exit is the number of candles the algorithm waits to open a new position.
* Choose if you want to use the weighted strategy or just some of them.
* Choose the weight (relevance) of each strategy.
* Customize the well-documented MACD strategy.
* Customize the well-documented Stochastic RSI strategy.
* Customize the well-documented RSI strategy.
* Customize the well-documented Supertrend strategy.
* Customize the well documented MA cross strategy.
Disclaimer :
AlgoGram Script,Indicator,Strategy,Trading Idea & presentations are only for educational & Research purposes and are not intended as investment advice. I cannot guarantee the accuracy of any information provided above , please take trade with help of your Financial adviser or on your own risk
Cheers! & Best Of Luck
By AlgoGram
Acrypto - Weighted StrategyHello traders!
I have been developing a fully customizable algo over the last year. The algorithm is based on a set of different strategies, each with its own weight (weighted strategy). The set of strategies that I currently use are 5:
MACD
Stochastic RSI
RSI
Supertrend
MA crossover
Moreover, the algo includes STOP losses criteria and a taking profit strategy. The algo must be optimized for the desired asset to achieves its full potential. The 1H and 4H dataframe give good results. The algo has been tested for several asset (same dataframe, different optimization values).
Important note:
Backtest the algorithm with different data stamps to avoid overfitting results
Best,
Alberto
hamster-bot PDD Pump and Dump DetectorPump and Dump detector by hamster-bot
strategy author: foresterufa
Pump and Dump detector (PDD)
This is a trend strategy, with a unique mechanism of multi-stage re-entry into a position (Take Profit-Entry) when a significant trend develops, based on our HiDeep indicator.
Positions are opened by the HiDeep indicator signal with trend direction filtering and volatility filtering. Positions are closed by a HiDeep indicator signal or a change in the trend direction.
The position can be accompanied by a unique Stoploss trailing MA.
PowerBot Binary Backtest FrameworkHello Traders,
This is the backtest framework for testing the Powerbot algorithm before activating alerts which can be used for precise Trading.
Powerbot can be used across any timeframe and across any expiration based on the performance
This backtest comes with some features to help traders make a decision on the following:
When using the indicator itself.
1. We use our proprietary algorithm - "Powerbot binary algorithm script", which is Public but can only be accessed based on request. If you would like to use the algorithm please ensure you have tested different assets and varying expiration for your trades through the backtest - if you don't know how to do that please contact us by sending a message.
EXPLORE YOUR OPTIONS FOR TRADING THROUGH VARIED ITERATION.
2. You can choose any expiration time by changing the expiration time period from the 'settings' button, this will display new results. example; on a 5 minutes chart timeframe, 6 bars would be 30 minutes, which means 5 minutes times 6, which is 30 and minutes because your timeframe is set to minutes. Another example is that on a 1-hour timeframe, 12 bars would be 12 hours, given 1 * 12 is 12hours, because your timeframe is set to hours.
3. You can choose the trading session you want, please note that we have included the three most active sessions - ASIAN, EU/UK, & US Session, by default, the scripts checks for performance on 24/7, which means it does not omit trades outside of the trading session. The Tradingview time is in UTC (or GMT -4). The best times to trade are during sessions most active times.
This backtesting indicator is free to add to the chart if you would like to use the algorithm during your trading session you need to contact us. After which you can use the algorithm for as long as you want.
Please note that no signal can work in all timeframe across all markets that is why backtesting to search for algorithms with at least 50% performance ratio is excellent for trading. All you need is to diversify alerts across to assets or more to rake in profits.
If you require assistance in understanding what session would work best, you can send us a message to work through the process together.
Thank you for you support. This script is free to use to see potential of the indicator itself.
We are NOT allowed to advertise any script on sale based on tradingview house rules.
Wishing you all the best.
TheRookAlgoPROThe Rook Algo PRO is an automated strategy that uses ICT dealing ranges to get in sync with potential market trends. It detects the market sentiment and then place a sell or a buy trade in premium/discount or in breakouts with the desired risk management.
Why is useful?
This algorithm is designed to help traders to quickly identify the current state of the market and easily back test their strategy over longs periods of time and different markets its ideal for traders that want to profit on potential expansions and want to avoid consolidations this algo will tell you when the expansion is likely to begin and when is just consolidating and failing moves to avoid trading.
How it works and how it does it?
The Algo detects the current and previous market structure to identify current ranges and ICT dealing ranges that are created when the market takes buyside liquidity and sellside liquidity, it will tell if the market is in a consolidation, expansion, retracement or in a potential turtle soup environment, it will tell if the range is small or big compared to the previous one. Is important to use it in a trending markets because when is ranging the signals lose effectiveness.
This algo is similar to the previously released the Rook algo with the additional features that is an automated strategy that can take trades using filters with the desired risk reward and different entry types and trade management options.
Also this version plots FVGS(fair value gaps) during expansions, and detects consolidations with a box and the mid point or average. Some bars colors are available to help in the identification of the market state. It has the option to show colors of the dealing ranges first detected state.
How to use it?
Start selecting the desired type of entry you want to trade, you can choose to take Discount longs, premium sells, breakouts longs and sells, this first four options are the selected by default. You can enable riskier options like trades without confirmation in premium and discount or turtle soup of the current or previous dealing range. This last ones are ideal for traders looking to enter on a counter trend but has to be used with caution with a higher timeframe reference.
In the picture below we can see a premium sell signal configuration followed by a discount buy signal It display the stop break even level and take profit.
This next image show how the riskier entries work. Because we are not waiting for a confirmation and entering on a counter trend is normal to experience some stop losses because the stop is very tight. Should only be used with a clear Higher timeframe reference as support of the trade idea. This algo has the option to enable standard deviations from the normal stop point to prevent liquidity sweeps. The purple or blue arrows indicate when we are in a potential turtle soup environment.
The algo have a feature called auto-trade enable by default that allow for a reversal of the current trade in case it meets the criteria. And also can take all possible buys or all possible sells that are riskier entries if you just want to see the market sentiment. This is useful when the market is very volatile but is moving not just ranging.
Then we configure the desired trade filters. We have the options to trade only when dealing ranges are in sync for a more secure trend, or we can disable it to take riskier trades like turtle soup trades. We can chose the minimum risk reward to take the trade and the target extension from the current range and the exit type can be when we hit the level or in a retracement that is the default setting. These setting are the most important that determine profitability of the strategy, they has be adjusted depending on the timeframe and market we are trading.
The stop and target levels can also be configured with standard deviations from the current range that way can be adapted to the market volatility.
The Algo allow the user to chose if it want to place break even, or trail the stop. In the picture below we can see it in action. This can work when the trend is very strong if not can lead to multiple reentries or loses.
The last option we can configure is the time where the trades are going to be taken, if we trade usually in the morning then we can just add the morning time by default is set to the morning 730am to 1330pm if you want to trade other times you should change this. Or if we want to enter on the ICT macro times can also be added in a filter. Trade taken with the macro times only enable is visible in the picture below.
Strategy Results
The results are obtained using 2000usd in the MNQ! In the 15minutes timeframe 1 contract per trade. Commission are set to 2USD, slippage to 1tick, the backtesting range is from May 2 2024 to March 2025 for a total of 119 trades, this Strategy default settings are designed to take trades on the daily expansions, trail stop and Break even is activated the exit on profit is on a retracement, and for loses when the stop is hit. The auto-trade option is enable to allow to detect quickly market changes. The strategy give realistic results, makes around 200% of the account in around a year. 1.4 profit factor with around 37% profitable trades. These results can be further improve and adapted to the specific style of trading using the filters.
Remember entries constitute only a small component of a complete winning strategy. Other factors like risk management, position-sizing, trading frequency, trading fees, and many others must also be properly managed to achieve profitability. Past performance doesn’t guarantee future results.
Summary of features
-Easily Identify the current dealing range and market state to avoid consolidations
-Recognize expansions with FVGs and consolidation with shaded boxes
-Recognize turtle soups scenarios to avoid fake out breakout
-Configurable automated trades in premium/discount or breakouts
-Auto-trade option that allow for reversal of the current trade when is no longer valid
-Time filter to allow only entries around the times you trade or on the macro times.
-Risk Reward filter to take the automated trades with visible stop and take profit levels
-Customizable trade management take profit, stop, breakeven level with standard deviations
-Trail stop option to secure profit when price move in your favor
-Option to exit on a close, retracement or reversal after hitting the take profit level
-Option to exit on a close or reversal after hitting stop loss
-Dashboard with instant statistics about the strategy current settings and market sentiment
QuantBuilder | FractalystWhat's the strategy's purpose and functionality?
QuantBuilder is designed for both traders and investors who want to utilize mathematical techniques to develop profitable strategies through backtesting on historical data.
The primary goal is to develop profitable quantitive strategies that not only outperform the underlying asset in terms of returns but also minimize drawdown.
For instance, consider Bitcoin (BTC), which has experienced significant volatility, averaging an estimated 200% annual return over the past decade, with maximum drawdowns exceeding -80%. By employing this strategy with diverse entry and exit techniques, users can potentially seek to enhance their Compound Annual Growth Rate (CAGR) while managing risk to maintain a lower maximum drawdown.
While this strategy employs quantitative techniques, including mathematical methods such as probabilities and positive expected values, it demonstrates exceptional efficacy across all markets. It particularly excels in futures, indices, stocks, cryptocurrencies, and commodities, leveraging their inherent trending behaviors for optimized performance.
In both trending and consolidating market conditions, QuantBuilder employs a combination of multi-timeframe probabilities, expected values, directional biases, moving averages and diverse entry models to identify and capitalize on bullish market movements.
How does the strategy perform for both investors and traders?
The strategy has two main modes, tailored for different market participants: Traders and Investors.
1. Trading:
- Designed for traders looking to capitalize on bullish markets.
- Utilizes a percentage risk per trade to manage risk and optimize returns.
- Suitable for both swing and intraday trading with a focus on probabilities and risk per trade approach.
2. Investing:
- Geared towards investors who aim to capitalize on bullish trending markets without using leverage while mitigating the asset's maximum drawdown.
- Utilizes pre-define percentage of the equity to buy, hold, and manage the asset.
- Focuses on long-term growth and capital appreciation by fully/partially investing in the asset during bullish conditions.
How does the strategy identify market structure? What are the underlying calculations?
The strategy utilizes an efficient logic with for loops to pinpoint the first swing candle featuring a pivot of 2, establishing the point at which the break of structure begins.
What entry criteria are used in this script? What are the underlying calculations?
The script utilizes two entry models: BreakOut and fractal.
Underlying Calculations:
Breakout: The script assigns the most recent swing high to a variable. When the price closes above this level and all other conditions are met, the script executes a breakout entry (conservative approach).
Fractal: The script identifies a swing low with a period of 2. Once this condition is met, the script executes the trade (aggressive approach).
How does the script calculate probabilities? What are the underlying calculations?
The script calculates probabilities by monitoring price interactions with liquidity levels. Here’s how the underlying calculations work:
Tracking Price Hits: The script counts the number of times the price taps into each liquidity side after the EQM level is activated. This data is stored in an array for further analysis.
Sample Size Consideration: The total number of price interactions serves as the sample size for calculating probabilities.
Probability Calculation: For each liquidity side, the script calculates the probability by taking the average of the recorded hits. This allows for a dynamic assessment of the likelihood that a particular side will be hit next, based on historical performance.
Dynamic Adjustment: As new price data comes in, the probabilities are recalculated, providing real-time aduptive insights into market behavior.
Note: The calculations are performed independently for each directional range. A range is considered bearish if the previous breakout was through a sellside liquidity. Conversely, a range is considered bullish if the most recent breakout was through a buyside liquidity.
How does the script calculate expected values? What are the underlying calculations?
The script calculates expected values by leveraging the probabilities of winning and losing trades, along with their respective returns. The process involves the following steps:
This quantitative methodology provides a robust framework for assessing the expected performance of trading strategies based on historical data and backtesting results.
How is the contextual bias calculated? What are the underlying calculations?
The contextual bias in the QuantBuilder script is calculated through a structured approach that assesses market structure based on swing highs and lows. Here’s how it works:
Identification of Swing Points: The script identifies significant swing points using a defined pivot logic, focusing on the first swing high and swing low. This helps establish critical levels for determining market structure.
Break of Structure (BOS) Assessment:
Bullish BOS: The script recognizes a bullish break of structure when a candle closes above the first swing high, followed by at least one swing low.
Bearish BOS: Conversely, a bearish break of structure is identified when a candle closes below the first swing low, followed by at least one swing high.
Bias Assignment: Based on the identified break of structure, the script assigns directional biases:
A bullish bias is assigned if a bullish BOS is confirmed.
A bearish bias is assigned if a bearish BOS is confirmed.
Quantitative Evaluation: Each identified bias is quantitatively evaluated, allowing the script to assign numerical values representing the strength of each bias. This quantification aids in assessing the reliability of market sentiment across multiple timeframes.
What's the purpose of using moving averages in this strategy? What are the underlying calculations?
Using moving averages is a widely-used technique to trade with the trend.
The main purpose of using moving averages in this strategy is to filter out bearish price action and to only take trades when the price is trading ABOVE specified moving averages.
The script uses different types of moving averages with user-adjustable timeframes and periods/lengths, allowing traders to try out different variations to maximize strategy performance and minimize drawdowns.
By applying these calculations, the strategy effectively identifies bullish trends and avoids market conditions that are not conducive to profitable trades.
The MA filter allows traders to choose whether they want a specific moving average above or below another one as their entry condition.
What type of stop-loss identification method are used in this strategy? What are the underlying calculations?
- Initial Stop-loss:
1. ATR Based:
The Average True Range (ATR) is a method used in technical analysis to measure volatility. It is not used to indicate the direction of price but to measure volatility, especially volatility caused by price gaps or limit moves.
Calculation:
- To calculate the ATR, the True Range (TR) first needs to be identified. The TR takes into account the most current period high/low range as well as the previous period close.
The True Range is the largest of the following:
- Current Period High minus Current Period Low
- Absolute Value of Current Period High minus Previous Period Close
- Absolute Value of Current Period Low minus Previous Period Close
- The ATR is then calculated as the moving average of the TR over a specified period. (The default period is 14)
2. ADR Based:
The Average Day Range (ADR) is an indicator that measures the volatility of an asset by showing the average movement of the price between the high and the low over the last several days.
Calculation:
- To calculate the ADR for a particular day:
- Calculate the average of the high prices over a specified number of days.
- Calculate the average of the low prices over the same number of days.
- Find the difference between these average values.
- The default period for calculating the ADR is 14 days. A shorter period may introduce more noise, while a longer period may be slower to react to new market movements.
3. PL Based:
This method places the stop-loss at the low of the previous candle.
If the current entry is based on the hunt entry strategy, the stop-loss will be placed at the low of the candle that wicks through the lower FRMA band.
Example:
If the previous candle's low is 100, then the stop-loss will be set at 100.
This method ensures the stop-loss is placed just below the most recent significant low, providing a logical and immediate level for risk management.
- Trailing Stop-Loss:
One of the key elements of this strategy is its ability to detect structural liquidity and structural invalidation levels across multiple timeframes to trail the stop-loss once the trade is in running profits.
By utilizing this approach, the strategy allows enough room for price to run.
By using these methods, the strategy dynamically adjusts the initial stop-loss based on market volatility, helping to protect against adverse price movements while allowing for enough room for trades to develop.
Each market behaves differently across various timeframes, and it is essential to test different parameters and optimizations to find out which trailing stop-loss method gives you the desired results and performance.
What type of break-even and take profit identification methods are used in this strategy? What are the underlying calculations?
For Break-Even:
Percentage (%) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain percentage above the entry.
Calculation:
Break-even level = Entry Price * (1 + Percentage / 100)
Example:
If the entry price is $100 and the break-even percentage is 5%, the break-even level is $100 * 1.05 = $105.
Risk-to-Reward (RR) Based:
Moves the initial stop-loss to the entry price when the price reaches a certain RR ratio.
Calculation:
Break-even level = Entry Price + (Initial Risk * RR Ratio)
For TP1 (Take Profit 1):
- You can choose to set a take profit level at which your position gets fully closed or 50% if the TP2 boolean is enabled.
- Similar to break-even, you can select either a percentage (%) or risk-to-reward (RR) based take profit level, allowing you to set your TP1 level as a percentage amount above the entry price or based on RR.
For TP2 (Take Profit 2):
- You can choose to set a take profit level at which your position gets fully closed.
- As with break-even and TP1, you can select either a percentage (%) or risk-to-reward (RR) based take profit level, allowing you to set your TP2 level as a percentage amount above the entry price or based on RR.
What's the day filter Filter, what does it do?
The day filter allows users to customize the session time and choose the specific days they want to include in the strategy session. This helps traders tailor their strategies to particular trading sessions or days of the week when they believe the market conditions are more favorable for their trading style.
Customize Session Time:
Users can define the start and end times for the trading session.
This allows the strategy to only consider trades within the specified time window, focusing on periods of higher market activity or preferred trading hours.
Select Days:
Users can select which days of the week to include in the strategy.
This feature is useful for excluding days with historically lower volatility or unfavorable trading conditions (e.g., Mondays or Fridays).
Benefits:
Focus on Optimal Trading Periods:
By customizing session times and days, traders can focus on periods when the market is more likely to present profitable opportunities.
Avoid Unfavorable Conditions:
Excluding specific days or times can help avoid trading during periods of low liquidity or high unpredictability, such as major news events or holidays.
What tables are available in this script?
- Summary: Provides a general overview, displaying key performance parameters such as Net Profit, Profit Factor, Max Drawdown, Average Trade, Closed Trades and more.
Total Commission: Displays the cumulative commissions incurred from all trades executed within the selected backtesting window. This value is derived by summing the commission fees for each trade on your chart.
Average Commission: Represents the average commission per trade, calculated by dividing the Total Commission by the total number of closed trades. This metric is crucial for assessing the impact of trading costs on overall profitability.
Avg Trade: The sum of money gained or lost by the average trade generated by a strategy. Calculated by dividing the Net Profit by the overall number of closed trades. An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.
MaxDD: Displays the largest drawdown of losses, i.e., the maximum possible loss that the strategy could have incurred among all of the trades it has made. This value is calculated separately for every bar that the strategy spends with an open position.
Profit Factor: The amount of money a trading strategy made for every unit of money it lost (in the selected currency). This value is calculated by dividing gross profits by gross losses.
Avg RR: This is calculated by dividing the average winning trade by the average losing trade. This field is not a very meaningful value by itself because it does not take into account the ratio of the number of winning vs losing trades, and strategies can have different approaches to profitability. A strategy may trade at every possibility in order to capture many small profits, yet have an average losing trade greater than the average winning trade. The higher this value is, the better, but it should be considered together with the percentage of winning trades and the net profit.
Winrate: The percentage of winning trades generated by a strategy. Calculated by dividing the number of winning trades by the total number of closed trades generated by a strategy. Percent profitable is not a very reliable measure by itself. A strategy could have many small winning trades, making the percent profitable high with a small average winning trade, or a few big winning trades accounting for a low percent profitable and a big average winning trade. Most mean-reversion successful strategies have a percent profitability of 40-80% but are profitable due to risk management control.
BE Trades: Number of break-even trades, excluding commission/slippage.
Losing Trades: The total number of losing trades generated by the strategy.
Winning Trades: The total number of winning trades generated by the strategy.
Total Trades: Total number of taken traders visible your charts.
Net Profit: The overall profit or loss (in the selected currency) achieved by the trading strategy in the test period. The value is the sum of all values from the Profit column (on the List of Trades tab), taking into account the sign.
- Monthly: Displays performance data on a month-by-month basis, allowing users to analyze performance trends over each month and year.
- Weekly: Displays performance data on a week-by-week basis, helping users to understand weekly performance variations.
- UI Table: A user-friendly table that allows users to view and save the selected strategy parameters from user inputs. This table enables easy access to key settings and configurations, providing a straightforward solution for saving strategy parameters by simply taking a screenshot with Alt + S or ⌥ + S.
User-input styles and customizations:
To facilitate studying historical data, all conditions and filters can be applied to your charts. By plotting background colors on your charts, you'll be able to identify what worked and what didn't in certain market conditions.
Please note that all background colors in the style are disabled by default to enhance visualization.
How to Use This Quantitive Strategy Builder to Create a Profitable Edge and System?
Choose Your Strategy mode:
- Decide whether you are creating an investing strategy or a trading strategy.
Select a Market:
- Choose a one-sided market such as stocks, indices, or cryptocurrencies.
Historical Data:
- Ensure the historical data covers at least 10 years of price action for robust backtesting.
Timeframe Selection:
- Choose the timeframe you are comfortable trading with. It is strongly recommended to use a timeframe above 15 minutes to minimize the impact of commissions/slippage on your profits.
Set Commission and Slippage:
- Properly set the commission and slippage in the strategy properties according to your broker/prop firm specifications.
Parameter Optimization:
- Use trial and error to test different parameters until you find the performance results you are looking for in the summary table or, preferably, through deep backtesting using the strategy tester.
Trade Count:
- Ensure the number of trades is 200 or more; the higher, the better for statistical significance.
Positive Average Trade:
- Make sure the average trade is above zero.
(An important value since it must be large enough to cover the commission and slippage costs of trading the strategy and still bring a profit.)
Performance Metrics:
- Look for a high profit factor, and net profit with minimum drawdown.
- Ideally, aim for a drawdown under 20-30%, depending on your risk tolerance.
Refinement and Optimization:
- Try out different markets and timeframes.
- Continue working on refining your edge using the available filters and components to further optimize your strategy.
What makes this strategy original?
QuantBuilder stands out due to its unique combination of quantitative techniques and innovative algorithms that leverage historical data for real-time trading decisions. Unlike most algorithmic strategies that work based on predefined rules, this strategy adapts to real-time market probabilities and expected values, enhancing its reliability. Key features include:
Mathematical Framework: The strategy integrates advanced mathematical concepts, such as probabilities and expected values, to assess trade viability and optimize decision-making.
Multi-Timeframe Analysis: By utilizing multi-timeframe probabilities, QuantBuilder provides a comprehensive view of market conditions, enhancing the accuracy of entry and exit points.
Dynamic Market Structure Identification: The script employs a systematic approach to identify market structure changes, utilizing a blend of swing highs and lows to detect contextual/direction bias of the market.
Built-in Trailing Stop Loss: The strategy features a dynamic trailing stop loss based on multi-timeframe analysis of market structure. This allows traders to lock in profits while adapting to changing market conditions, ensuring that exits are executed at optimal levels without prematurely closing positions.
Robust Performance Metrics: With detailed performance tables and visualizations, users can easily evaluate strategy effectiveness and adjust parameters based on historical performance.
Adaptability: The strategy is designed to work across various markets and timeframes, making it versatile for different trading styles and objectives.
Suitability for Investors and Traders: QuantBuilder is ideal for both investors and traders looking to rely on mathematically proven data to create profitable strategies, ensuring that decisions are grounded in quantitative analysis.
These original elements combine to create a powerful tool that can help both traders and investors to build and refine profitable strategies based on algorithmic quantitative analysis.
Terms and Conditions | Disclaimer
Our charting tools are provided for informational and educational purposes only and should not be construed as financial, investment, or trading advice. They are not intended to forecast market movements or offer specific recommendations. Users should understand that past performance does not guarantee future results and should not base financial decisions solely on historical data.
Built-in components, features, and functionalities of our charting tools are the intellectual property of @Fractalyst Unauthorized use, reproduction, or distribution of these proprietary elements is prohibited.
By continuing to use our charting tools, the user acknowledges and accepts the Terms and Conditions outlined in this legal disclaimer and agrees to respect our intellectual property rights and comply with all applicable laws and regulations.
Premium Volatility Breakout Strategy [wbburgin]This the premium version of my Volatility Breakout strategy, which improves significantly on the original strategy (publicly available on my profile). Improvements are below. A note about any of my premium scripts: I will continue updating and improving the original (public) versions.
This strategy is not built for any specific asset or timeframe, and has been backtested on crypto, equities, and forex from 1min - 1day. However, I recommend using it on more volatile assets because it is a breakout strategy.
********** My Background
I am an investor, trader, and entrepreneur with 10 years of cryptocurrency and equity trading experience and founder of two fintech startups. I am a graduate of a prestigious university in the United States and carry broad and inclusive interests in mathematical finance, computer science, machine learning / artificial intelligence, as well as other fields.
**********
Improvements over the original Volatility Breakout strategy include:
Faster Trend Detection → The Premium Volatility Breakout strategy will catch trends faster by using adaptive volatility-weighted bands instead of standard-width volatility-weighted bands. This can improve win size and has performed well in my backtesting.
ADX Filter → False breakouts dampen the overall results of the original script, as well as the % profitable,so an ADX filter has been programmed into the script (toggle on/off in settings). This filter will only enter long and short trades when the ADX is above a certain threshold. This is by default toggled off because in most instances it will not be necessary, but in certain environments may be useful.
MA Configuration → Different types of moving averages and weights are now configurable in the settings. These can change the responsiveness of the strategy.
External Trend Filter → I use this strategy as a filter for some of my low-timeframe algorithms. I have added an external trend filter (a plot only displayed in the data window) that will return “1” when the trend is long and “-1” when the trend is short (displayed on-chart with red and green trend curves).
Customizable Alert Messages In-Strategy → In the settings, there will be text boxes where you can create your own alerts. All you will need to do is create an alert in the alert panel on TradingView and leave the message box blank - if you fill out the alert boxes in the settings, these will automatically populate into your alerts. There are in total four different customizable alerts messages: Entry and Exit alerts for both Long and Short sides. If you disable stop loss and/or take profit, these alerts will also be disabled. Similarly, if you disable shorts, all short alerts will be disabled.
About stop losses: This strategy does not come with a stop loss because the moving average acts as a stop loss / trade exit for both long and short entries.
**********
Display
You can turn off highlighting or barcolor in the settings. Additionally, future updates may include a color scheme for users using a light-themed window.
**********
Configuring Alerts
In TradingView desktop, go to the ‘Alerts’ tab on the right panel. Click the “+” button to create a new alert. Select this strategy for the condition and one of the two options that includes alert() function calls. Name the alert what you wish and clear the default message, because your text in the settings will replace this message.
Now that the alert is configured, you can go to the settings of the strategy and fill in your chosen text for the specific alert condition. You will need to check “Long and Short” in the “Trade Direction” setting in order for any Short Alerts to become active.
**********
Disclaimer
Copyright by wbburgin.
The information contained in my Scripts/Indicators/Algorithms does not constitute financial advice or a solicitation to buy or sell any securities of any type. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones BT [Loxx]STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones BT is the backtest strategy for "STD-Filterd, R-squared Adaptive T3 w/ Dynamic Zones " seen below:
Included:
This backtest uses a special implementation of ATR and ATR smoothing called "True Range Double" which is a range calculation that accounts for volatility skew.
You can set the backtest to 1-2 take profits with stop-loss
Signals can't exit on the same candle as the entry, this is coded in a way for 1-candle delay post entry
This should be coupled with the INDICATOR version linked above for the alerts and signals. Strategies won't paint the signal "L" or "S" until the entry actually happens, but indicators allow this, which is repainting on current candle, but this is an FYI if you want to get serious with Pinescript algorithmic botting
You can restrict the backtest by dates
It is advised that you understand what Heikin-Ashi candles do to strategies, the default settings for this backtest is NON Heikin-Ashi candles but you have the ability to change that in the source selection
This is a mathematically heavy, heavy-lifting strategy with multi-layered adaptivity. Make sure you do your own research so you understand what is happening here. This can be used as its own trading system without any other oscillators, moving average baselines, or volatility/momentum confirmation indicators.
What is the T3 moving average?
Better Moving Averages Tim Tillson
November 1, 1998
Tim Tillson is a software project manager at Hewlett-Packard, with degrees in Mathematics and Computer Science. He has privately traded options and equities for 15 years.
Introduction
"Digital filtering includes the process of smoothing, predicting, differentiating, integrating, separation of signals, and removal of noise from a signal. Thus many people who do such things are actually using digital filters without realizing that they are; being unacquainted with the theory, they neither understand what they have done nor the possibilities of what they might have done."
This quote from R. W. Hamming applies to the vast majority of indicators in technical analysis . Moving averages, be they simple, weighted, or exponential, are lowpass filters; low frequency components in the signal pass through with little attenuation, while high frequencies are severely reduced.
"Oscillator" type indicators (such as MACD , Momentum, Relative Strength Index ) are another type of digital filter called a differentiator.
Tushar Chande has observed that many popular oscillators are highly correlated, which is sensible because they are trying to measure the rate of change of the underlying time series, i.e., are trying to be the first and second derivatives we all learned about in Calculus.
We use moving averages (lowpass filters) in technical analysis to remove the random noise from a time series, to discern the underlying trend or to determine prices at which we will take action. A perfect moving average would have two attributes:
It would be smooth, not sensitive to random noise in the underlying time series. Another way of saying this is that its derivative would not spuriously alternate between positive and negative values.
It would not lag behind the time series it is computed from. Lag, of course, produces late buy or sell signals that kill profits.
The only way one can compute a perfect moving average is to have knowledge of the future, and if we had that, we would buy one lottery ticket a week rather than trade!
Having said this, we can still improve on the conventional simple, weighted, or exponential moving averages. Here's how:
Two Interesting Moving Averages
We will examine two benchmark moving averages based on Linear Regression analysis.
In both cases, a Linear Regression line of length n is fitted to price data.
I call the first moving average ILRS, which stands for Integral of Linear Regression Slope. One simply integrates the slope of a linear regression line as it is successively fitted in a moving window of length n across the data, with the constant of integration being a simple moving average of the first n points. Put another way, the derivative of ILRS is the linear regression slope. Note that ILRS is not the same as a SMA ( simple moving average ) of length n, which is actually the midpoint of the linear regression line as it moves across the data.
We can measure the lag of moving averages with respect to a linear trend by computing how they behave when the input is a line with unit slope. Both SMA (n) and ILRS(n) have lag of n/2, but ILRS is much smoother than SMA .
Our second benchmark moving average is well known, called EPMA or End Point Moving Average. It is the endpoint of the linear regression line of length n as it is fitted across the data. EPMA hugs the data more closely than a simple or exponential moving average of the same length. The price we pay for this is that it is much noisier (less smooth) than ILRS, and it also has the annoying property that it overshoots the data when linear trends are present.
However, EPMA has a lag of 0 with respect to linear input! This makes sense because a linear regression line will fit linear input perfectly, and the endpoint of the LR line will be on the input line.
These two moving averages frame the tradeoffs that we are facing. On one extreme we have ILRS, which is very smooth and has considerable phase lag. EPMA has 0 phase lag, but is too noisy and overshoots. We would like to construct a better moving average which is as smooth as ILRS, but runs closer to where EPMA lies, without the overshoot.
A easy way to attempt this is to split the difference, i.e. use (ILRS(n)+EPMA(n))/2. This will give us a moving average (call it IE /2) which runs in between the two, has phase lag of n/4 but still inherits considerable noise from EPMA. IE /2 is inspirational, however. Can we build something that is comparable, but smoother? Figure 1 shows ILRS, EPMA, and IE /2.
Filter Techniques
Any thoughtful student of filter theory (or resolute experimenter) will have noticed that you can improve the smoothness of a filter by running it through itself multiple times, at the cost of increasing phase lag.
There is a complementary technique (called twicing by J.W. Tukey) which can be used to improve phase lag. If L stands for the operation of running data through a low pass filter, then twicing can be described by:
L' = L(time series) + L(time series - L(time series))
That is, we add a moving average of the difference between the input and the moving average to the moving average. This is algebraically equivalent to:
2L-L(L)
This is the Double Exponential Moving Average or DEMA , popularized by Patrick Mulloy in TASAC (January/February 1994).
In our taxonomy, DEMA has some phase lag (although it exponentially approaches 0) and is somewhat noisy, comparable to IE /2 indicator.
We will use these two techniques to construct our better moving average, after we explore the first one a little more closely.
Fixing Overshoot
An n-day EMA has smoothing constant alpha=2/(n+1) and a lag of (n-1)/2.
Thus EMA (3) has lag 1, and EMA (11) has lag 5. Figure 2 shows that, if I am willing to incur 5 days of lag, I get a smoother moving average if I run EMA (3) through itself 5 times than if I just take EMA (11) once.
This suggests that if EPMA and DEMA have 0 or low lag, why not run fast versions (eg DEMA (3)) through themselves many times to achieve a smooth result? The problem is that multiple runs though these filters increase their tendency to overshoot the data, giving an unusable result. This is because the amplitude response of DEMA and EPMA is greater than 1 at certain frequencies, giving a gain of much greater than 1 at these frequencies when run though themselves multiple times. Figure 3 shows DEMA (7) and EPMA(7) run through themselves 3 times. DEMA^3 has serious overshoot, and EPMA^3 is terrible.
The solution to the overshoot problem is to recall what we are doing with twicing:
DEMA (n) = EMA (n) + EMA (time series - EMA (n))
The second term is adding, in effect, a smooth version of the derivative to the EMA to achieve DEMA . The derivative term determines how hot the moving average's response to linear trends will be. We need to simply turn down the volume to achieve our basic building block:
EMA (n) + EMA (time series - EMA (n))*.7;
This is algebraically the same as:
EMA (n)*1.7-EMA( EMA (n))*.7;
I have chosen .7 as my volume factor, but the general formula (which I call "Generalized Dema") is:
GD (n,v) = EMA (n)*(1+v)-EMA( EMA (n))*v,
Where v ranges between 0 and 1. When v=0, GD is just an EMA , and when v=1, GD is DEMA . In between, GD is a cooler DEMA . By using a value for v less than 1 (I like .7), we cure the multiple DEMA overshoot problem, at the cost of accepting some additional phase delay. Now we can run GD through itself multiple times to define a new, smoother moving average T3 that does not overshoot the data:
T3(n) = GD ( GD ( GD (n)))
In filter theory parlance, T3 is a six-pole non-linear Kalman filter. Kalman filters are ones which use the error (in this case (time series - EMA (n)) to correct themselves. In Technical Analysis , these are called Adaptive Moving Averages; they track the time series more aggressively when it is making large moves.
What is R-squared Adaptive?
One tool available in forecasting the trendiness of the breakout is the coefficient of determination ( R-squared ), a statistical measurement.
The R-squared indicates linear strength between the security's price (the Y - axis) and time (the X - axis). The R-squared is the percentage of squared error that the linear regression can eliminate if it were used as the predictor instead of the mean value. If the R-squared were 0.99, then the linear regression would eliminate 99% of the error for prediction versus predicting closing prices using a simple moving average .
R-squared is used here to derive a T3 factor used to modify price before passing price through a six-pole non-linear Kalman filter.
What are Dynamic Zones?
As explained in "Stocks & Commodities V15:7 (306-310): Dynamic Zones by Leo Zamansky, Ph .D., and David Stendahl"
Most indicators use a fixed zone for buy and sell signals. Here’ s a concept based on zones that are responsive to past levels of the indicator.
One approach to active investing employs the use of oscillators to exploit tradable market trends. This investing style follows a very simple form of logic: Enter the market only when an oscillator has moved far above or below traditional trading lev- els. However, these oscillator- driven systems lack the ability to evolve with the market because they use fixed buy and sell zones. Traders typically use one set of buy and sell zones for a bull market and substantially different zones for a bear market. And therein lies the problem.
Once traders begin introducing their market opinions into trading equations, by changing the zones, they negate the system’s mechanical nature. The objective is to have a system automatically define its own buy and sell zones and thereby profitably trade in any market — bull or bear. Dynamic zones offer a solution to the problem of fixed buy and sell zones for any oscillator-driven system.
An indicator’s extreme levels can be quantified using statistical methods. These extreme levels are calculated for a certain period and serve as the buy and sell zones for a trading system. The repetition of this statistical process for every value of the indicator creates values that become the dynamic zones. The zones are calculated in such a way that the probability of the indicator value rising above, or falling below, the dynamic zones is equal to a given probability input set by the trader.
To better understand dynamic zones, let's first describe them mathematically and then explain their use. The dynamic zones definition:
Find V such that:
For dynamic zone buy: P{X <= V}=P1
For dynamic zone sell: P{X >= V}=P2
where P1 and P2 are the probabilities set by the trader, X is the value of the indicator for the selected period and V represents the value of the dynamic zone.
The probability input P1 and P2 can be adjusted by the trader to encompass as much or as little data as the trader would like. The smaller the probability, the fewer data values above and below the dynamic zones. This translates into a wider range between the buy and sell zones. If a 10% probability is used for P1 and P2, only those data values that make up the top 10% and bottom 10% for an indicator are used in the construction of the zones. Of the values, 80% will fall between the two extreme levels. Because dynamic zone levels are penetrated so infrequently, when this happens, traders know that the market has truly moved into overbought or oversold territory.
Calculating the Dynamic Zones
The algorithm for the dynamic zones is a series of steps. First, decide the value of the lookback period t. Next, decide the value of the probability Pbuy for buy zone and value of the probability Psell for the sell zone.
For i=1, to the last lookback period, build the distribution f(x) of the price during the lookback period i. Then find the value Vi1 such that the probability of the price less than or equal to Vi1 during the lookback period i is equal to Pbuy. Find the value Vi2 such that the probability of the price greater or equal to Vi2 during the lookback period i is equal to Psell. The sequence of Vi1 for all periods gives the buy zone. The sequence of Vi2 for all periods gives the sell zone.
In the algorithm description, we have: Build the distribution f(x) of the price during the lookback period i. The distribution here is empirical namely, how many times a given value of x appeared during the lookback period. The problem is to find such x that the probability of a price being greater or equal to x will be equal to a probability selected by the user. Probability is the area under the distribution curve. The task is to find such value of x that the area under the distribution curve to the right of x will be equal to the probability selected by the user. That x is the dynamic zone.
Included:
Bar coloring
Signals
Alerts
Loxx's Expanded Source Types
Customizable Non-Repainting HTF MACD MFI Scalper Bot Strategy v2Customizable Non-Repainting HTF MACD MFI Scalper Bot Strategy v2
This script was originally shared by Wunderbit as a free open source script for the community to work with. This is my second published iteration of this idea.
WHAT THIS SCRIPT DOES:
It is intended for use on an algorithmic bot trading platform but can be used for scalping and manual trading.
This strategy is based on the trend-following momentum indicator . It includes the Money Flow index as an additional point for entry.
This is a new and improved version geared for lower timeframes (15-5 minutes), but can be run on larger ones as well. I am testing it live as my high frequency trader.
HOW IT DOES IT:
It uses a combination of MACD and MFI indicators to create entry signals. Parameters for each indicator have been surfaced for user configurability.
Take profits are now trailing profits, and the stop loss is now fixed. Why? I found that the trailing stop loss with ATR in the previous version yields very good results for back tests but becomes very difficult to deploy live due to transaction fees. As you can see the average trade is a higher profit percentage than the previous version.
HOW IS MY VERSION ORIGINAL:
Now instead of using ATR stop loss, we have a fixed stop loss - counter intuitively to what some may believe this performs better in live trading scenarios since it gives the strategy room to move. I noticed that the ATR trailing stop was stopping out too fast and was eating away balance due to transaction fees.
The take profit on the other hand is now a trailing profit with a customizable deviation. This ensures that you can have a minimum profit you want to take in order to exit.
I have depracated the old ATR trailing stop as it became too confusing to have those as different options. I kept the old version for others that want to experiment with it. The source code still requires some cleanup, but its fully functional.
I added in a way to show RSI values and ATR values with a checkbox so that you can use the new an improved ATR Filter (and grab the right RSI values for the RSI filter). This will help to filter out times of very low volatility where we are unlikely to find a profitable trade. Use the "Show Data" checkbox to see what the values are on the indicator pane, then use those values to gauge what you want to filter out.
Both versions
Delayed Signals : The script has been refactored to use a time frame drop down. The higher time frame can be run on a faster chart (recommended on one minute chart for fastest signal confirmation and relay to algotrading platform.)
Repainting Issues : All indicators have been recoded to use the security function that checks to see if the current calculation is in realtime, if it is, then it uses the previous bar for calculation. If you are still experiencing repainting issues based on intended (or non intended use), please provide a report with screenshot and explanation so I can try to address.
Filtering : I have added to additional filters an ABOVE EMA Filter and a BELOW RSI Filter (both can be turned on and off)
Customizable Long and Close Messages : This allows someone to use the script for algorithmic trading without having to alter code. It also means you can use one indicator for all of your different alterts required for your bots.
HOW TO USE IT:
It is intended to be used in the 5-30 minute time frames, but you might be able to get a good configuration for higher time frames. I welcome feedback from other users on what they have found.
Find a pair with high volatility (example KUCOIN:ETH3LUSDT ) - I have found it works particularly well with 3L and 3S tokens for crypto. although it the limitation is that confrigurations I have found to work typically have low R/R ratio, but very high win rate and profit factor.
Ideally set one minute chart for bots, but you can use other charts for manual trading. The signal will be delayed by one bar but I have found configurations that still test well.
Select a time frame in configuration for your indicator calculations.
Select the strategy config for time frame (resolution). I like to use 5 and 15 minutes for scalping scenarios, but I am interested in hearing back from other community memebers.
Optimize your indicator without filters : customize your settings for MACD and MFI that are profitable with your chart and selected time frame calculation. Try different Take Profits (try about 2-5%) and stop loss (try about 5-8%). See if your back test is profitable and continue to optimize.
Use the Trend, RSI, ATR Filter to further refine your signals for entry. You will get less entries but you can increase your win ratio.
You can use the open and close messages for a platform integration, but I choose to set mine up on the destination platform and let the platform close it. With certain platforms you cannot be sure what your entry point actually was compared to Trading View due to slippage and timing, so I let the platform decide when it is actually profitable.
Limitations: this works rather well for short term, and does some good forward testing but back testing large data sets is a problem when switching from very small time frame to large time frame. For instance, finding a configuration that works on a one minute chart but then changing to a 1 hour chart means you lose some of your intra bar calclulations. There are some new features in pine script which might be able to address, this, but I have not had a chance to work on that issue.
AltAlgoHello Traders ,
the AltAlgo is here! – our brand new trading multitool. It is an all-in-one backtesting and alert script based on our proprietary strategy and algorithms. Including many useful customizable features.
About one year ago we published our AltTrader Scalp & Swing indicator. We made a backtester for it named AltTrader BackTester Swing&Scalp. This pair of indicator and strategy turned out to be a great success. After one year of constant development and updates, we are proud to present to you our latest AltAlgo – our newest strategy script with the ability to send alerts! No more copying inputs from strategy to indicator to set alerts. Now you will prepare a strategy and create alerts in one script. We also added some new features.
AltAlgo is a great tool that helps you find the best possible entries for your trades. It's not a limited strategy for only some timeframe periods or assets. You can use it on Crypto, Forex, Stocks, Indices, and basically any chart that is available on TradingView. It is suitable for short-term scalping, mid-term and long-term swing trading, both spot and futures.
AltAlgo combines many algorithms to provide the best possible entry for you. It uses ATR, Supertrend, many different moving averages, and our proprietary system of rules and calculations to plot an ideal BUY or SELL signal for you, across all markets.
The main features/settings of the AltAlgo include :
Specific testing period - you can specify the start and end date to backtest, also the time
Power - the main variable responsible for the AltAlgo sensitivity and the amount of signals
AltFilters - these filters aim to detect the trend and prevent sending signals when the price consolidates
Supertrend - Multi time frame implementation of the famous Supertrend filter to follow the trend direction even more
Only long / only short mode - could be useful for spot trading or to create separate strategies for longs and shorts
COOS (close on opposite signal) - you can choose for the strategy to close open trades when an opposite signal comes in or not
Breakeven - if you want the AltAlgo to move stop loss to BE on chosen take profit level
Trailing stop-loss - it uses the moving target method for trailing from a chosen take profit level
Four levels for taking a profit - separate take profit levels for long and short direction, all calculations can be set in %, pips or ATR
DCA entry - function to improve your entry price and create an entry ZONE in case the price goes in the opposite direction
MultiMA - you can choose one of the 27 moving averages added to filter signals (above MA only BUY, below MA only SELL)
Sessions - we have predefined main trading sessions (America, Europe, Asia) or you can use custom settings based on any day of the week, any hours and time zones
External filter - you can use your own script to filter signals given by the AltAlgo
Miscellaneous - long/short trade background coloring, showing peak profit, etc.
Notice alerts – AltAlgo can send you additional alerts informing you about running trade like take profit or stop loss hits, flips, etc.
External output - you can use the AltAlgo as a signal provider for your other script
Alerts - fully customizable alerts for BUY/SELL signals, supporting entry zone (DCA), automatic ticker renaming (for example BTCUSDTPERP to BTCUSDT), and the option to add top and bottom lines of free text
As you can read, the AltAlgo is packed with lots of useful features, which make it irreplaceable in your trading journey. We put all our knowledge and experience to make this tool and we hope it would be useful for you and you make a lot of profits with it.
We also have a kind, amazing and helpful community of AltAlgo users, which help each other every day and share their knowledge and setups in their trading journey.
Strategy properties used:
Initial capital - 10000
Order size - 10%
Commission - 0.04%
Webhook Starter Kit [HullBuster]
Introduction
This is an open source strategy which provides a framework for webhook enabled projects. It is designed to work out-of-the-box on any instrument triggering on an intraday bar interval. This is a full featured script with an emphasis on actual trading at a brokerage through the TradingView alert mechanism and without requiring browser plugins.
The source code is written in a self documenting style with clearly defined sections. The sections “communicate” with each other through state variables making it easy for the strategy to evolve and improve. This is an excellent place for Pine Language beginners to start their strategy building journey. The script exhibits many Pine Language features which will certainly ad power to your script building abilities.
This script employs a basic trend follow strategy utilizing a forward pyramiding technique. Trend detection is implemented through the use of two higher time frame series. The market entry setup is a Simple Moving Average crossover. Positions exit by passing through conditional take profit logic. The script creates ten indicators including a Zscore oscillator to measure support and resistance levels. The indicator parameters are exposed through 47 strategy inputs segregated into seven sections. All of the inputs are equipped with detailed tool tips to help you get started.
To improve the transition from simulation to execution, strategy.entry and strategy.exit calls show enhanced message text with embedded keywords that are combined with the TradingView placeholders at alert time. Thereby, enabling a single JSON message to generate multiple execution events. This is genius stuff from the Pine Language development team. Really excellent work!
This document provides a sample alert message that can be applied to this script with relatively little modification. Without altering the code, the strategy inputs can alter the behavior to generate thousands of orders or simply a few dozen. It can be applied to crypto, stocks or forex instruments. A good way to look at this script is as a webhook lab that can aid in the development of your own endpoint processor, impress your co-workers and have hours of fun.
By no means is a webhook required or even necessary to benefit from this script. The setups, exits, trend detection, pyramids and DCA algorithms can be easily replaced with more sophisticated versions. The modular design of the script logic allows you to incrementally learn and advance this script into a functional trading system that you can be proud of.
Design
This is a trend following strategy that enters long above the trend line and short below. There are five trend lines that are visible by default but can be turned off in Section 7. Identified, in frequency order, as follows:
1. - EMA in the chart time frame. Intended to track price pressure. Configured in Section 3.
2. - ALMA in the higher time frame specified in Section 2 Signal Line Period.
3. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
4. - Linear Regression in the higher time frame specified in Section 2 Signal Line Period.
5. - DEMA in the higher time frame specified in Section 2 Trend Line Period.
The Blue, Green and Orange lines are signal lines are on the same time frame. The time frame selected should be at least five times greater than the chart time frame. The Purple line represents the trend line for which prices above the line suggest a rising market and prices below a falling market. The time frame selected for the trend should be at least five times greater than the signal lines.
Three oscillators are created as follows:
1. Stochastic - In the chart time frame. Used to enter forward pyramids.
2. Stochastic - In the Trend period. Used to detect exit conditions.
3. Zscore - In the Signal period. Used to detect exit conditions.
The Stochastics are configured identically other than the time frame. The period is set in Section 2.
Two Simple Moving Averages provide the trade entry conditions in the form of a crossover. Crossing up is a long entry and down is a short. This is in fact the same setup you get when you select a basic strategy from the Pine editor. The crossovers are configured in Section 3. You can see where the crosses are occurring by enabling Show Entry Regions in Section 7.
The script has the capacity for pyramids and DCA. Forward pyramids are enabled by setting the Pyramid properties tab with a non zero value. In this case add on trades will enter the market on dips above the position open price. This process will continue until the trade exits. Downward pyramids are available in Crypto and Range mode only. In this case add on trades are placed below the entry price in the drawdown space until the stop is hit. To enable downward pyramids set the Pyramid Minimum Span In Section 1 to a non zero value.
This implementation of Dollar Cost Averaging (DCA) triggers off consecutive losses. Each loss in a run increments a sequence number. The position size is increased as a multiple of this sequence. When the position eventually closes at a profit the sequence is reset. DCA is enabled by setting the Maximum DCA Increments In Section 1 to a non zero value.
It should be noted that the pyramid and DCA features are implemented using a rudimentary design and as such do not perform with the precision of my invite only scripts. They are intended as a feature to stress test your webhook endpoint. As is, you will need to buttress the logic for it to be part of an automated trading system. It is for this reason that I did not apply a Martingale algorithm to this pyramid implementation. But, hey, it’s an open source script so there is plenty of room for learning and your own experimentation.
How does it work
The overall behavior of the script is governed by the Trading Mode selection in Section 1. It is the very first input so you should think about what behavior you intend for this strategy at the onset of the configuration. As previously discussed, this script is designed to be a trend follower. The trend being defined as where the purple line is predominately heading. In BiDir mode, SMA crossovers above the purple line will open long positions and crosses below the line will open short. If pyramiding is enabled add on trades will accumulate on dips above the entry price. The value applied to the Minimum Profit input in Section 1 establishes the threshold for a profitable exit. This is not a hard number exit. The conditional exit logic must be satisfied in order to permit the trade to close. This is where the effort put into the indicator calibration is realized. There are four ways the trade can exit at a profit:
1. Natural exit. When the blue line crosses the green line the trade will close. For a long position the blue line must cross under the green line (downward). For a short the blue must cross over the green (upward).
2. Alma / Linear Regression event. The distance the blue line is from the green and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 6 and relies on the period and length set in Section 2. A long position will exit on an upward thrust which exceeds the activation threshold. A short will exit on a downward thrust.
3. Exponential event. The distance the yellow line is from the blue and the relative speed the cross is experiencing determines this event. The activation thresholds are set in Section 3 and relies on the period and length set in the same section.
4. Stochastic event. The purple line stochastic is used to measure overbought and over sold levels with regard to position exits. Signal line positions combined with a reading over 80 signals a long profit exit. Similarly, readings below 20 signal a short profit exit.
Another, optional, way to exit a position is by Bale Out. You can enable this feature in Section 1. This is a handy way to reduce the risk when carrying a large pyramid stack. Instead of waiting for the entire position to recover we exit early (bale out) as soon as the profit value has doubled.
There are lots of ways to implement a bale out but the method I used here provides a succinct example. Feel free to improve on it if you like. To see where the Bale Outs occur, enable Show Bale Outs in Section 7. Red labels are rendered below each exit point on the chart.
There are seven selectable Trading Modes available from the drop down in Section 1:
1. Long - Uses the strategy.risk.allow_entry_in to execute long only trades. You will still see shorts on the chart.
2. Short - Uses the strategy.risk.allow_entry_in to execute short only trades. You will still see long trades on the chart.
3. BiDir - This mode is for margin trading with a stop. If a long position was initiated above the trend line and the price has now fallen below the trend, the position will be reversed after the stop is hit. Forward pyramiding is available in this mode if you set the Pyramiding value in the Properties tab. DCA can also be activated.
4. Flip Flop - This is a bidirectional trading mode that automatically reverses on a trend line crossover. This is distinctively different from BiDir since you will get a reversal even without a stop which is advantageous in non-margin trading.
5. Crypto - This mode is for crypto trading where you are buying the coins outright. In this case you likely want to accumulate coins on a crash. Especially, when all the news outlets are talking about the end of Bitcoin and you see nice deep valleys on the chart. Certainly, under these conditions, the market will be well below the purple line. No margin so you can’t go short. Downward pyramids are enabled for Crypto mode when two conditions are met. First the Pyramiding value in the Properties tab must be non zero. Second the Pyramid Minimum Span in Section 1 must be non zero.
6. Range - This is a counter trend trading mode. Longs are entered below the purple trend line and shorts above. Useful when you want to test your webhook in a market where the trend line is bisecting the signal line series. Remember that this strategy is a trend follower. It’s going to get chopped out in a range bound market. By turning on the Range mode you will at least see profitable trades while stuck in the range. However, when the market eventually picks a direction, this mode will sustain losses. This range trading mode is a rudimentary implementation that will need a lot of improvement if you want to create a reliable switch hitter (trend/range combo).
7. No Trade. Useful when setting up the trend lines and the entry and exit is not important.
Once in the trade, long or short, the script tests the exit condition on every bar. If not a profitable exit then it checks if a pyramid is required. As mentioned earlier, the entry setups are quite primitive. Although they can easily be replaced by more sophisticated algorithms, what I really wanted to show is the diminished role of the position entry in the overall life of the trade. Professional traders spend much more time on the management of the trade beyond the market entry. While your trade entry is important, you can get in almost anywhere and still land a profitable exit.
If DCA is enabled, the size of the position will increase in response to consecutive losses. The number of times the position can increase is limited by the number set in Maximum DCA Increments of Section 1. Once the position breaks the losing streak the trade size will return the default quantity set in the Properties tab. It should be noted that the Initial Capital amount set in the Properties tab does not affect the simulation in the same way as a real account. In reality, running out of money will certainly halt trading. In fact, your account would be frozen long before the last penny was committed to a trade. On the other hand, TradingView will keep running the simulation until the current bar even if your funds have been technically depleted.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that the endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. Being a strategy type script place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint.
Entry and exit use the strategy.entry and strategy.exit calls respectfully. The alert_message parameter has special keywords that my endpoint expects to properly calculate position size and message sequence. The alert message will embed these keywords in the JSON object through the {{strategy.order.alert_message}} placeholder. You should use whatever keywords are expected from the endpoint you intend to webhook in to.
Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Setup
The following steps provide a very brief set of instructions that will get you started on your first configuration. After you’ve gone through the process a couple of times, you won’t need these anymore. It’s really a simple script after all. I have several example configurations that I used to create the performance charts shown. I can share them with you if you like. Of course, if you’ve modified the code then these steps are probably obsolete.
There are 47 inputs divided into seven sections. For the most part, the configuration process is designed to flow from top to bottom. Handy, tool tips are available on every field to help get you through the initial setup.
Step 1. Input the Base Currency and Order Size in the Properties tab. Set the Pyramiding value to zero.
Step 2. Select the Trading Mode you intend to test with from the drop down in Section 1. I usually select No Trade until I’ve setup all of the trend lines, profit and stop levels.
Step 3. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Remember that the profit is taken as a conditional exit not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 4. Apply the appropriate value to the Tick Scalar field in Section 1. This value is used to remove the pipette from the price. You can enable the Summary Report in Section 7 to see the TradingView minimum tick size of the current chart.
Step 5. Apply the appropriate Price Normalizer value in Section 1. This value is used to normalize the instrument price for differential calculations. Basically, we want to increase the magnitude to significant digits to make the numbers more meaningful in comparisons. Though I have used many normalization techniques, I have always found this method to provide a simple and lightweight solution for less demanding applications. Most of the time the default value will be sufficient. The Tick Scalar and Price Normalizer value work together within a single calculation so changing either will affect all delta result values.
Step 6. Turn on the trend line plots in Section 7. Then configure Section 2. Try to get the plots to show you what’s really happening not what you want to happen. The most important is the purple trend line. Select an interval and length that seem to identify where prices tend to go during non-consolidation periods. Remember that a natural exit is when the blue crosses the green line.
Step 7. Enable Show Event Regions in Section 7. Then adjust Section 6. Blue background fills are spikes and red fills are plunging prices. These measurements should be hard to come by so you should see relatively few fills on the chart if you’ve set this up as intended. Section 6 includes the Zscore oscillator the state of which combines with the signal lines to detect statistically significant price movement. The Zscore is a zero based calculation with positive and negative magnitude readings. You want to input a reasonably large number slightly below the maximum amplitude seen on the chart. Both rise and fall inputs are entered as a positive real number. You can easily use my code to create a separate indicator if you want to see it in action. The default value is sufficient for most configurations.
Step 8. Turn off Show Event Regions and enable Show Entry Regions in Section 7. Then adjust Section 3. This section contains two parts. The entry setup crossovers and EMA events. Adjust the crossovers first. That is the Fast Cross Length and Slow Cross Length. The frequency of your trades will be shown as blue and red fills. There should be a lot. Then turn off Show Event Regions and enable Display EMA Peaks. Adjust all the fields that have the word EMA. This is actually the yellow line on the chart. The blue and red fills should show much less than the crossovers but more than event fills shown in Step 7.
Step 9. Change the Trading Mode to BiDir if you selected No Trades previously. Look on the chart and see where the trades are occurring. Make adjustments to the Minimum Profit and Stop Offset in Section 1 if necessary. Wider profits and stops reduce the trade frequency.
Step 10. Go to Section 4 and 5 and make fine tuning adjustments to the long and short side.
Example Settings
To reproduce the performance shown on the chart please use the following configuration: (Bitcoin on the Kraken exchange)
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 12
4. In Section 1: Select “Crypto” for the Trading Model
5. In Section 1: Input 2000 for the Minimum Profit
6. In Section 1: Input 0 for the Stop Offset (No Stop)
7. In Section 1: Input 10 for the Tick Scalar
8. In Section 1: Input 1000 for the Price Normalizer
9. In Section 1: Input 2000 for the Pyramid Minimum Span
10. In Section 1: Check mark the Position Bale Out
11. In Section 2: Input 60 for the Signal Line Period
12. In Section 2: Input 1440 for the Trend Line Period
13. In Section 2: Input 5 for the Fast Alma Length
14. In Section 2: Input 22 for the Fast LinReg Length
15. In Section 2: Input 100 for the Slow LinReg Length
16. In Section 2: Input 90 for the Trend Line Length
17. In Section 2: Input 14 Stochastic Length
18. In Section 3: Input 9 Fast Cross Length
19. In Section 3: Input 24 Slow Cross Length
20. In Section 3: Input 8 Fast EMA Length
21. In Section 3: Input 10 Fast EMA Rise NetChg
22. In Section 3: Input 1 Fast EMA Rise ROC
23. In Section 3: Input 10 Fast EMA Fall NetChg
24. In Section 3: Input 1 Fast EMA Fall ROC
25. In Section 4: Check mark the Long Natural Exit
26. In Section 4: Check mark the Long Signal Exit
27. In Section 4: Check mark the Long Price Event Exit
28. In Section 4: Check mark the Long Stochastic Exit
29. In Section 5: Check mark the Short Natural Exit
30. In Section 5: Check mark the Short Signal Exit
31. In Section 5: Check mark the Short Price Event Exit
32. In Section 5: Check mark the Short Stochastic Exit
33. In Section 6: Input 120 Rise Event NetChg
34. In Section 6: Input 1 Rise Event ROC
35. In Section 6: Input 5 Min Above Zero ZScore
36. In Section 6: Input 120 Fall Event NetChg
37. In Section 6: Input 1 Fall Event ROC
38. In Section 6: Input 5 Min Below Zero ZScore
In this configuration we are trading in long only mode and have enabled downward pyramiding. The purple trend line is based on the day (1440) period. The length is set at 90 days so it’s going to take a while for the trend line to alter course should this symbol decide to node dive for a prolonged amount of time. Your trades will still go long under those circumstances. Since downward accumulation is enabled, your position size will grow on the way down.
The performance example is Bitcoin so we assume the trader is buying coins outright. That being the case we don’t need a stop since we will never receive a margin call. New buy signals will be generated when the price exceeds the magnitude and speed defined by the Event Net Change and Rate of Change.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.