Monthly Performance Table by Dr. MauryaWhat is this ?
This Strategy script is not aim to produce strategy results but It aim to produce monthly PnL performance Calendar table which is useful for TradingView community to generate a monthly performance table for Own strategy.
So make sure to read the disclaimer below.
Why it is required to publish?:
I am not satisfied with the monthly performance available on TV community script. Sometimes it is very lengthy in code and sometimes it showing the wrong PNL for current month.
So I have decided to develop new Monthly performance or return in value as well as in percentage with highly flexible to adjust row automatically.
Features :
Accuracy increased for current month PnL.
There are 14 columns and automatically adjusted rows according to available trade years/month.
First Column reflect the YEAR, from second column to 13 column reflect the month and 14 column reflect the yearly PnL.
In tabulated data reflects the monthly PnL (value and (%)) in month column and Yearly PnL (value and (%)) in Yearly column.
Various color input also added to change the table look like background color, text color, heading text color, border color.
In tabulated data, background color turn green for profit and red for loss.
Copy from line 54 to last line as it is in your strategy script.
Credit: This code is modified and top up of the open-source code originally written by QuantNomad. Thanks for their contribution towards to give base and lead to other developers. I have changed the way of determining past PnL to array form and keep separated current month and year PnL from array. Which avoid the false pnl in current month.
Strategy description:
As in first line I said This strategy is aim to provide monthly performance table not focused on the strategy. But it is necessary to explain strategy which I have used here. Strategy is simply based on ADX available on TV community script. Long entry is based on when the difference between DIPlus and ADX is reached on certain value (Set value in Long difference in Input Tab) while Short entry is based on when the difference between DIMinus and ADX is reached on certain value (Set value in Short difference in Input Tab).
Default Strategy Properties used on chart(Important)
This script backtest is done on 1 hour timeframe of NSE:Reliance Inds Future cahrt, using the following backtesting properties:
Balance (default): 500 000 (default base currency)
Order Size: 1 contract
Comission: 20 INR per Order
Slippage: 5 tick
Default setting in Input tab
Len (ADX length) : 14
Th (ADX Threshhold): 20
Long Difference (DIPlus - ADX) = 5
Short Difference (DIMinus - ADX) = 5
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.
Disclaimer:
This script not provide indicative of any future results.
This script don’t provide any financial advice.
This strategy is only for the readymade snippet code for monthly PnL performance calender table for any own strategy.
Indikator dan strategi
RMI Trend Sync - Strategy [presentTrading]█ Introduction and How It Is Different
The "RMI Trend Sync - Strategy " combines the strength of the Relative Momentum Index (RMI) with the dynamic nature of the Supertrend indicator. This strategy diverges from traditional methodologies by incorporating a dual analytical framework, leveraging both momentum and trend indicators to offer a more holistic market perspective. The integration of the RMI provides an enhanced understanding of market momentum, while the Super Trend indicator offers clear insights into the end of market trends, making this strategy particularly effective in diverse market conditions.
BTC 4h long/short performance
█ Strategy: How It Works - Detailed Explanation
- Understanding the Relative Momentum Index (RMI)
The Relative Momentum Index (RMI) is an adaptation of the traditional Relative Strength Index (RSI), designed to measure the momentum of price movements over a specified period. While RSI focuses on the speed and change of price movements, RMI incorporates the direction and magnitude of those movements, offering a more nuanced view of market momentum.
- Principle of RMI
Calculation Method: RMI is calculated by first determining the average gain and average loss over a given period (Length). It differs from RSI in that it uses the price change (close-to-close) rather than absolute gains or losses. The average gain is divided by the average loss, and this ratio is then normalized to fit within a 0-100 scale.
- Momentum Analysis in the Strategy
Thresholds for Decision Making: The strategy uses predetermined thresholds (pmom for positive momentum and nmom for negative momentum) to trigger trading decisions. When RMI crosses above the positive threshold and other conditions align (e.g., a bullish trend), it signals a potential long entry. Similarly, crossing below the negative threshold in a bearish trend may trigger a short entry.
- Super Trend and Trend Analysis
The Super Trend indicator is calculated based on a higher time frame, providing a broader view of the market trend. This indicator uses the Average True Range (ATR) to adapt to market volatility, making it an effective tool for identifying trend reversals.
The strategy employs a Volume Weighted Moving Average (VWMA) alongside the Super Trend, enhancing its capability to identify significant trend shifts.
ETH 4hr long/short performance
█ Trade Direction
The strategy offers flexibility in selecting the trading direction: long, short, or both. This versatility allows traders to adapt to their market outlook and risk tolerance, whether looking to capitalize on bullish trends, bearish trends, or a combination of both.
█ Usage
To effectively use the "RMI Trend Sync" strategy, traders should first set their preferred trading direction and adjust the RMI and Super Trend parameters according to their risk appetite and trading goals.
The strategy is designed to adapt to various market conditions, making it suitable for different asset classes and time frames.
█ Default Settings
RMI Settings: Length: 21, Positive Momentum Threshold: 70, Negative Momentum Threshold: 30
Super Trend Settings: Length: 10, Higher Time Frame: 480 minutes, Super Trend Factor: 3.5, MA Source: WMA
Visual Settings: Display Range MA: True, Bullish Color: #00bcd4, Bearish Color: #ff5252
Additional Settings: Band Length: 30, RWMA Length: 20
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.
LuxAlgo - Backtester (PAC)The PAC Backtester is an innovative strategy script that allows users to create a wide variety of strategies derived from price action-related concepts for a data-driven approach to discretionary trading strategies.
Thanks to our 'Step' and 'Match' algorithm, users can create custom and complex strategy entries and exits from features such as market structure, order blocks, imbalances, as well as any external indicators, 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 condition 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 a 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 Price Action Concepts As Entries
We allow the users to use market structures, order blocks, imbalances, and external sources together to set their custom entry and exit conditions.
Market structures are commonly used to determine trend direction by indicating when prices break prior swing points. Their occurrence can be used as entry conditions.
Order blocks highlight areas where institutional market participants open positions, one can use order blocks to determine confirmation entries or potential targets as we can expect there is a large amount of liquidity at these order blocks. Price entering, being within, or mitigating an order block can be used as an entry condition.
Market imbalances highlight areas where there is a disparity between supply and demand. Price entering, being within, or mitigating an imbalance can be used as an entry condition.
This system also allows the use of external sources to create entry and exit conditions, such as moving averages, bands, trailing stops...etc.
🔹 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 complete price action strategies from this script, let's see an example using the following entry conditions:
Long: Mitigated bearish order block occurring during the New York session after a mitigated bearish imbalance.
Short: Mitigated bullish order block occurring during the New York session after a mitigated bullish imbalance.
Take Profit: 2 points away from the entry price.
Stop Loss: 1 point away from the entry price.
We can also use features from Price Action Concepts™ to construct custom exit conditions, leading to the following strategy conditions:
Long: Bullish CHoCH and price mitigates bearish FVG.
Short: Bearish CHoCH and price mitigates bullish FVG.
Exit Long: Price mitigates bearish order block.
Exit Short: Price mitigates bullish order block.
Users can achieve a wide variety of results by using external indicators as an input source for entries and exits, combining the best from price action and technical indicators. We might for example be interested in exiting a position when the RSI oscillator is overbought or oversold.
🔶 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: 1 tick
Stop Loss: 0.01 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 strategies built are realistic.
🔶 How to access
You can see the Author's Instructions below to learn how to get access.
Price Action Pattern Breakout Strategy: Wedge,Triangle,ChannelIntroducing the Price Action Pattern Breakout Strategy: Wedge,Triangle,Channel 💹🚀
The "Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel" is a dynamic and automated trading strategy that excels in recognizing and capitalizing on breakout opportunities within the realm of powerful price action patterns. It is finely tuned to achieve exceptional precision in detecting three distinct pattern types: Wedge, Triangle, and Channel. This diversity equips you to confidently navigate a wide range of market scenarios and opportunities.
This strategy automates trade entries and exits upon confirmed pattern breakouts, this eliminates human errors in correctly recognizing patterns and prevents emotional decisions. This strategy is designed to work across different time frames, making it suitable for both short-term and long-term traders. Whether you're a day trader, swing trader, or investor, this strategy provides the flexibility you need to thrive in diverse market conditions.
💎 How it Works:
▶️ In this strategy, three price action patterns have been utilized, one of which is the "Wedge" pattern. The Wedge pattern has consistently demonstrated a high level of credibility, typically resulting in sharp and rapid price movements following a confirmed breakout from this pattern. This characteristic makes the Wedge pattern highly noteworthy in our strategy. The second pattern is the "Triangle" pattern, which, depending on its formation, whether ascending or descending, can indicate a strong continuation or reversal of the trend. The last pattern is the "Channel" pattern. The reason for using the Channel pattern is its versatility in various market conditions and its tendency to produce reliable results.
In the snapshot below, you can observe the types of patterns that this strategy is capable of identifying at a glance:
▶️ This strategy employs two types of targeting systems: Fixed Targets and Trailing Targets.
Fixed Targets is the default targeting system of the strategy, incorporating two primary targets: TP1 (Target Point 1) and TP2 (Target Point 2). These targets are thoughtfully adjusted in alignment with specific rules for each pattern. With Fixed Targets, you have the flexibility to designate the position size percentage for your exits at TP1 and TP2. For instance, should you opt to allocate 60% of your position size to TP1, as soon as the price triggers the first take profit level, 60% of your initial position is gracefully closed, leaving the remaining 40% to exit the trade upon reaching TP2.
Trailing Targets represent the strategy's alternative targeting system. With this system, the trailing stop becomes active once the price reaches the specified trigger point. The strategy then exits the trade based on the defined offset percentage and price retracement from the trailing limit.
▶️ This strategy relies on a single type of stop loss, determined by previous pivot points and adjusted based on the trade's direction, whether long or short, placing the stop loss above or below the prior pivot. This stop loss approach has demonstrated reliability when used alongside price action patterns.
In addition to this fixed stop loss, you can specify a percentage buffer, offering protection against potential stop hunting due to market fluctuations. This buffer helps protect your positions from sudden price swings. For example, selecting a 1% buffer means your stop loss will be positioned 1% higher or lower concerning the last pivot, depending on your trade's direction. This added layer of security ensures your trades remain resilient and less vulnerable to market volatility.
▶️ A practical feature of this strategy is the "Risk-Free" option. Once activated, it continuously monitors price movements, and as soon as the price progresses in the trade's direction and surpasses the designated Risk-Free Trigger Point in percentage, the stop loss is dynamically shifted from its initial position to the entry price, effectively making the trade "risk-free." This means that if the trade doesn't go as expected, we exit at the entry point, incurring neither profit nor loss from the trade.
Additionally, you have the flexibility to fine-tune the modified stop loss, positioning it slightly above or below the entry price through the configuration of a specified percentage. This allows for effective consideration of commission fees in your trading strategy.
▶️ Risk management is a crucial concept in trading, playing a significant role in a trader's long-term success. This strategy introduces a unique feature called "Fixed Loss Position Sizing", where upon activation, you can limit the risk exposure to a specified percentage of your capital per trade. Set your preferred risk percentage along with the intended leverage. The strategy independently considers your available capital and designated leverage, determining the position size before executing any trade.
In the case of a stop loss, your loss is limited to the specified risk percentage. For instance, with a $1000 account and a 1% risk set, the strategy adjusts each trade's size to ensure a maximum loss of $10 if the stop loss is triggered. Enabling this feature will ensure disciplined risk management, aligning potential losses precisely with your predetermined risk percentage, contingent upon your total available capital.
▶️ Another feature of this strategy is a sophisticated mechanism called "Loss Compensation". When enabled, Loss Compensation dynamically adjusts the position size after a loss, aiming to recover from previous losses in subsequent trades. This adaptive mechanism continually modifies the position size to mitigate the impact of consecutive losses until reaching a user-defined limit for consecutive loss compensations.
The feature's configurability allows users to set the maximum number of consecutive losses to compensate for and also includes an option to factor in trading fees from prior trades into the compensation calculation. Loss Compensation operates in conjunction with the 'Fixed Loss Position Sizing' setting, ensuring that once losses are sufficiently compensated, subsequent entries revert to the predefined configurations within the 'Fixed Loss Position Sizing' settings.
This advanced tool ensures a stable risk management approach by changing trade sizes dynamically according to past results during consecutive loss periods.
▶️ This strategy incorporates a feature known as the "Counter-Pattern Breakout", altering its approach to wedge, triangle, and channel pattern breakouts. Normally, the strategy relies on standard pattern signals to determine whether to enter long or short positions based on breakout directions.
For example, in an ascending channel or a rising wedge pattern, the strategy typically seeks a short position opportunity upon a confirmed breakout in the lower line, and breakouts from the upper line are disregarded by the strategy. But with this feature enabled, strategy disregards the conventional pattern signals, seizing breakouts from upper or lower lines to open corresponding positions. For instance, in the ascending channel or the rising wedge pattern example, the strategy might enter a long position if the upper line breaks or a short position if the lower line breaks.
This introduces a more adaptive and opportunistic trading style, allowing you to capitalize on price movements, irrespective of the typical signal direction indicated by the pattern.
▶️ This strategy is fully compatible with third-party trading bots, allowing for easy connectivity to popular trading platforms. By leveraging the TradingView webhook functionality, you can effortlessly link the strategy to your preferred bot and receive accurate signals for position entry and exit. The strategy provides all the necessary alert message fields, ensuring a smooth and user-friendly trading experience. With this integration, you can automate the execution of trades, saving time and effort while enjoying the benefits of this powerful strategy.
⚙️ How to Use & Configure User Settings:
To fully utilize the "Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel," it's essential to consider and comprehend the following steps. They play a crucial role in enhancing its functionality and achieving its utmost potential outcomes:
1. General Strategy Settings:
Enable Dark Mode if using a dark TradingView theme for improved chart visibility.
Select the Strategy's Trade Direction: Long, Short, or Both.
Choose Pattern Recognition Accuracy: High for precise recognition but fewer positions, Low for more positions with slightly less accuracy.
Enable 'Prevent New Entry on Opposite Signal While In Position' to avoid new trades if the opposite signal occurs.
Switch to Indicator Mode if solely using the strategy as an indicator or in combination with other strategies.
2. Pattern and Pivot Configuration:
Consider configuring the Number of Patterns and Pivot Lookback Lengths. Here, you can personalize the pivot lookback lengths for wedge, triangle, and channel patterns across eight different settings on your chart. For lower time frames, consider larger lengths to reduce chart noise. Alternatively, to maintain clarity on your chart, you can disable multiple patterns with different lengths while ensuring at least one pattern remains enabled.
Note that enabling more patterns doesn't always equate to increased potential profit. Sometimes, fewer patterns result in greater profit potential, and vice versa. Experiment with lengths and the number of patterns to determine the most profitable and optimal outcome for your trading symbol and timeframe.
3. Targeting System Selection:
Choose between 'Fixed Targets' or 'Trailing Targets' for your targeting system.
'Fixed Targets' is the default setting, operational when 'Trailing Targets' are turned off.
Set the TP1 Position Size as a percentage, defining the size for TP1, and the rest exits at TP2.
Optionally activate 'Skip Entry if TP1 is Passed' to bypass entering positions if the price has exceeded TP1.
Alternatively, opt for the 'Trailing Target' for dynamic exits based on trigger points and offsets. Note that this option disables fixed targets.
4. Stop Loss Configuration:
Determine the number of candles to consider for stop loss placement based on the last pivot.
Optionally add a percentage to the stop loss to create a buffer against market fluctuations, guarding your positions from sudden price swings.
5. Risk Management Configuration:
You can activate the 'Risk-Free' feature, making your trades risk-free by moving the stop loss to the entry price upon reaching a specified trigger point.
You have the possibility to enable 'Fixed Loss Position Sizing' to limit risk to a percentage of total capital per trade, ensuring prudent risk management.
You can employ 'Use Real-Time Balance for Each Entry' to precisely calculate fixed loss position sizing according to the real-time balance for every entry.
The 'Loss Compensation' feature can be activated to automatically adjust trade sizes during consecutive losses and compensate for prior incurred losses.
Loss compensation continues adjusting trade sizes until it reaches the defined limit of consecutive losses specified in the 'Maximum Consecutive Losses To Compensate' field.
You can factor in commission fees by specifying a percentage in the 'Include Trading Fees in Compensation (%)' field, providing an option for more accurate loss compensation calculations.
You have the option to enable 'Limit Compensation to Real-Time Balance' to prevent consecutive loss compensation from exceeding your current real-time account balance.
It's important to note that for the 'Loss Compensation' feature to operate, the 'Fixed Loss Position Sizing' must be enabled.
6. Counter-Pattern Breakout Configuration:
In this section you have the option to enable the "Counter-Pattern Breakout" feature to adjust the strategy's approach to wedge, triangle, and channel pattern breakouts. Once enabled, the strategy disregards traditional pattern signals and capitalizes on breakouts from either the upper or lower lines, initiating corresponding positions accordingly.
Choose between 'Fixed Target' or 'Trailing Target' for your targeting system. If you opt for the 'Fixed Target', set a specific target point as a percentage, serving as the default target for counter-pattern breakouts. Alternatively, choose the 'Trailing Target' for dynamic exits based on trigger points and offsets. Do keep in mind that selecting the 'Trailing Target' option disables the fixed target setting.
Keep in mind that for standard, non-counter-pattern breakouts, the target point settings in their respective sections remain applicable, distinct from the settings configured for targeting within this section.
Note that the stop loss configurations are shared across standard pattern and counter-pattern breakouts and can be adjusted within the stop loss section.
7. Info Tables:
In the info tables section, you can show or hide different tables on the charts. This includes the backtest table, the current balance table displaying available funds, and a table showcasing Maximum Consecutive Wins or Losses. Choose which to display according to your preferences and specific needs.
8.Date & Time Range Filter:
Utilize the Date & Time Range filter feature to precisely select a start and end date, including time, to filter data within the chosen range.
When connecting this strategy to a trading bot for automated trades, ensure to set the start date and time to the intended initiation moment to avoid undesired outcomes as this directly affects the real-time balance calculations of the strategy.
8. Integration with Third-Party Bots:
To automate trading, leverage the strategy's compatibility with third-party trading bots. Seamlessly integrate the strategy into well-known trading platforms by using alert message fields to input commands from third-party trading bots, enabling automated trade execution for both long and short positions.
By furnishing these adjustable settings, the strategy empowers you to personalize it according to your unique requirements, thereby bolstering the adaptability and efficacy of your trading approach.
🔐 Source Code Protection:
The 'Price Action Pattern Breakout Strategy: Wedge, Triangle, Channel' source code is engineered for precision, reliability, and effectiveness. Its original and innovative design warrants protection and restricted access, preserving the strategy's exclusivity. Safeguarding the code maintains the strategy's integrity and distinctiveness, providing users with a competitive advantage in their trading endeavors.
2 Moving Averages | Trend FollowingThe trading system is a trend-following strategy based on two moving averages (MA) and Parabolic SAR (PSAR) indicators.
How it works:
The strategy uses two moving averages: a fast MA and a slow MA.
It checks for a bullish trend when the fast MA is above the slow MA and the current price is above the fast MA.
It checks for a bearish trend when the fast MA is below the slow MA and the current price is below the fast MA.
The Parabolic SAR (PSAR) indicator is used for additional trend confirmation.
Long and short positions can be turned on or off based on user input.
The strategy incorporates risk management with stop-loss orders based on the Average True Range (ATR).
Users can filter the backtest date range and display various indicators.
The strategy is designed to work with the date range filter, risk management, and user-defined positions.
Features:
Trend-following strategy.
Two customizable moving averages.
Parabolic SAR for trend confirmation.
User-defined risk management with stop-loss based on ATR.
Backtest date range filter.
Flexibility to enable or disable long and short positions.
This trading system provides a comprehensive approach to trend-following and risk management, making it suitable for traders looking to capture trends with controlled risk.
Crypto Market Strategy (CMS)/Introduction
The Crypto Market Strategy (CMS) is a composite strategy for the cryptocurrency market. It integrates multiple strategies (called signals) to ensure you are exploiting multiple patterns/anomalies in the market.
/Signals
The three distinct strategies, each providing signals based on specific market conditions are explained below:
1. Limit Range: This signal targets stable market periods, triggering signals based on micro breakouts in price. The market during this period is described as stable because of the short lookback period required for breakout, four bars is the default.
2. Trend Breakout: This signal seeks to capitalize on significant market movements following consolidation periods, it triggers when large price breakouts occur. The market during this period is described as volatile because of the long lookback period required for breakout, forty bars is the default.
3. Momentum: After breakouts, price uptrends may persist for a long time, typically weeks to months. This signal captures long term trends.
An upward blue arrow signifies a long entry signal, a downward red arrow indicates a short entry signal, while an upward/downward pink arrow indicates an exit signal. All signals will have a label indicating the triggering strategy and number of units (this can be disabled in the style settings).
/Construction
The strategy is constructed using minimal indicators, it is basically price action and moving averages.
/Settings
The settings are organised according to the signals;
1. Limit range
Entry - This is the size of breakout
+Exit - Closes the trade in profit
-Exit - Closes the trade to minimise loss
2. Trend breakout
Entry - This is the size of the breakout
Exit - Closes the trade to minimise loss
3. Momentum
Entry - This determines how quickly a signal is triggered
Lookback - This is the duration considered for the entry
/Results
The backtest results are based on a starting capital of $13,700 (convenient amount for retail traders) with 5% of equity for the position size and pyramiding of 3 consecutive positions because there are three signals. Commissions vary from broker to broker with some charging zero commissions, so commissions is set to an exorbitant $3 per order to ensure profitability in backtests is reproducible in live trading. Slippage of 3 ticks is used to ensure the results are representative of real world, market order, end-of-day trading. The backtest results are available to view at the bottom of this page.
Note:
Past performance in backtesting does not guarantee future results. Cryptocurrency markets are particularly volatile, and individual execution and market changes can significantly affect strategy performance. Price data may also vary across exchanges.
/Tickers
CMS has been backtested primarily on BTCUSD. It also performs well on ETHUSD.
Seasonal Market Strategy (SMS)/Introduction
The Seasonal Market Strategy (SMS) is not a technical strategy, it is based on market seasonality and draws heavily from the work of Yale Hirsch, creator of the Stock Trader's Almanac.
/Signals
The strategy is long only. Four different seasonal signals are generated to ensure stock market history, cycles, psychology and patterns are turned into actionable trades. The signals are:
1. Sell in May and Go Away: A strategy suggesting investors sell stocks in May and avoid the market until November, based on historical underperformance during this period.
2. Turn of the Month: Trading tactic that capitalises on the tendency of stock prices to rise at the month's beginning.
3. Santa Claus Rally: Refers to the often-seen increase in stock prices around Christmas and the New Year.
4. Turn Around Tuesday: A pattern where stock markets rebound on Tuesdays following a decline on Mondays.
There is no logic or calculation, just dates for entry and exit. These seasonal patterns are explained in various places online for those who want to understand why they are profitable. Stock Trader's Almanac is a good resource to start with.
/Interpretation
SMS will display an upward blue arrow signifying a buy signal after the candle closes, when entry conditions are met. A label below the arrow will describe which signal was triggered and a number depicting the number of units (they can be deactivated in the style settings). SMS will also display a downwards pink arrow above the candle when the exit conditions are met.
/Strategy Results
The backtest results are based on a starting capital of $13,700 (convenient amount for retail traders) with 5% of equity for the position size and pyramiding of 4 consecutive positions because there are four signals. Because of the large amount of trades, this strategy is suitable with brokers that do not charge commissions, so commissions is set to zero while slippage of 3 ticks is used to ensure the results are representative of real world, market order, end-of-day trading. The backtest results are available to view at the bottom of this page.
NOTE:
Past results are not indicative of future results. The strategy is backtested in ideal conditions, it has no predictive abilities and seasonal trends may breakdown at anytime hence, results from live trading may not achieve the same performance shown here as each trader may introduce subjectivity or interfere with its performance or market conditions might change significantly.
/Tickers
This strategy has been backtested on the Dow Jones Industrial Average ETF with ticker DIA but it also performs well with the SPY ticker which is the ETF for the S&P500.
IchiBot - [SigmaStreet]
The IchiBot Indicator has been used to develop automated trading systems. It leverages the open-source Ichimoku framework provided by Trading View, to enable users to creatively generate over 1 trillion different combinations of trading conditions with the use of multiple timeframes to create unique “signal labels” that can be used to create custom strategies or provide in depth market analysis. At the end of this description, I have provided an example of input settings for a simple scalping strategy that I have back tested on US30 on the 5 minute timeframe.
Overview of the Settings:
The visuals section includes an option to show or hide certain parts of the indicator and change the size of the signal labels plotted on the chart.
Next to the “Signal color on baseline/candles” section, you can choose if you want to see additional signals generations from the most previous plotted label on a color changing baseline, or color changing candles. A color change from gray to blue/red indicate that the conditions from the most previously plotted signal label have been met again.
The next 5 sections are all related to the strategy portion of the indicator, used to aid in the back testing process. These sections are titled “Stop loss”, “Take Profit”, “Trail Stop”, “Trade Settings” and “Trade Schedule”.
The Stop Loss section includes an option to choose between value of “pts”, “atr” (average true range) or “None”. The stop loss value in “pts” is simply a specified number of points or pips from the current entry price of a trade that are input in the “SL” section. If the stop loss type is “atr” the “SL” section is not used and the value is calculated and displaced from the current entry price of a trade based on the atr period multiplied by the atr multiplier.
The take profit section is based on the same logic as the stop loss.
The Trail Stop section includes an option to choose between values “pts” or “None”. If the Trail Stop value is “pts”, a trailing stop loss is activated if a trade moves a point value into profit that exceeds the value of the “Trail Activation”. If the Trail Offset type is “pts”, the trailing stop loss is placed a point value away from the current price that is equal to the “Trail Offset” value.
The trade settings section has two options to either prevent or allow trade reversals and prevent or allow only 1 trade per signal label.
If the “Don’t allow trade reversals” is on, then a currently active trade can not be cancelled by an opposite trade signal. It can only be cancelled by the exit logic selected in the above sections. If the “One trade per signal” is selected, the strategy will only enter a trade if the most recent signal label is different from the last signal label where a trade was entered, or if the most recent signal label is in the opposite direction of the most recent signal label where a trade was entered.
The trade schedule section includes an option to only generate signal labels during the specified time. You can choose between 24/7 which will generate signals without any time restriction, or you can choose a custom time which is based on the America / New York time zone.
The timeframe settings section includes an option to choose “single” or “multiple” timeframes, as well as an option to show every signal label combination (“all”), or only the signal labels with the highest numerical value (“absolute”).
If you select “single” next to “timeframe”, the indicator will show you labels based on trade conditions met from only 1 selected timeframe. If you select “multiple” next to “timeframe”, the indicator is designed to return signal labels based on trade conditions that have been met on at least 2 different timeframes.
If you select “multiple” and “use current timeframe”, the indicator will include labels that always include a minimum of 2 timeframes where 1 timeframe is always the current timeframe. If you unselect the “use current timeframe”, the indicator will include labels with a minimum of 2 timeframes.
If you select “multiple” next to “timeframe” and “all” next to “Show all/absolute labels”, the indicator will show you every possible combination of labels that vary from trade conditions met on a minimum of 2 timeframes, to the maximum number of timeframes selected.
If you select “multiple” next to “timeframe” and “absolute” next to “Show all/absolute labels”, the indicator will only show you labels where the numerical value is equivalent to the maximum number of timeframes selected.
Each signal label provides a number which refers to the number of timeframes used to generate the label, offering insights briefly. Hover over a label to reveal detailed tooltip information that details the exact timeframes used to generate each label.
You can choose all from “Show all/absolute labels” to see every possible combination of trade signals or “absolute” to only see labels that have the highest possible numerical value. Absolute means that every condition selected from every timeframe was calculated to be true at the same time on the same candle.
The next 8 sections are “Current timeframe trade conditions”, “1-minute timeframe trade conditions”, “5-minute timeframe trade conditions”, “15-minute timeframe trade conditions”, “30-minute timeframe trade conditions”, “1-hour timeframe trade conditions”, “4-hour timeframe trade conditions”, “Daily timeframe trade conditions”.
These sections include the same 10 trade conditions, that can be used independently, or in combination with each other. This brings the total number of trade conditions to 70.
The final section includes a standard option to adjust the current Ichimoku values.
Understanding the Calculations:
The term “future” refers to a value that is calculated 26 candles to the right of the most recent closing price.
The term “current” refers to a value that is calculated on the most recent closing price.
The term “past” refers to a value that is calculated 26 candles to the left of the most recent closing price.
Bullish is referred to as “blue” and bearish is referred to as “red”.
Buy Signals:
1. The current closing price is greater than the current cloud value.
2. The future cloud is blue.
3. The current closing price is greater than the current conversion line.
4. The current conversion line is greater than the current baseline.
5. The lagging span is greater than the closing price of the last 25 candles.
6. The lagging span is greater than the past cloud.
7. The lagging span is greater than the past conversion line and the past baseline.
8. The current conversion line is greater than the current cloud.
9. The current baseline is greater than the current cloud.
10. The value of the current cloud to the future cloud is completely blue.
Sell Signals:
1. The current closing price is less than the current cloud value.
2. The future cloud is red.
3. The current closing price is less than the current conversion line.
4. The current conversion line is less than the current baseline.
5. The lagging span is less than the closing price of the last 25 candles.
6. The lagging span is less than the past cloud.
7. The lagging span is less than the past conversion line and the past baseline.
8. The current conversion line is less than the current cloud.
9. The current baseline is less than the current cloud.
10. The value of the current cloud to the future cloud is completely red.
The script enables users to access the value of these 10 trade conditions across the 7 major time frames (1-minute, 5-minute, 15-minute, 30-minute, 1-hour, 4-hour, Daily, and the current charts time frame) by using the official non repainting request security function provided by Trading View:
f_secSecurity(_src, _res, _exp) =>
request.security(_src, _res, _exp )
This indicator provides up to 70 variables (10 variables X 7 timeframes) that can be used separately, or in combination to generate signal labels.
Enhance your visual analysis with a color-changing baseline and candle colors that adapt to signal shifts, offering an immediate understanding of market trends. The base line will change from gray to blue/red which will reference the most previously plotted signal label. This change in color indicate that the conditions from the most recently plotted signal label have been met once again. Please refer to the example below.
Adjustments to the Ichimoku Indicator:
The script uses a slightly refined version of the Ichimoku indicator to calculate 10 different “trade conditions”. Each trade condition can create 1 bullish signal label and 1 bearish signal label. The calculations are primarily based on “greater than and less than logic” which is standard for signal generation.
In the original Ichimoku calculations, the “Lagging Span” has a default value of 26 periods. In the actual calculations, this input with the title “Lagging Span” is referred to as the “displacement”. When the lagging span is plotted on the chart, it is plotted with an offset value of offset = -displacement + 1 which technically plots the lagging span 25 candles to the left the most recent candle (if you count the most recent closing price as 0 and not 1). The clouds are plotted with an offset of offset = displacement -1 which technically plots the clouds 25 candles to the right of the most recent candle.
I have adjusted the logic of the Ichimoku indicator so the lagging span is still plotted 25 candles to the left of the most recently confirmed candle close, but the cloud is plotted 26 candles to the right of the most recent confirmed candle close.
This seemingly small adjustment of one candle cannot simply be adjusted in the settings of the original Ichimoku indicator since the calculations of the cloud and lagging span displacements are directly affected by the same value (displacement = 26, also known as the “lagging span”). My script is adjusted to make calculations where the lagging span is 25 candles to the left of the most recent candle, and the cloud is displaced 26 candles to the right of the most recent candle.
For example, my scripts logic to detect if the current closing price is over the current cloud is (close > leadLead1 and close > leadLine2 and leadLine1 > leadLine2 . By using a lookback of , the logic assumes that the displaced value is 26 bars to the right of the most recent candle. My script also reflects this logic in the plotted values of the cloud where the offset values are offset = displacement. This adjustment is made without affecting any other part of the Ichimoku indicators calculations, only the displacement of the cloud which directly affects the logic of trade conditioins. This change is a deliberate and necessary function of this script’s logic to generate trade conditions and signal labels.
I’ve removed the conversion line and the lagging span and introduced a 26-period pivot high/low to provide a less cluttered chart. The pivot high/low looks 26 periods to the left and only 1 period to the right. The lagging span and conversion line logic is still built into the framework of the trading signals. If you choose to enable the lagging span, or conversion line.
trading approach, and always test your strategies thoroughly.
The function to generate the "Signal Labels" calculates every single possible combination of the 7 different timeframes which is a total of 127 combinations for bullish signal labels, and 127 combinations for bearish signal labels. This function also provides the necessary criteria for the strategy entry conditions, based on the dynamically calculated values derived from the signal labels themselves. For example: "buy signal on 1 minute and 5 minute timeframe" is considered 1 combination, and "Buy signal on current, 5 minute, 15 minute, 30 minute, 1 hour, 4 hour and daily timeframe" is also considered 1 combination. There are a total of 254 combinations between buy and sell signal labels along with 254 individual variables with their own unique tool tip description. The signal label function alone spans over 1340 lines of code (minus spaces and comments) to specifically account for every possible variable combination. This unique and original function also calculates the signal label "value" which is the number you see on the signal label. This function adjusts the amount of labels plotted, the value and description of all labels based on the timeframe settings "single"/"multiple", the use of "use current timeframe" setting, and the "trade schedule". This signal label function has been a landmark piece of code for me in my endeavor to create and optimize my strategies based on its ability to provide an in depth analysis of the timeframes used when generating signal labels. This function is main reason that this script has been published closed source.
Back tested results.
The current results are from US30 (Dow Jones Industrial Average CFD) on the 5-minute timeframe using regular candles. The inputs are as follows:
Stop loss = 5000 pts
No take profit.
Trail activation = 100 pts
Trail offset = 100 pts
Don’t allow trade reversals
Trade 24/7
Timeframe = multiple
Show absolute signals
Use current timeframe, lag span over/under candles
Use 30m timeframe, all cloud is bull/bear
Initial capital = $10,000 USD, 1 contract, $0.07 per contract, slippage = 3 ticks, use bar magnifier = on
Timeframe = June 1st, 2023 – November 10th, 2023, risk = 5% (greatest loosing trade = $500.44)
Sniper [Decentrader]Bespoke Decentrader Mean Reversion / Colume based support/resistance Strategy builder.
Colour-coded mean line using price and volume
Volatility Bands (chose % or Std Dev)
Major support and resistance plotted lines
Suggested dynamic hard-stop placement
Built for all markets
A realistic strategy for multi-asset portfolio management
Complementary components to assist other indicators/strategies
Filtering for Long / Short only conditions is possible under settings.
Can be automated by including 3rd party code into the settings to be used as alerts.
Use the Mitigate lines to show previous areas of support or resistance, which have been broken.
4 main strategy options:
1. You can choose whether to enter based on the upper or lower Meanline. If the price is below the Meanline, the lower Meanline will be used for entry, while if the price is above the Meanline, the upper Meanline will be used. If you want to use this condition to exit the position, you also need to select the "Exit at the Meanline" option as well.
2. If the selected strategy is "3. Buy/Sell Volatility Bands," you can specify which Band should trigger the position to open. The price must touch or cross the edge of the chosen Band. Additionally, if the "Exit at the Volatility Bands" option is selected, the same Band will be used for the exit criteria.
3. Buy/Sell Meanline retest": A position will be opened when the price retests the Meanline. The price must touch or wick through the Meanline without closing below/above it. (If this strategy is combined with "Exit at the Meanline" option, then in case price goes against our position, the strategy will exit if the price closes under/above the meanline
Buy/Sell Meanline breakout (UP/DOWN)": A long or short position will be opened when the price breaks above or below the Meanline
4. Buy/Sell Support/Resistance lines": A position will be opened when the price touches the support or resistance lines. This option can also be combined with the "Exit at the Meanline" option.
This tool can be used to help enter a trending asset or find entries for an asset retracing.
Please take care to test strategies before automation, which is also possible.
Ironman [Decentrader]Ironman
What is it? how it does it? And how to use it:
i) Ironman is a multifaceted strategy builder, which uses coloured candles which represent certain customisable inputs being in confluence with one another and the set scenario.
ii) There are 7 customised technical indicators which can be input as a basis for the analytical review.
iii) Determine a primary indicator which dictates a bullish or bearish trend (and colour) and then optionally add up to 6 other indicators to be required to be in confluence which adds another colour to be represented.
An example might be two moving averages crossing as the main trend determination. The primary determinant is dictated as the trend being “bullish or bearish” and the added confluence adds an additional layer being “very bullish or very bearish”
iv) Users select which conditions they wish to enter and exit trades on using the Bullish / Very Bullish and Bearish / Very Bearish settings. This can be combined with other timeframes.
v) The selected inputs for each indicator will show in a table contained in the bottom right-hand corner. Active indicators within the system will be highlighted.
vi) Ironman is built to include various take profit and stop loss options such as trailing stops, and fixed percentage targets which can be included in the strategy. Different timeframes can be used to determine the stop if users wish to do so.
vii) Users can require that there is also confluence with a differing time period or choose long and short-only options which can be dictated independently or based upon filtering criteria using moving averages.
viii) Using the strategy settings, users are also able to choose backtesting periods.
ix) Position label settings allow users to show various backtesting options such as profit by position, total backtesting results and results for the active position.
x) Ironman enables users to automate trading easily using the input boxes under Alert messages which also allows connection to a third party which can conduct execution. Always make sure to thoroughly test the strategy if it is being automated.
xi) To get the best out of Ironman, build up a strategy for the timeframe and asset you are looking at and back-test outcomes as variables are layered in. Ensure to backtest over a suitable length of time.
xii) When optimising input variables, it can sometimes visually assist in having the underlying inputs on the screen via the standard indicators.
xiii) There are many boxes of information in the input variables, which explain how to use each part. Users can also add features such as a marker showing on the chart where all indicators are bullish/bearish, or where RSI is overbought / over sold.
xiv) Users can further customise the style of the tool under the style tab in the indicator settings.
Captain Backtest Model [TFO]Created by @imjesstwoone and @mickey1984, this trade model attempts to capture the expansion from the 10:00-14:00 EST 4h candle using just 3 simple steps. All of the information presented in this description has been outlined by its creators, all I did was translate it to Pine Script. All core settings of the trade model may be edited so that users can test several variations, however this description will cover its default, intended behavior using NQ 5m as an example.
Step 1 is to identify our Price Range. In this case, we are concerned with the highest high and the lowest low created from 6:00-10:00 EST.
Step 2 is to wait for either the high or low of said range to be taken out. Whichever side gets taken first determines the long/short bias for the remainder of the Trade Window (i.e. if price takes the range high, bias is long, and vice versa). Bias must be determined by 11:15 EST, otherwise no trades will be taken. This filter is intended to weed out "choppy" trading days.
Step 3 is to wait for a retracement and enter with a close through the previous candle's high (if long biased) or low (if short biased). There are a couple toggleable criteria that we use to define a retracement; one is checking for opposite close candles that indicate a pullback; another is checking if price took the previous candle's low (if long biased) or high (if short biased).
This trade model was initially tested for index futures, particularly ES and NQ, using a 5m chart, however this indicator allows us to backtest any symbol on any timeframe. Creators @imjesstwoone and @mickey1984 specified a 5 point stop loss on ES and a 25 point stop loss on NQ with their testing.
I've personally found some success in backtesting NQ 5m using a 25 point stop loss and 75 point profit target (3:1 R). Enabling the Use Fixed R:R parameter will ensure that these stops and targets are utilized, otherwise it will enter and hold the position until the close of the Trade Window.
Bollinger Bands StrategyBollinger Bands Strategy :
INTRODUCTION :
This strategy is based on the famous Bollinger Bands. These are constructed using a standard moving average (SMA) and the standard deviation of past prices. The theory goes that 90% of the time, the price is contained between these two bands. If it were to break out, this would mean either a reversal or a continuation. However, when a reversal occurs, the movement is weak, whereas when a continuation occurs, the movement is substantial and profits can be interesting. We're going to use BB to take advantage of this strong upcoming movement, while managing our risks reasonably. There's also a money management method for reinvesting part of the profits or reducing the size of orders in the event of substantial losses.
BOLLINGER BANDS :
The construction of Bollinger bands is straightforward. First, plot the SMA of the price, with a length specified by the user. Then calculate the standard deviation to measure price dispersion in relation to the mean, using this formula :
stdv = (((P1 - avg)^2 + (P2 - avg)^2 + ... + (Pn - avg)^2) / n)^1/2
To plot the two Bollinger bands, we then add a user-defined number of standard deviations to the initial SMA. The default is to add 2. The result is :
Upper_band = SMA + 2*stdv
Lower_band = SMA - 2*stdv
When the price leaves this channel defined by the bands, we obtain buy and sell signals.
PARAMETERS :
BB Length : This is the length of the Bollinger Bands, i.e. the length of the SMA used to plot the bands, and the length of the price series used to calculate the standard deviation. The default is 120.
Standard Deviation Multipler : adds or subtracts this number of times the standard deviation from the initial SMA. Default is 2.
SMA Exit Signal Length : Exit signals for winning and losing trades are triggered by another SMA. This parameter defines the length of this SMA. The default is 110.
Max Risk per trade (in %) : It's the maximum percentage the user can lose in one trade. The default is 6%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, meaning that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:BTCUSD in 8h timeframe with the following parameters :
BB Length = 120
Standard Deviation Multipler = 2
SMA Exit Signal Length = 110
Max Risk per trade (in %) = 6%
ENTER RULES :
The entry rules are simple:
If close > Upper_band it's a LONG signal
If close < Lower_band it's a SHORT signal
EXIT RULES :
If we are LONG and close < SMA_EXIT, position is closed
If we are SHORT and close > SMA_EXIT, the position is closed
Positions close automatically if they lose more than 6% to limit risk
RISK MANAGEMENT :
This strategy is subject to losses. We manage our risk using the exit SMA or using a SL sets to 6%. This SMA gives us exit signals when the price closes below or above, thus limiting losses. If the signal arrives too late, the position is closed after a loss of 6%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the fixed ratio value, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 8h, this strategy is a medium/long-term strategy. That's why only 51 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
Rate of Change StrategyRate of Change Strategy :
INTRODUCTION :
This strategy is based on the Rate of Change indicator. It compares the current price with that of a user-defined period of time ago. This makes it easy to spot trends and even speculative bubbles. The strategy is long term and very risky, which is why we've added a Stop Loss. There's also a money management method that allows you to reinvest part of your profits or reduce the size of your orders in the event of substantial losses.
RATE OF CHANGE (ROC) :
As explained above, the ROC is used to situate the current price compared to that of a certain period of time ago. The formula for calculating ROC in relation to the previous year is as follows :
ROC (365) = (close/close (365) - 1) * 100
With this formula we can find out how many percent the change in the current price is compared with 365 days ago, and thus assess the trend.
PARAMETERS :
ROC Length : Length of the ROC to be calculated. The current price is compared with that of the selected length ago.
ROC Bubble Signal : ROC value indicating that we are in a bubble. This value varies enormously depending on the financial product. For example, in the equity market, a bubble exists when ROC = 40, whereas in cryptocurrencies, a bubble exists when ROC = 150.
Stop Loss (in %) : Stop Loss value in percentage. This is the maximum trade value percentage that can be lost in a single trade.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by an amount chosen by the user.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:BTCUSD in 1D timeframe with the following parameters :
ROC Length = 365
ROC Bubble Signal = 180
Stop Loss (in %) = 6
LONG CONDITION :
We are in a LONG position if ROC (365) > 0 for at least two days. This allows us to limit noise and irrelevant signals to ensure that the ROC remains positive.
SHORT CONDITION :
We are in a SHORT position if ROC (365) < 0 for at least two days. We also open a SHORT position when the speculative bubble is about to burst. If ROC (365) > 180, we're in a bubble. If the bubble has been in existence for at least a week and the ROC falls back below this threshold, we can expect the asset to return to reasonable prices, and thus a downward trend. So we're opening a SHORT position to take advantage of this upcoming decline.
EXIT RULES FOR WINNING TRADE :
The strategy is self-regulating. We don't exit a LONG trade until a SHORT signal has arrived, and vice versa. So, to exit a winning position, you have to wait for the entry signal of the opposite position.
RISK MANAGEMENT :
This strategy is very risky, and we can easily end up on the wrong side of the trade. That's why we're going to manage our risk with a Stop Loss, limiting our losses as a percentage of the trade's value. By default, this percentage is set at 6%. Each trade will therefore take a maximum loss of 6%.
If the SL has been triggered, it probably means we were on the wrong side. This is why we change the direction of the trade when a SL is triggered. For example, if we were SHORT and lost 6% of the trade value, the strategy will close this losing trade and open a long position without taking into account the ROC value. This allows us to be in position all the time and not miss the best opportunities.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 1D, this strategy is a medium/long-term strategy. That's why only 34 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
RSI & Backed-Weighted MA StrategyRSI & MA Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators that work best together: the Relative Strength Index (RSI) and the Moving Average (MA). We're going to use the RSI as a trend-follower indicator, rather than a reversal indicator as most are used to. To the signals sent by the RSI, we'll add a condition on the chart's MA, filtering out irrelevant signals and considerably increasing our winning rate. This is a medium/long-term strategy. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RSI :
The RSI is one of the best-known and most widely used indicators in trading. Its purpose is to warn traders when an asset is overbought or oversold. It was designed to send reversal signals, but we're going to use it as a trend indicator by increasing its length to 20. The RSI formula is as follows :
RSI (n) = 100 - (100 / (1 + (H (n)/L (n))))
With n the length of the RSI, H(n) the average of days closing above the open and L(n) the average of days closing below the open.
MA :
The Moving Average is also widely used in technical analysis, to smooth out variations in an asset. The SMA formula is as follows :
SMA (n) = (P1 + P2 + ... + Pn) / n
where n is the length of the MA.
However, an SMA does not weight any of its terms, which means that the price 10 days ago has the same importance as the price 2 days ago or today's price... That's why in this strategy we use a RWMA, i.e. a back-weighted moving average. It weights old prices more heavily than new ones. This will enable us to limit the impact of short-term variations and focus on the trend that was dominating. The RWMA used weights :
The 4 most recent terms by : 100 / (4+(n-4)*1.30)
The other oldest terms by : weight_4_first_term*1.30
So the older terms are weighted 1.30 more than the more recent ones. The moving average thus traces a trend that accentuates past values and limits the noise of short-term variations.
PARAMETERS :
RSI Length : Lenght of RSI. Default is 20.
MA Type : Choice between a SMA or a RWMA which permits to minimize the impact of short term reversal. Default is RWMA.
MA Length : Length of the selected MA. Default is 19.
RSI Long Signal : Minimum value of RSI to send a LONG signal. Default is 60.
RSI Short signal : Maximum value of RSI to send a SHORT signal. Default is 40.
ROC MA Long Signal : Maximum value of Rate of Change MA to send a LONG signal. Default is 0.
ROC MA Short signal : Minimum value of Rate of Change MA to send a SHORT signal. Default is 0.
TP activation in multiple of ATR : Threshold value to trigger trailing stop Take Profit. This threshold is calculated as multiple of the ATR (Average True Range). Default value is 5 meaning that to trigger the trailing TP the price need to move 5*ATR in the right direction.
Trailing TP in percentage : Percentage value of trailing Take Profit. This Trailing TP follows the profit if it increases, remaining selected percentage below it, but stops if the profit decreases. Default is 3%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD with a timeframe set to 6h. Parameters are set as follows :
MA type: RWMA
MA Length: 19
RSI Long Signal: >60
RSI Short Signal : <40
ROC MA Long Signal : <0
ROC MA Short Signal : >0
TP Activation in multiple ATR : 5
Trailing TP in percentage : 3
ENTER RULES :
The principle is very simple:
If the asset is overbought after a bear market, we are LONG.
If the asset is oversold after a bull market, we are SHORT.
We have defined a bear market as follows : Rate of Change (20) RWMA < 0
We have defined a bull market as follows : Rate of Change (20) RWMA > 0
The Rate of Change is calculated using this formula : (RWMA/RWMA(20) - 1)*100
Overbought is defined as follows : RSI > 60
Oversold is defined as follows : RSI < 40
LONG CONDITION :
RSI > 60 and (RWMA/RWMA(20) - 1)*100 < -1
SHORT CONDITION :
RSI < 40 and (RWMA/RWMA(20) - 1)*100 > 1
EXIT RULES FOR WINNING TRADE :
We have a trailing TP allowing us to exit once the price has reached the "TP Activation in multiple ATR" parameter, i.e. 5*ATR by default in the profit direction. TP trailing is triggered at this point, not limiting our gains, and securing our profits at 3% below this trigger threshold.
Remember that the True Range is : maximum(H-L, H-C(1), C-L(1))
with C : Close, H : High, L : Low
The Average True Range is therefore the average of these TRs over a length defined by default in the strategy, i.e. 20.
RISK MANAGEMENT :
This strategy may incur losses. The method for limiting losses is to set a Stop Loss equal to 3*ATR. This means that if the price moves against our position and reaches three times the ATR, we exit with a loss.
Sometimes the ATR can result in a SL set below 10% of the trade value, which is not acceptable. In this case, we set the SL at 10%, limiting losses to a maximum of 10%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)
Narrow Range StrategyNarrow Range Strategy :
INTRODUCTION :
This strategy is based on the Narrow Range Day concept, implying that low volatility will generate higher volatility in the days ahead. The strategy sends us buy and sell signals with well-defined profit targets. It's a medium/long-term strategy. There's also a money management method that allows us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
NARROW RANGE (NR) DAY :
A Narrow Range Day is a day in which price variations are included in those of a specific day some time before. The high and low of this specific day form the "reference range". In general, we compare these variations with those of 4 or 7 days ago. The mathematical formula for finding an NR4 is :
If low > low(4) and high < high(4) :
nr = true
This implies that the current low is greater than the low of 4 days ago, and the current high is smaller than the high of 4 days ago. So today's volatility is lower than that of 4 days ago, and may be a sign of high volatility to come.
PARAMETERS :
Narrow Range Length : Corresponds to the number of candles back to compare current volatility. The default is 4, allowing comparison of current volatility with that of 4 candles ago.
Stop Loss : Percentage of the reference range on which to set an exit order to limit losses. The minimum value is 0.001, while the maximum is 1. The default value is 0.35.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. The default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by an amount chosen by the user.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot was used to test NR4 and NR7 with all possible Stop Losses in order to find out which combination generates the highest return on BITSTAMP:ETHUSD while limiting the drawdown. This strategy is the most optimal with an NR4 and a SL of 35% of the reference range size in 5D timeframe.
BUY AND SHORT SIGNALS :
When an NR is spotted, we create two stop orders on the high and low of the reference range. As soon as there's a breakout from this reference range (shown in blue on the chart), we open a position. We're LONG if there's a breakout on the high and SHORT if there's a breakout on the low. Executing a stop order cancels the second stop order.
RISK MANAGEMENT :
This strategy is subject to losses. We manage our risk with Stop Losses. The user is free to enter a SL as a percentage of the reference range. The maximum amount risked per trade therefore depends on the size of the range. The larger the range, the greater the risk. That's why we have set a maximum Stop Loss to 10% to limiting risks per trade.
The special feature of this strategy is that it targets a precise profit objective. This corresponds to the size of the reference range at the top of the high if you're LONG, or at the bottom of the low if you're short. In the same way, the larger the reference range, the greater the potential profits.
The risk reward remains the same for all trades and amounts to : 100/35 = 2.86. If the reference range is too high, we have set a SL to 10% of the trade value to limit losses. In that case, the risk reward is less than 2.86.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
NOTE :
Please note that the strategy is backtested from 2017-01-01. As the timeframe is 5D, this strategy is a medium/long-term strategy. That's why only 37 trades were closed. Be careful, as the test sample is small and performance may not necessarily reflect what may happen in the future.
Enjoy the strategy and don't forget to take the trade :)
Stx Monthly Trades ProfitMonthly profit displays profits in a grid and allows you to know the gain related to the investment during each month.
The profit could be computed in terms of gain/trade_cost or as percentage of equity update.
Settings:
- Profit: Monthly profit percentage or percentage of equity
- Table position
This strategy is intended only as a container for the code and for testing the script of the profit table.
Setting of strategy allows to select the test case for this snippet (percentage grid).
Money management: not relevant as strategy is a test case.
This script stand out as take in account the gain of each trade in relation to the capital invested in each trade. For example consider the following scenario:
Capital of 1000$ and we invest a fixed amount of 1000$ (I know is too risky but is a good example), we gain 10% every month.
After 10 months our capital is of 2000$ and our strategy is perfect as we have the same performance every month.
Instead, evaluating the percentage of equity we have 10% the first month, 9.9% the second (1200$/1100$ - 1) and 5.26% the tenth month. So seems that strategy degrade with times but this is not true.
For this reason, to evaluate my strategy I prefer to see the montly return of investment.
WARNING: The strategy provided with this script is only a test case and allows to see the behavior with different "trades" management, for these reason commision are set to zero.
At the moment only the provided test cases are handled:
test 1 - single entry and single exit;
test 2 - single entry and multiple exits;
test 3 - single entry and switch position;
hamster-bot MRS 2 (simplified version) MRS - Mean Reversion Strategy (Countertrend) (Envelope strategy)
This script does not claim to be unique and does not mislead anyone. Even the unattractive backtest result is attached. The source code is open. The idea has been described many times in various sources. But at the same time, their collection in one place provides unique opportunities.
Published by popular demand and for ease of use. so that users can track the development of the script and can offer their ideas in the comments. Otherwise, you have to communicate in several telegram chats.
Representative of the family of counter-trend strategies. The basis of the strategy is Mean reversion . You can also read about the Envelope strategy .
Mean reversion , or reversion to the mean, is a theory used in finance that suggests that asset price volatility and historical returns eventually will revert to the long-run mean or average level of the entire dataset.
The strategy is very simple. Has very few settings. Good for beginners to get acquainted with algorithmic trading. A simple adjustment will help avoid overfitting. There are many variations of this strategy, but for understanding it is better to start with this implementation.
Principle of operation.
1)
A conventional MA is being built. (fuchsia line). A limit order is placed on this line to close the position.
2)
(green line) A limit order is placed on this line to open a long position
3)
(red line) A limit order is placed on this line to open a short position
Attention!
Please note that a limit order is used. Conclude that the strategy has a limited capacity. And the results obtained on low-liquid instruments will be too high in the tester. On real auctions there will be a different result.
Note for testing the strategy in the spot market:
When testing in the spot market, do not include both long and short at the same time. It is recommended to test only the long mode on the spot. Short mode for more advanced users.
Settings:
Available types of moving averages:
SMA
EMA
TEMA - triple exponential moving average
DEMA - Double Exponential Moving Average
ZLEMA - Zero lag exponential moving average
WMA - weighted moving average
Hma - Hull Moving Average
Thma - Triple Exponential Hull Moving Average
Ehma - Exponential Hull Moving Average
H - MA built based on highs for n candles | ta.highest(len)
L - MA built based on lows for n candles | ta.lowest(len)
DMA - Donchian Moving Average
A Kalman filter can be applied to all MA
The peculiarity of the strategy is a large selection of MA and the possibility of shifting lines. You can set up a reverse trending strategy on the Donchian channel for example.
Use Long - enable/disable opening a Long position
Use Short - enable/disable opening a Short position
Lot Long, % - % allocated from the deposit for opening a Long position. In the spot market, do not use % greater than 100%
Lot Short, % - allocated % of the deposit for opening a Short position
Start date - the beginning of the testing period
End date - the end of the testing period (Example: only August 2020 can be tested)
Mul - multiplier. Used to offset lines. Example:
Mul = 0.99 is shift -1%
Mul = 1.01 is shift +1%
Non-strict recommendations:
1) Test the SPOT market on crypto exchanges. (The countertrend strategy has liquidation risk on futures)
2) Symbols altcoin/bitcoin or altcoin/altcoin. Example: ETH/BTC or DOGE/ETH
3) Timeframe is usually 1 hour
If the script passes moderation, I will supplement it by adding separate settings for closing long and short positions according to their MA
EUR/USD 45 MIN Strategy - FinexBOTThis strategy uses three indicators:
RSI (Relative Strength Index) - It indicates if a stock is potentially overbought or oversold.
CCI (Commodity Channel Index) - It measures the current price level relative to an average price level over a certain period of time.
Williams %R - It is a momentum indicator that shows whether a stock is at the high or low end of its trading range.
Long (Buy) Trades Open:
When all three indicators suggest that the stock is oversold (RSI is below 25, CCI is below -130, and Williams %R is below -85), the strategy will open a buy position, assuming there is no current open trade.
Short (Sell) Trades Open:
When all three indicators suggest the stock is overbought (RSI is above 75, CCI is above 130, and Williams %R is above -15), the strategy will open a sell position, assuming there is no current open trade.
SL (Stop Loss) and TP (Take Profit):
SL (Stop Loss) is 0.45%.
TP (Take Profit) is 1.2%.
The strategy automatically sets these exit points as a percentage of the entry price for both long and short positions to manage risks and secure profits. You can easily adopt these inputs according to your strategy. However, default settings are recommended.
Martingale + Grid DCA Strategy [YinYangAlgorithms]This Strategy focuses on strategically Martingaling when the price has dropped X% from your current Dollar Cost Average (DCA). When it does Martingale, it will create a Purchase Grid around this location to likewise attempt to get you a better DCA. Likewise following the Martingale strategy, it will sell when your Profit has hit your target of X%.
Martingale may be an effective way to lower your DCA. This is due to the fact that if your initial purchase; or in our case, initial Grid, all went through and the price kept going down afterwards, that you may purchase more to help lower your DCA even more. By doing so, you may bring your DCA down and effectively may make it easier and quicker to reach your target profit %.
Grid trading may be an effective way of reducing risk and lowering your DCA as you are spreading your purchases out over multiple different locations. Likewise we offer the ability to ‘Stack Grids’. What this means, is that if a single bar was to go through 20 grids, the purchase amount would be 20x what each grid is valued at. This may help get you a lower DCA as rather than creating 20 purchase orders at each grid location, we create a single purchase order at the lowest grid location, but for 20x the amount.
By combining both Martingale and Grid DCA techniques we attempt to lower your DCA strategically until you have reached your target profit %.
Before we start, we just want to make it known that first off, this Strategy features 8% Commission Fees, you may change this in the Settings to better reflect the Commission Fees of your exchange. On a similar note, due to Commission Fees being one of the number one profit killers in fast swing trade strategies, this strategy doesn’t focus on low trades, but the ideology of it may result in low amounts of trades. Please keep in mind this is not a bad thing. Since it has the ability to ‘Stack Grid Purchases’ it may purchase more for less and result in more profit, less commission fees, and likewise less # of trades.
Tutorial:
In this example above, we have it set so we Martingale twice, and we use 100 grids between the upper and lower level of each martingale; for a total of 200 Grids. This strategy will take total capital (initial capital + net profit) and divide it by the amount of grids. This will result in the $ amount purchased per grid. For instance, say you started with $10,000 and you’ve made $2000 from this Strategy so far, your total capital is $12,000. If you likewise are implementing 200 grids within your Strategy, this will result in $12,000 / 200 = $60 per grid. However, please note, that the further down the grid / martingale is, the more volume it is able to purchase for $60.
The white line within the Strategy represents your DCA. As the Strategy makes purchases, this will continue to get lower as will your Target Profit price (Blue Line). When the Close goes above your Target Profit price, the Strategy will close all open positions and claim the profit. This profit is then reinvested back into the Strategy, which may exponentially help the Strategy become more profitable the longer it runs for.
In the example above, we’ve zoomed in on the first example. In this we want to focus on how the Strategy got back into the trades shortly after it sold. Currently within the Settings we have it set so our entry is when the Lowest with a length of 3 is less than the previous Lowest with a length of 3. This is 100% customizable and there are multiple different entry options you can choose from and customize such as:
EMA 7 Crossover EMA 21
EMA 7 Crossunder EMA 21
RSI 14 Crossover RSI MA 14
RSI 14 Crossunder RSI MA 14
MFI 14 Crossover MFI MA 14
MFI 14 Crossunder MFI MA 14
Lowest of X Length < Previous Lowest of X Length
Highest of X Length > Previous Highest of X Length
All of these entry options may be tailored to be checked for on a different Time Frame than the one you are currently using the Strategy on. For instance, you may be running the Strategy on the 15 minute Time Frame yet decide you want the RSI to cross over the RSI MA on the 1 Day to be a valid entry location.
Please keep in mind, this Strategy focuses on DCA, this means you may not want the initial purchase to be the best location. You may want to buy when others think it is a good time to sell. This is because there may be strong bearish momentum which drives the price down drastically and potentially getting you a good DCA before it corrects back up.
We will continue to add more Entry options as time goes on, and if you have any in mind please don’t hesitate to let us know.
Now, back to the example above, if we refer to the Yellow circle, you may see that the Lowest of a length of 3 was less than its previous lowest, this triggered the martingales to create their grids. Only a few bars later, the price went into the first grid and went a little lower than its midpoint (Yellow line). This caused about 60% of the first grid to be purchased. Shortly after the price went even lower into this grid and caused the entire first martingale grid to be purchased. However, if you notice, the white line (your DCA) is lower than the midpoint of the first grid. This is due to the fact that we have ‘Stack Grid Purchases’ enabled. This allows the Strategy to purchase more when a single bar crosses through multiple grid locations; and effectively may lower your average more than if it simply executed a purchase order at each grid.
Still looking at the same location within our next example, if we simply increase the Martingale amount from 2 to 3 we can see something strange happens. What happened is our Target Profit price was reached, then our entry condition was met, which caused all of the martingale grids to be formed; however, the price continued to increase afterwards. This may not be a good thing, sure the price could correct back down to these grid locations, but what if it didn’t and it just kept increasing? This would result in this Strategy being stuck and unable to make any trades. For this reason we have implemented a Failsafe in the Settings called ‘Reset Grids if no purchase happens after X bars’.
We have enabled our Failsafe ‘Reset Grids if no purchase happens after X bars’ in this example above. By default it is set to 100 bars, but you can change this to whatever works best for you. If you set it to 0, this Failsafe will be disabled and act like the example prior where it is possible to be stuck with no trades executing.
This Failsafe may be an important way to ensure the Strategy is able to make purchases, however it may also mean the Grids increase in price when it is used, and if a massive correction were to occur afterwards, you may lose out on potential profit.
This Strategy was designed with WebHooks in mind. WebHooks allow you to send signals from the Strategy to your exchange. Simply set up a Custom TradingView Bot within the OKX exchange or 3Commas platform (which has your exchange API), enter the data required from the bot into the settings here, select your bot type in ‘Webhook Alert Type’, and then set up the alert. After that you’re good to go and this Strategy will fully automate all of its trades within your exchange for you. You need to format the Alert a certain way for it to work, which we will go over in the next example.
Add an alert for this Strategy and simply modify the alert message so all it says is:
{{strategy.order.alert_message}}
Likewise change from the Alert ‘Settings’ to Alert ‘Notifications’ at the top of the alert popup. Within the Notifications we will enable ‘Webhook URL’ and then we will pass the URL we are sending the Webhook to. In this example we’ve put OKX exchange Webhook URL, however if you are using 3Commas you’ll need to change this to theirs.
OKX Webhook URL:
www.okx.com
3Commas Webhook URL:
app.3commas.io
Make sure you click ‘Create’ to actually create this alert. After that you’re all set! There are many Tutorials videos you can watch if you are still a little confused as to how Webhook trading works.
Due to the nature of this Strategy and how it is designed to work, it has the ability to never sell unless there it will make profit. However, because of this it also may be stuck waiting in trades for quite a long period of time (usually a few months); especially when your Target Profit % is 15% like in the example above. However, this example above may be a good indication that it may maintain profitability for a long period of time; considering this ‘Deep Backtest’ is from 2017-8-17.
We will conclude the tutorial here. Hopefully you understand how this Strategy has the potential to make calculated and strategic DCA Grid purchases for you and then based on a traditional Martingale fashion, bulk sell at the desired Target Profit Percent.
Settings:
Purchase Settings:
Only Purchase if its lower than DCA: Generally speaking, we want to lower our Average, and therefore it makes sense to only buy when the close is lower than our current DCA and a Purchase Condition is met.
Purchase Condition: When creating the initial buy location you must remember, you want to Buy when others are Fearful and Sell when others are Greedy. Therefore, many of the Buy conditions involve times many would likewise Sell. This is one of the bonuses to using a Strategy like this as it will attempt to get you a good entry location at times people are selling.
Lower / Upper Change Length: This Lower / Upper Length is only used if the Purchase Condition is set to 'Lower Changed' or 'Upper Changed'. This is when the Lowest or Highest of this length changes. Lowest would become lower or Highest would become higher.
Purchase Resolution: Purchase Resolution is the Time Frame that the Purchase Condition is calculated on. For instance, you may only want to start a new Purchase Order when the RSI Crosses RSI MA on the 1 Day, but yet you run this Strategy on the 15 minutes.
Sell Settings:
Trailing Take Profit: Trailing Take Profit is where once your Target Profit Percent has been hit, this will trail up to attempt to claim even more profit.
Target Profit Percent: What is your Target Profit Percent? The Strategy will close all positions when the close price is greater than your DCA * this Target Profit Percent.
Grid Settings:
Stack Grid Purchases: If a close goes through multiple Buy Grids in one bar, should we amplify its purchase amount based on how many grids it went through?
Reset Grids if no purchase happens after X Bars: Set this to 0 if you never want to reset. This is very useful in case the price is very bullish and continues to increase after our Target Profit location is hit. What may happen is, Target Profit location is hit, then the Entry condition is met but the price just keeps increasing afterwards. We may not want to be sitting waiting for the price to drop, which may never happen. This is more of a failsafe if anything. You may set it very large, like 500+ if you only want to use it in extreme situations.
Grid % Less than Initial Purchase Price: How big should our Buy Grid be? For instance if we bought at 0.25 and this value is set to 20%, that means our Buy Grid spans from 0.2 - 0.25.
Grid Amounts: How many Grids should we create within our Buy location?
Martingale Settings:
Amount of Times 'Planned' to Martingale: The more Grids + the More Martingales = the less $ spent per grid, however the less risk. Remember it may be better to be right and take your time than risk too much and be stuck too long.
Martingale Percent: When the current price is this percent less than our DCA, lets create another Buy Grid so we can lower our average more. This will make our profit location less.
Webhook Alerts:
Webhook Alert Type: How should we format this Alert? 3Commas and OKX take their alerts differently, so please select the proper one or your webhooks won't work.
3Commas Webhook Alerts:
3Commas Bot ID: The 3Commas Bot ID is needed so we know which BOT ID we are sending this webhook too.
3Commas Email Token: The 3Commas Email Token is needed for your webhooks to work properly as it is linked to your account.
OKX Webhook Alerts:
OKX Signal Token: This Signal Token is attached to your OKX bot and will be used to access it within OKX.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
[blackcat] L2 Fibonacci BandsThe concept of the Fibonacci Bands indicator was described by Suri Dudella in his book "Trade Chart Patterns Like the Pros" (Section 8.3, page 149). These bands are derived from Fibonacci expansions based on a fixed moving average, and they display potential areas of support and resistance. Traders can utilize the Fibonacci Bands indicator to identify key price levels and anticipate potential reversals in the market.
To calculate the Fibonacci Bands indicator, three Keltner Channels are applied. These channels help in determining the upper and lower boundaries of the bands. The default Fibonacci expansion levels used are 1.618, 2.618, and 4.236. These levels act as reference points for traders to identify significant areas of support and resistance.
When analyzing the price action, traders can focus on the extreme Fibonacci Bands, which are the upper and lower boundaries of the bands. If prices trade outside of the bands for a few bars and then return inside, it may indicate a potential reversal. This pattern suggests that the price has temporarily deviated from its usual range and could be due for a correction.
To enhance the accuracy of the Fibonacci Bands indicator, traders often use multiple time frames. By aligning short-term signals with the larger time frame scenario, traders can gain a better understanding of the overall market trend. It is generally advised to trade in the direction of the larger time frame to increase the probability of success.
In addition to identifying potential reversals, traders can also use the Fibonacci Bands indicator to determine entry and exit points. Short-term support and resistance levels can be derived from the bands, providing valuable insights for trade decision-making. These levels act as reference points for placing stop-loss orders or taking profits.
Another useful tool for analyzing the trend is the slope of the midband, which is the middle line of the Fibonacci Bands indicator. The midband's slope can indicate the strength and direction of the trend. Traders can monitor the slope to gain insights into the market's momentum and make informed trading decisions.
The Fibonacci Bands indicator is based on the concept of Fibonacci levels, which are support or resistance levels calculated using the Fibonacci sequence. The Fibonacci sequence is a mathematical pattern that follows a specific formula. A central concept within the Fibonacci sequence is the Golden Ratio, represented by the numbers 1.618 and its inverse 0.618. These ratios have been found to occur frequently in nature, architecture, and art.
The Italian mathematician Leonardo Fibonacci (1170-1250) is credited with introducing the Fibonacci sequence to the Western world. Fibonacci noticed that certain ratios could be calculated and that these ratios correspond to "divine ratios" found in various aspects of life. Traders have adopted these ratios in technical analysis to identify potential areas of support and resistance in financial markets.
In conclusion, the Fibonacci Bands indicator is a powerful tool for traders to identify potential reversals, determine entry and exit points, and analyze the overall trend. By combining the Fibonacci Bands with other technical indicators and using multiple time frames, traders can enhance their trading strategies and make more informed decisions in the market.
Indian NIFTY Correlation Daytrade/Swing StrategyINTRODUCTION :
This is a daytrading/swing strategy designed mainly for indian market where internally has been adapted to NIFTY market and as well using for internal calculations the values of the candles from NIFTY asset.
With it we search to use with the most correlated asset from the indian market.
For this example I choosed BANKNIFTY
STRATEGY:
The strategy initially uses as candle values the data from the NIFTY asset.
With them I am dividing the work into two calculation parts such as :
-For first part logic, I am doing calculations regarding the volatility of NIFTY, where I initially take into consideration INDIAVIX to have an idea of the expected implied volatility of NIFTY asset and then I compare it with different tools such as ATR, BB and Percentile location of the volatility.
Based on all these factors I take into account the location of the volatility which is atm and if there is a possibility of a strong movement(trend) or sidemarket situation.
-Once I am done with the values of the volatility, the next process in the script logic is to start looking into the trend.
For it I am using different tools such as volume checker, support and resistence key points, pivot points, price actions patterns and different moving averages.
-Risk management part : once we are done with calculation for the entry, the next part is to have an idea where to exit. In this case I am making use of a dynamic risk management which is compressed from multiple ideas such as : we can exit if there were a big gap on the next day in our initial direction, we can also exit based of an internal daily ATR calculation value(we use initially 15min timeframe chart) and lastly if we are around some key points like support/resistence or other different chart patterns like double top, double bot and so on.
CASE EXAMPLE:
As I said before we are initially using for calculation the NIFTY chart with 15min timeframe. With it we can apply to any indian etf,stocks,future. All the assets are going to have the same time of entry and the same time of exit(we get this from NIFTY) and we plot it on the chart we are using, so its key point to look for assets which have a min 75-80% correlation with NIFTY. For this example I used BANKNIFTY chart.
So a type of entry would be this way
Lets assume NIFTY50 is on 19.000 level
INDIAVIX level is currently at 11 which can be translated : 11 / sqrt(250)
So 11 means that on a yearly base we expect the asset to move 11% upwards or downwards
and in a year we have aprox 250 days. So we divide the 11 by sqrt of 250 to get an idea of a daily expected move from the implied volatility of india VIX
11/15.87 = +-0.69%
So INDIAVIX tells us that the values for today nifty is 19000+0,69% and 19000-0.69%
After that I am looking into the daily ATR, and I see that the expected is around 0.8% and is ascending over the last 2 weeks.
Lastly I am looking at the percentile which is currently the volatility on both ATR and INDIAVIX, and I get a value of 90th percentile.
With this my biased is that we are going to expect a short trend, but i cant confirm on the volatility alone so next step is start looking into technical analysis.
I look at volume and is increasing, I look at different price actions paterns and pivots and I see a lower low and a lower high (a descending pattern).
I also see the price is below the key MA like SMA50/100/200, VWAP and so on.
With all of this I get more confirmation that the asset is in a short trend.
Internally once a certain specific % of confirmation from all the logics is achieved, it will trigger a long/short entry, so in this case lets assume we have 80% of our indicators pointing to the short, is going to enter a short.
Now for a long scenario the scene would be , indiavix is around 9,5, ATR is descending. We are around 40th percentile of the volatility.
Our asset is above multiple moving averages, vwap , etc
We have an increasing volume towards bullish side.
And so on( overall 75% of our indicators are pointing towards the long side)
Now for the exit, since we are dealing with a daytrade/swing mentality, short on average we keep the trade open for a less period of time than long ( 19 bars of 15min candles, compared to 57 bars of 15min for long) , so most of the times for short we are going to exit next day and if the trend is still in our favour we re enter the trade.
For long we can stay much more time, sometimes even weeks and we exit mainly when the % of confirmation of indicators point out a reversal/short confirmation fo a big pice action pattern.
STRATEGY RESULTS
For strategy analysis I have used BANKNIFTY NSE with deep history to get access to data from 2011 until present( giving more than 2500 trades) .
For inputs I am using 0.02% comission total ( the comission applied from ZERODHA indian exchange is close to 0.0175% total) so I used it a bit higher in order to take into account some slippages.
For capital THE REASON I USED 100% of the capital allocation is to make a proper comparison with the buy an hold from the same period
Lets assume we had an account of 1M ruppes initially in 2011, we start using 100% of it and then the new values automatically compounded with the new profits and losses so directly compare with 1M of rupees in shares on BANKNIFTY ETFs bought in 2011(buy n hold) until present day.
STRATEGY ACCESS
Strategy is free to be tested for everyone, just let me know in private that you wish to get access to it.
Multi-TF AI SuperTrend with ADX - Strategy [PresentTrading]
## █ Introduction and How it is Different
The trading strategy in question is an enhanced version of the SuperTrend indicator, combined with AI elements and an ADX filter. It's a multi-timeframe strategy that incorporates two SuperTrends from different timeframes and utilizes a k-nearest neighbors (KNN) algorithm for trend prediction. It's different from traditional SuperTrend indicators because of its AI-based predictive capabilities and the addition of the ADX filter for trend strength.
BTC 8hr Performance
ETH 8hr Performance
## █ Strategy, How it Works: Detailed Explanation (Revised)
### Multi-Timeframe Approach
The strategy leverages the power of multiple timeframes by incorporating two SuperTrend indicators, each calculated on a different timeframe. This multi-timeframe approach provides a holistic view of the market's trend. For example, a 8-hour timeframe might capture the medium-term trend, while a daily timeframe could capture the longer-term trend. When both SuperTrends align, the strategy confirms a more robust trend.
### K-Nearest Neighbors (KNN)
The KNN algorithm is used to classify the direction of the trend based on historical SuperTrend values. It uses weighted voting of the 'k' nearest data points. For each point, it looks at its 'k' closest neighbors and takes a weighted average of their labels to predict the current label. The KNN algorithm is applied separately to each timeframe's SuperTrend data.
### SuperTrend Indicators
Two SuperTrend indicators are used, each from a different timeframe. They are calculated using different moving averages and ATR lengths as per user settings. The SuperTrend values are then smoothed to make them suitable for KNN-based prediction.
### ADX and DMI Filters
The ADX filter is used to eliminate weak trends. Only when the ADX is above 20 and the directional movement index (DMI) confirms the trend direction, does the strategy signal a buy or sell.
### Combining Elements
A trade signal is generated only when both SuperTrends and the ADX filter confirm the trend direction. This multi-timeframe, multi-indicator approach reduces false positives and increases the robustness of the strategy.
By considering multiple timeframes and using machine learning for trend classification, the strategy aims to provide more accurate and reliable trade signals.
BTC 8hr Performance (Zoom-in)
## █ Trade Direction
The strategy allows users to specify the trade direction as 'Long', 'Short', or 'Both'. This is useful for traders who have a specific market bias. For instance, in a bullish market, one might choose to only take 'Long' trades.
## █ Usage
Parameters: Adjust the number of neighbors, data points, and moving averages according to the asset and market conditions.
Trade Direction: Choose your preferred trading direction based on your market outlook.
ADX Filter: Optionally, enable the ADX filter to avoid trading in a sideways market.
Risk Management: Use the trailing stop-loss feature to manage risks.
## █ Default Settings
Neighbors (K): 3
Data points for KNN: 12
SuperTrend Length: 10 and 5 for the two different SuperTrends
ATR Multiplier: 3.0 for both
ADX Length: 21
ADX Time Frame: 240
Default trading direction: Both
By customizing these settings, traders can tailor the strategy to fit various trading styles and assets.
MACD Strategy_baskerMACD Strategy_basker, which will see the macd cross over and update buy sell. then do trailing sl