OPEN-SOURCE SCRIPT

Versatile Moving Average Strategy

Updated
Versatile Moving Average Strategy (VMAS)

Overview:
The Versatile Moving Average Strategy (VMAS) is designed to provide traders with a flexible approach to trend-following, utilizing multiple types of moving averages. This strategy allows for customization in choosing the moving average type and length, catering to various market conditions and trading styles.

Key Features:
- Multiple Moving Average Types: Choose from SMA, EMA, SMMA (RMA), WMA, VWMA, HULL, LSMA, and ALMA to best suit your trading needs.
- Customizable Inputs: Adjust the moving average length, source of price data, and stop-loss source to fine-tune the strategy.
- Target Percent: Set the percentage difference between successive profit targets to manage your risk and rewards effectively.
- Position Management: Enable or disable long and short positions, allowing for versatility in different market conditions.
- Commission and Slippage: The strategy includes realistic commission settings to ensure accurate backtesting results.

Strategy Logic:
1. Moving Average Calculation: The selected moving average is calculated based on user-defined parameters.
2. Entry Conditions:
- A long position is entered when the entry source crosses over the moving average, if long positions are enabled.
- A short position is entered when the entry source crosses under the moving average, if short positions are enabled.
3. Stop-Loss: Positions are closed if the stop-loss source crosses the moving average in the opposite direction.
4. Profit Targets: Multiple profit targets are defined, with each target set at an incremental percentage above (for long positions) or below (for short positions) the entry price.

Default Properties:
- Account Size: $10000
- Commission: 0.01% per trade
- Risk Management: Positions are sized to risk 80% of the equity per trade, because we get very tight stoploss when position is open.
- Sample Size: Backtesting has been conducted to ensure a sufficient sample size of trades, ideally more than 100 trades.

How to Use:
1. Configure Inputs: Set your preferred moving average type, length, and other input parameters.
2. Enable Positions: Choose whether to enable long, short, or both types of positions.
3. Backtest and Analyze: Run backtests with realistic settings and analyze the results to ensure the strategy aligns with your trading goals.
4. Deploy and Monitor: Once satisfied with the backtesting results, deploy the strategy in a live environment and monitor its performance.

This strategy is suitable for traders looking to leverage moving averages in a versatile and customizable manner. Adjust the parameters to match your trading style and market conditions for optimal results.

Note: Ensure the strategy settings used for publication are the same as those described here. Always conduct thorough backtesting before deploying any strategy in a live trading environment.
Release Notes
Description of the Strategy and Look-Ahead Bias Caution in Strategy Tester:

The calc_on_order_fills parameter is set to true to ensure that the strategy calculations occur immediately after an order is filled. This setting helps in preventing any look-ahead bias in the strategy tester.

Strategy Overview:

Long Position Entry:
A long position is initiated when the entry source crosses above the moving average. This crossover indicates a potential upward trend.
The stop-loss for this position is triggered when the price crosses below the same moving average, ensuring minimal risk. The stop-loss is set just slightly below the entry price, limiting the potential loss.

Short Position Entry:
Conversely, a short position is entered when the entry source crosses below the moving average, indicating a potential downward trend.
The stop-loss for the short position triggers when the price crosses above the moving average, similarly limiting the risk.

Risk Management:

The strategy is designed to keep risk low, with the maximum potential loss on a single position being just a bit below the entry price. This ensures that each trade has a controlled risk, as can be seen in the list of trades where the amount of loss per trade is minimal.

Profit Targets:

The strategy allows you to set multiple profit targets. You can configure the percentage difference between successive targets as well as the number of targets. This flexibility lets you tailor the strategy to your risk-reward preferences.
For example, setting a 5% target percentage means each target is set 5% above the previous one for long positions and 5% below for short positions. You can also specify the number of targets to define how many incremental profit levels the strategy will aim for.

Look-Ahead Bias:

The calc_on_order_fills setting helps mitigate look-ahead bias by ensuring that the strategy only uses data available at the time of the order fill. This prevents the strategy from making decisions based on future information, thus making backtest results more reliable and realistic.

Conclusion:
In summary, this strategy triggers long positions when the price crosses above the moving average and short positions when the price crosses below. The stop-loss is set close to the entry price, keeping the risk per trade low. You can customize the profit targets and their increments to suit your trading style, ensuring a flexible and robust trading strategy.
almaExponential Moving Average (EMA)hullLeast Squares Moving Average (LSMA)movingavarageMoving Averagessma

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?


Also on:

Disclaimer