Input Parameters:
Various input parameters allow customization of the strategy, including options to show trend confirmation, specify trend timeframes and values, set SMA lengths, enable take profit and stop loss, and define their respective values.
Calculations:
Simple Moving Averages (SMAs) are calculated based on the specified lengths.
Buy and sell signals are generated based on the crossover and crossunder of the short and long SMAs.
Confirmation Bars:
Functions are defined to determine bullish or bearish confirmation bars based on certain conditions.
These confirmation bars are used to confirm trend direction and generate additional signals.
Plotting:
SMAs are plotted on the chart.
Trend labels and signal markers are plotted based on the calculated conditions.
Trade Signals:
Buy and sell conditions are defined based on the crossover/crossunder of SMAs and confirmation of trend direction.
Strategy entries and exits are executed accordingly.
Take Profit and Stop Loss:
Optional take profit and stop loss functionality is included.
Trades are automatically closed when profit or loss thresholds are reached.
Closing Trades:
Trades are also closed based on changes in trend confirmation bars to ensure alignment with the overall market direction.
Alerts:
Alert conditions are defined for opening and closing trades, providing notifications when certain conditions are met.
Overall, this script aims to provide a systematic approach to trading by combining moving average crossovers with trend confirmation bars, along with options for risk management through take profit and stop loss orders. Users can customize various parameters to adapt the strategy to different market conditions and trading preferences.
The script uses the request.security() function with the lookahead parameter set to barmerge.lookahead_on to access data from a higher timeframe within the Pine Script on TradingView. Let's break down why it's used:
Higher Timeframe Analysis:
By default, Pine Script operates on the timeframe of the chart it's applied to. However, in trading strategies, it's common to incorporate signals or data from higher timeframes to confirm or validate signals generated on lower timeframes. This helps traders to align their trades with the broader market trend.
Trend Confirmation:
In this script, the confirmationTrendTimeframe parameter allows users to specify a higher timeframe for trend confirmation. The request.security() function fetches the data from this higher timeframe and applies the defined conditions to confirm the trend direction.
Lookahead Behavior:
The lookahead parameter set to barmerge.lookahead_on ensures that the script considers the most up-to-date information available on the higher timeframe when making trading decisions on the lower timeframe. This prevents the script from lagging behind or using outdated data, enhancing the accuracy of trend confirmation.
Usage in confirmationTrendBullish and confirmationTrendBearish:
These variables are assigned the values returned by the request.security() function, which represents the bullish or bearish trend confirmation based on the conditions applied to the data from the higher timeframe.