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.
Pesquisar nos scripts por "alert"
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.
Long-Only Opening Range Breakout (ORB) with Pivot PointsIntraday Trading Strategy: Long-Only Opening Range Breakout (ORB) with Pivot Points
Background:
Opening Range Breakout (ORB) is a popular long-only trading strategy that capitalizes on the early morning volatility in financial markets. It's based on the idea that the initial price movements during the first few minutes or hours of the trading day can set the tone for the rest of the session. The strategy involves identifying a price range within which the asset trades during the opening period and then taking long positions when the price breaks out to the upside of this range.
Pivot Points are a widely used technical indicator in trading. They represent potential support and resistance levels based on the previous day's price action. Pivot points are calculated using the previous day's high, low, and close prices and can help traders identify key price levels for making trading decisions.
How to Use the Script:
Initialization: This script is written in Pine Script, a domain-specific language for trading strategies on the TradingView platform. To use this script, you need to have access to TradingView.
Apply the Script: You can do this by adding it to your favorites, then selecting the script in the indicators list under favorites or by searching for it by name under community scripts.
Customize Settings: The script allows you to customize various settings through the TradingView interface. These settings include:
Opening Session: You can set the time frame for the opening session.
Max Trades per Day: Specify the maximum number of long trades allowed per trading day.
Initial Stop Loss Type: Choose between using a percentage-based stop loss or the previous candles low for stop loss calculations.
Stop Loss Percentage: If you select the percentage-based stop loss, specify the percentage of the entry price for the stop loss.
Backtesting Start and End Time: Set the time frame for backtesting the strategy.
Strategy Signals:
The script will display pivot points in blue (R1, R2, R3, R4, R5) and half-pivot points in gray (R0.5, R1.5, R2.5, R3.5, R4.5) on your chart.
The green line represents the opening range.
The script generates long (buy) signals based on specific conditions:
---The open price is below the opening range high (h).
---The current high price is above the opening range high.
---Pivot point R1 is above the opening range high.
---It's a long-only strategy designed to capture upside breakouts.
---It also respects the maximum number of long trades per day.
The script manages long positions, calculates stop losses, and adjusts long positions according to the defined rules.
Trailing Stop Mechanism
The script incorporates a dynamic trailing stop mechanism designed to protect and maximize profits for long positions. Here's how it works:
1. Initialization:
The script allows you to choose between two types of initial stop loss:
---Percentage-based: This option sets the initial stop loss as a percentage of the entry price.
---Previous day's low: This option sets the initial stop loss at the previous day's low.
2. Setting the Initial Stop Loss (`sl_long0`):
The initial stop loss (`sl_long0`) is calculated based on the chosen method:
---If "Percentage" is selected, it calculates the stop loss as a percentage of the entry price.
---If "Previous Low" is selected, it sets the stop loss at the previous day's low.
3. Dynamic Trailing Stop (`trail_long`):
The script then monitors price movements and uses a dynamic trailing stop mechanism (`trail_long`) to adjust the stop loss level for long positions.
If the current high price rises above certain pivot point levels, the trailing stop is adjusted upwards to lock in profits.
The trailing stop levels are calculated based on pivot points (`r1`, `r2`, `r3`, etc.) and half-pivot points (`r0.5`, `r1.5`, `r2.5`, etc.).
The script checks if the high price surpasses these levels and, if so, updates the trailing stop accordingly.
This dynamic trailing stop allows traders to secure profits while giving the position room to potentially capture additional gains.
4. Final Stop Loss (`sl_long`):
The script calculates the final stop loss level (`sl_long`) based on the following logic:
---If no position is open (`pos == 0`), the stop loss is set to zero, indicating there is no active stop loss.
---If a position is open (`pos == 1`), the script calculates the maximum of the initial stop loss (`sl_long0`) and the dynamic trailing stop (`trail_long`).
---This ensures that the stop loss is always set to the more conservative of the two values to protect profits.
5. Plotting the Stop Loss:
The script plots the stop loss level on the chart using the `plot` function.
It will only display the stop loss level if there is an open position (`pos == 1`) and it's not a new trading day (`not newday`).
The stop loss level is shown in red on the chart.
By combining an initial stop loss with a dynamic trailing stop based on pivot points and half-pivot points, the script aims to provide a comprehensive risk management mechanism for long positions. This allows traders to lock in profits as the price moves in their favor while maintaining a safeguard against adverse price movements.
End of Day (EOD) Exit:
The script includes an "End of Day" (EOD) exit mechanism to automatically close any open positions at the end of the trading day. This feature is designed to manage and control positions when the trading day comes to a close. Here's how it works:
1. Initialization:
At the beginning of each trading day, the script identifies a new trading day using the `is_newbar('D')` condition.
When a new trading day begins, the `newday` variable becomes `true`, indicating the start of a new trading session.
2. Plotting the "End of Day" Signal:
The script includes a plot on the chart to visually represent the "End of Day" signal. This is done using the `plot` function.
The plot is labeled "DayEnd" and is displayed as a comment on the chart. It signifies the EOD point.
3. EOD Exit Condition:
When the script detects that a new trading day has started (`newday == true`), it triggers the EOD exit condition.
At this point, the script proceeds to close all open positions that may have been active during the trading day.
4. Closing Open Positions:
The `strategy.close_all` function is used to close all open positions when the EOD exit condition is met.
This function ensures that any remaining long positions are exited, regardless of their current profit or loss.
The function also includes an `alert_message`, which can be customized to send an alert or notification when positions are closed at EOD.
Purpose of EOD Exit
The "End of Day" exit mechanism serves several essential purposes in the trading strategy:
Risk Management: It helps manage risk by ensuring that positions are not left open overnight when markets can experience increased volatility.
Capital Preservation: Closing positions at EOD can help preserve trading capital by avoiding potential adverse overnight price movements.
Rule-Based Exit: The EOD exit is rule-based and automatic, ensuring that it is consistently applied without emotions or manual intervention.
Scalability: It allows the strategy to be applied to various markets and timeframes where EOD exits may be appropriate.
By incorporating an EOD exit mechanism, the script provides a comprehensive approach to managing positions, taking profits, and minimizing risk as each trading day concludes. This can be especially important in volatile markets like cryptocurrencies, where overnight price swings can be significant.
Backtesting: The script includes a backtesting feature that allows you to test the strategy's performance over historical data. Set the start and end times for backtesting to see how the long-only strategy would have performed in the past.
Trade Execution: If you choose to use this script for live trading, make sure you understand the risks involved. It's essential to set up proper risk management, including position sizing and stop loss orders.
Monitoring: Monitor the long-only strategy's performance over time and be prepared to make adjustments as market conditions change.
Disclaimer: Trading carries a risk of capital loss. This script is provided for educational purposes and as a starting point for your own long-only strategy development. Always do your own research and consider seeking advice from a qualified financial professional before making trading decisions.
RSI-CCI Fusion StrategyRSI-CCI Fusion Strategy: Harnessing the Power of RSI and CCI
The "RSI-CCI Fusion Strategy" is a powerful trading approach that combines the strengths of the Relative Strength Index (RSI) and the Commodity Channel Index (CCI) to provide enhanced trading insights. This strategy is based on the popular "RSI & CCI Fusion + Alerts" indicator, which utilizes the RSI and CCI indicators from TradingView .
1. Overview of RSI and CCI:
The Relative Strength Index (RSI) is a widely used momentum oscillator that measures the speed and change of price movements. It helps traders identify overbought and oversold conditions in the market. On the other hand, the Commodity Channel Index (CCI) is a versatile indicator that identifies cyclical trends and provides insights into overbought and oversold levels.
2. The RSI-CCI Fusion Strategy:
The RSI-CCI Fusion Strategy harnesses the combined power of the RSI and CCI indicators to generate robust trading signals. By blending the RSI and CCI, this strategy captures both momentum and cyclical trend dynamics, offering a more comprehensive view of the market.
3. Utilizing the RSI-CCI Fusion Indicator + Alerts:
The "RSI & CCI Fusion + Alerts" indicator serves as the backbone of the RSI-CCI Fusion Strategy. It integrates the RSI and CCI indicators from TradingView, providing traders with a clear and actionable trading signal.
4. How it Works:
- The indicator calculates the RSI and CCI values, standardizes them using z-score, and combines them with a weighted fusion approach.
- The resulting RSI-CCI Fusion indicator is plotted on the chart, accompanied by dynamic upper and lower bands, which help identify potential overbought and oversold conditions.
- Traders can customize alerts based on their preferred thresholds and timeframes, enabling them to receive timely notifications for potential buy and sell signals.
5. Implementing the RSI-CCI Fusion Strategy:
Traders following the RSI-CCI Fusion Strategy can utilize the buy and sell signals generated by the RSI-CCI Fusion indicator. When the indicator crosses below the upper band, it may signal a potential selling opportunity. Conversely, when it crosses above the lower band, it may indicate a potential buying opportunity. Traders can also consider additional factors and technical analysis tools to validate the signals before making trading decisions.
Conclusion: The RSI-CCI Fusion Strategy provides traders with a robust approach to analyze the market and make well-informed trading decisions. By incorporating the RSI and CCI indicators through the "RSI & CCI Fusion + Alerts" indicator, traders can take advantage of the combined strengths of these indicators. However, it is important to remember that no strategy guarantees success, and traders should always practice risk management and conduct thorough analysis before executing trades using this strategy.
Disclaimer: Trading involves risks, and it is important to conduct your own research and consult with a financial advisor before making any investment decisions.
Note: The RSI-CCI Fusion Strategy serves as a general guide, and individual traders may have different preferences and trading styles.
Cyatophilum Universal Oscillator TraderAn indicator to backtest and create an infinite number of strategies using any external indicator.
═════════════════════════════════════════════════════════════════════════
█ HOW IT WORKS
The indicator allows you to create your oscillator strategy and get backtest results from the Strategy Tester.
You can also create alerts for each of the strategy events.
█ HOW TO USE
Choose a strategy direction long or short that you want to create.
Always use regular candle type.
Configure your entry condition . To use any other indicator as source, it needs to be added to the chart first.
If you have the basic (free) TradingView plan, you can only have 1 indicator on your chart, and cannot use this external source feature. For this case, the indicator has a list of built-in oscillator (that can be increased upon request).
Then choose your condition: Cross over, Greater than, Pullback, Turning up, etc.
You now have your entry and should already see trades on the chart!
Next you can fine tune your entry condition or move to the risk management and filters.
Configure your stop loss
Use the stop loss feature to exit a trade at a certain loss.
You can also create a trailing stop using price % movement or ATR.
Configure your profit target
Use the Take Profit feature to set a target in percentage of price. You can also make it trail.
Configure your safety orders
This indicator has a safety orders feature to reduce the risk of your trade. See more below.
Check your backtest parameters
Make sure that the initial capital and order size make sense. Since it is a pyramiding strategy with safety orders, the sum of all deals should not be bigger than the initial capital.
If you use % equity as order size, please note that it will create compounding.
Check the fees, by default they are set to 0.1%.
I also recommend to set a slippage that corresponds to your exchange's spread.
█ FEATURES
• Strategy direction
Configure to go long or short.
• Entry Conditions
- External Oscillator source
- Built-in Oscillator (for basic plans)
- Base Condition for entry (Less/Greater than, Crossing Up/Down, Pullback Bull/Bear, Turning Up/Down, etc. More can be added later on)
- Additional Momentum Condition: Oscillator should be rising/falling for x number of bars
- Addition Threshold Condition: Oscillator should be Greater/Lowser than x
• Trend Filter
Filter Trades using 1 or 2 moving averages (MTF), based on Slop Change or Price Cross. Trend line is green = only longs, red = only shorts.
• Entry Filters
- Volume filter to remove low volume entries
- Overbought/Oversold filters
- Flat market Filter
• Stop Loss and Take Profit
Configure your stop loss and take profit for long and short trades.
You can also make a trailing take profit and trailing stop.
• DCA (Safety orders)
Create up to 100 safety orders with configurable options for step and volume scaling, take profit from total volume, base and safety order size.
• Backtest Settings
Choose a backtest period, longs or shorts, wether to use limit orders or not.
Graphics
A Backtest Results panel with additional information from the strategy tester.
A lightweight mode to remove background plots and make the indicator load faster.
█ ALERTS
The indicator is using the alert() calls: it only uses 1 alert slot to send order messages for each event (Long/Short entry, stop loss, take profit, safety order, exit timer). This means basic-free TV plans can create 1 complete strategy.
To set your alert messages, open the indicator settings and scroll to the bottom of the "inputs" tab.
Create your alert after you set the messages in the indicator settings, and make sure "Any alert() function call" is set in the alert option.
Use placeholders to automatically replace values in your alert messages like price, target profit, order size etc. (see the indicator inputs).
█ BACKTEST RESULTS
The backtest settings can be seen in the 'Properties' tab of the backtest report below.
Please read the author instructions below for access.
Cyatophilum 3Commas DCA Bot BacktesterAn indicator to backtest and automate 3Commas DCA Bots.
═════════════════════════════════════════════════════════════════════════
█ HOW IT WORKS
The indicator allows you to replicate your bot settings and get backtest results from the Strategy Tester and also a backtest panel with additional information on the safety orders.
You can also create alerts for each of the strategy events.
█ HOW TO USE
Choose a symbol that corresponds to your bot pair and exchange.
Pick a chart time frame as small as possible, usually 1 minute. The timeframe should always be smaller or equal to the deal start conditions timeframes.
Always use regular candle type.
Configure your deal start condition . You can combine several technical indicators to trigger an entry using a AND logical gate.
Configure your profit target
Use the Take Profit feature to set a target in percentage of price. You can also make it trail.
There is also a Stop Loss feature that is turned off by default.
Configure your safety orders
Replicate the safety orders from your bot into the indicator inputs.
Check your backtest parameters
Make sure that the initial capital and order size make sense. Since it is a pyramiding strategy with safety orders, the sum of all deals should not be bigger than the initial capital.
In this example: Initial capital is 0.02 BTC, which around 600$. I used 1000$ to be safe.
If you use % equity as order size, please note that it will create compounding.
Check the fees, by default they are set to 0.1%.
I also recommend to set a slippage that corresponds to your exchange's spread.
█ FEATURES
• Strategy direction
Configure wether to go long or short.
• Deal Start Conditions
The current conditions available are:
- Up to 4 MTF Trading View ratings conditions (Buy/Sell, Strong Buy/Sell)
- Up to 4 MTF RSI with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF Ultimate Oscillator with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-1 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- MTF BB%-20-2 (length-deviation) with configurable start conditions (Less/Greater than, Crossing Up/Down)
- Up to 2 MTF TA presets with the following options (Bollinger Bands, MFI, CCI, MACD, PSAR, SMA crosses, Heikin Ashi)
• Stop Loss and Take Profit
Configure your stop loss and take profit for long and short trades.
You can also make a trailing take profit.
• DCA (Safety orders)
Create up to 100 safety orders with configurable options for step and volume scaling, take profit from total volume, base and safety order size.
• Backtest Settings
Choose a backtest period, longs or shorts, wether to use limit orders or not.
Graphics
A Configuration panel with all the indicator settings, useful for sharing/saving a strategy.
A Backtest Results panel with additional information from the strategy tester.
█ ALERTS
The indicator is using the alert() calls: it only uses 1 alert slot to send order messages for each event (Long/Short entry, stop loss, take profit, safety order). This means free TV plans can create 1 complete strategy.
To set your alert messages, open the indicator settings and scroll to the bottom of the "inputs" tab.
Create your alert after you set the messages in the indicator settings, and make sure "Any alert() function call" is set in the alert option.
█ BACKTEST RESULTS
The backtest settings used in this snapshot are the following:
Initial Capital: 1000€
Order size: 0.003 BTC
Commission: 0.1 % per order
Slippage : 1 tick
Please read the author instructions below for access.
DCA Bot for ProfitViewThe base for this strategy is the "Backtesting 3commas DCA Bot v2" script by rouxam. I have made some additions, edits, and fixes, as well as tailored it for usage with ProfitView.
The strategy works in such a way that you select one or multiple rules together, in order to determine when a trade should be initiated.
The selectable rules are:
RSI-7: Initiate trading when the 7 period RSI goes below a specified threshold.
Technicals: This is essentially the TradingView screener strength. A multitude of technical indicators combined that range from Strong Sell - Sell - Buy - Strong Buy.
QFL: Find a support/resistance line on a specified timeframe, and initiate trading only when the price is below a certain point from this line.
Once the deal start rule is met, trading will initiate, and a series of additional orders will be placed and spaced out according to the order settings set in the indicator. These orders includes Take Profit, Stoploss, Trailing Take Profit, and specified additional entry orders to DCA your way into a position.
The indicator is set up so that by hooking this up to ProfitView, all of the signals should automatically be replicated to your assigned exchange, along with discord/telegram notifications for when the deals start and end, and the resulting pnl.
If you want to use it for spot markets, while technically possible, you will need to significantly edit the PV Alert syntax that i have supplied below.
Run this on your testnet of choice, it is likely that there are undiscovered issues at this point.
The strategy currently only works with 'Longs' at the time of publishing, but may be subject to change.
==ProfitView Setup==
!!Important!!
The assigned PV Alert name must contain the keyword 'Long', fex "DCA Long"
Uncheck the Once per Bar advanced filter option on the PV Alert you use for this.
Copy/Paste the text into the PV Alert: pastebin.com
Indicators & Conditions Test Framework [DTU]Hello All,
This script is a framework to build strategies by combining indicators and conditions (long, short, exits). You are able to analyze your strategies in realtime by changing the input parameters related to indicators, conditions and their combinations.
OVERVIEW
With this Study/Strategy framework, you will be able to create strategy conditions, display them on the chart, and test them using existing indicators as well as external and custom indicators that you can add.
The main purpose of the Framework is to choose your indicators to be used in the conditions and test your strategy by producing your "Long, short, Exit long, Exit short" combinations.
Although may be, it can be a bit difficult and complicated at first start, but you can understand the logic on its use in a very short time.
Notes:
I removed external links off descriptive images and video to be comply with Trading view violation House Rules
Since I am new in the community and still trying to understand the pine script language I can make errors and violations on my script. Please Inform me on any issue that I made..
HOW TO
STEP 1: SETTINGS ______________________________________________________________________________________________________
SOURCE, TIMEFRAME, SECURITY
Select the Source, timeframe and Secure type that your indicators will use.
Here, the Secure entry consists of 3 parts and the f_security function is used to determine it.
a)Secure
This option is defined as reducing repaint in tradingview calculations as much as possible. The following function is used.
request.security(_symbol, _res, _src , lookahead=barmerge.lookahead_on)
b)Semi Secure
While this option can reduce repaint in tradingview calculations as much as possible, it is less secure. The following function is used.
request.security(_symbol, _res, _src )
c)Repaint
This option turns on the repaint feature. The following function is used.
request.security(_symbol, _res, _src ) : na
Ind Source:
You can the source that indicators will use their own calculations
Ext Source:
You can import external Indicator sources from here . It appears on condition/combination area as "EXT".
To export the External indicator plot it with a title. It will be visible in source dropdown input
PERIOD , ALERTS...
Period:
Determine your strategy testing period by selecting start and end date/time
(!!! According to your tradingview subscription, it takes the last 5000, 10000.. bars.
The extra bar option may cause problems such as not appearing in the calculations or errors).
Plot Alerts:
Plot condition result as alerts arrows on the chart's bottom for "LONG" and the top for "SHORT" entries, exits
Close on opposite:
When selected, a long entry gets closed when a short entry opens and vice versa
Show Profit:
It appears if script is in strategy mode (not in study) this can display current or open profit for better reanalyzing your strategy entry exit points. (Currently under development)
PLOT TYPE OPERATIONS
This option has 4 entries
a) Mult
Sets the multiplier for the selected Plot Type (stochastic, Percentrank, Org Range (-1,1) ) except for "Original" in the range (-1,1).
EXAMPLE: When 1000 is selected, the indicator in the range of (-1,1) will appear in the range of (-1000, 1000) on the screen.
b) Shift
It determines the shift that will appear on the screen for the selected Plot Type (stochastic, Percentrank,Org Range (-1,1) ) in the range (-1,1) other than "Original".
EXAMPLE: When Shift:35000 and mult:1000 are selected, the indicator will appear in the range (34000, 36000) on the screen.
c) Smooth
This option (only for Stochastic & PercentRank) allows to smooth the indicator to be displayed.
Here, tradinview ta.swma function is used.
b) hline
Adjusts the horizontal lines to appear on the screen according to the mult factor for the range (-1,1)
The lines represent the values (-1, -05, 0, 05, 1)
STEP 2: INDICATORS ______________________________________________________________________________________________________
You need to choose indicators that you can use in strategy conditions.
Here, the indicators come from the dturkuler/lib_Indicators_DT open script library defined in the code
In addition, you can add the indicators that you will create in the area defined in the code to this list..
You can also import external indicators and test them with other variables on the system..
You can choose a maximum of 5 indicators that you can use in total. (can be increased in new versions)
Indicators are categorized in 3 main sections
Indicator Selection:
You can select your indicators from this area
a)Moving Averages
These are indicators such as EMA, SMA that you can show on the stock. They come from the library.
These indicators are fed from Settings/source. Only the length value can be used as a parameter.
In addition, line colors can be changed..
As of now, there are 28 indicators in the library in total and 5 indicators are left as future use for this field for now.
b)Other Indicators
These are different indicators from the stock value such as RSI, COG. They come from the library. These indicators are fed from Settings/source.
Only the length value can be used as a parameter. In addition, line colors can be changed.
As of now, there are 24 indicators in the library in total and 5 indicators are left as a future use for this field for now.
c)Custom Indicators
These indicators are the ones you can create by programming yourself in the source code..
The area at the bottom of the settings screen is reserved for the parameters of this type of indicators.
Indicator Length:
You can update your selected indicator length value from here. (Not: it doesn't work for custom indicators since they have their parameter on cust. Ind. input screen )
Indicator Plot Type:
Next to the indicators, there is an input selection field about how they will be displayed on the screen.
a)Original
The indicator is displayed on the screen with its current values. It is an ideal solution for displaying moving average indicators such as (EMA, SMA) over current stock.
Since the values of indicators such as (RSI, COB) are low (-100,100 : -1.1), they appear at the bottom of the screen and make analysis difficult.
For this reason, other options may be more suitable for these.
b)Stochastic
The indicator is displayed on the screen with stochastic calculation in the range of -1.1.
It uses the stochastic(50) calculation method to spread indicators such as (RSI, COB) over the range (-1,1).
Indicators in this selection can be fixed and monitored under stock on the screen with the parameters under the Plot Type section.
You can see the original values of the relevant indicator on the Data Window screen.
(!!! Do not use the values on the chart in your condition calculations. Instead, get the values from Data Window)
c)PercentRank
The indicator is displayed on the screen with stochastic calculation in the range of -1.1. .
Since the values of indicators such as (RSI, COB) are low (-100,100 : -1.1), they appear at the bottom of the screen and make analysis difficult.
Indicators in this selection can be fixed and monitored under stock on the screen with the parameters under the Plot Type section.
You can see the original values of the relevant indicator on the Data Window screen
((!!! Do not use the values on the chart in your condition calculations. Instead, get the values from Data Window)
d)Org Range (-1,1)
If your indicator is in the range of -1.1, your indicator will be displayed on the screen with its original calculation in the range of -1.1.
Indicators in this selection can be fixed and monitored under stock on the screen with the parameters under the Plot Type section.
You can see the original values of the relevant indicator on the Data Window screen.
(!!! Do not use the values on the chart in your fitness calculations. Instead, get the values from Data Window)
STEP 2 NOTES:
STEP 3: CONDITIONS ______________________________________________________________________________________________________
After choosing the indicators you will use in the conditions, you move on to the "CONDITIONS" section.
There are 4 conditions type here.
• LONG ENTRY CONDITION
• SHORT ENTRY CONDITION
• LONG CLOSE CONDITION
• SHORT CLOSE CONDITION
The use of each condition is the same.
There are 3 combinations you can use in each condition. (can be increased in new versions)
a)COMBINATIONS
There are 3 combinations you can use in each condition. (can be increased in new versions)
Each combination are build from 4 parts
1)1st Indicator
If set to "NONE" this combination will not be used on calculations. You can select
IND1-5: from indicators (See above),
EXT: value from externally imported indicator
Stock built-in values: close, open...
2)Operator
Selected Operator compares 1st Indicator with the 2nd one. You can select different operators such as
crossover, crossunder, cross,>,<,=....
3)2nd Indicator
This indicator will be compared with the 1st one via selected Operator. You can select
IND1-5: from indicators (See above),
VALUE: a float value defined in the combinations value parameter
EXT: value from externally imported indicator
Stock builtin values: close,open...
4)Value
When the 2nd indicator field is "VALUE", value area compares the entered value.
ex: 1st indicator="open", op=">", 2nd indicator="VALUE", value=3000.12 means is(close>3000.12)
In other conditions, it compares the previous values of the indicator.
ex: 1st indicator="open", op=">" 2nd indicator is "close" and value is 2 means is(open>close )
EXAMPLES:
indicator 1= "IND1", Operator=">", indicator 2= "IND2" => is(IND1>IND2)
indicator 1= "IND1", Operator=">", indicator 2= "VALUE", "0.1" => is(IND1>0.9)
indicator 1= "IND2", Operator="crossover", indicator 2= "IND1" => is(IND2 crossover IND1) : like a=ta.crossover(IND2, IND1)
indicator 1= "IND1", Operator="<", indicator 2= "close" => is(IND1>close)
indicator 1= "IND1", Operator="<", indicator 2= "EXT" => is(IND1>EXT) , EXT mean external imported indicator that define on settings section
indicator 1= "IND1", Operator="<", indicator 2= "IND1", Value="1" => is (IND1>IND1 )
b)JOIN COMBINATIONS
Each combination in Condition is compared with the next one via JOIN operator
The join operator can be selected as AND or OR.
Examples:
1st combination= is(IND1>0.9) true
2nd combination= is(IND2 crossover IND1) false
1st combination "AND" 2ndcombination" => false (is(IND1>0.9) AND is(IND2 crossover IND1))
1st combination "OR" 2nd combination" => true (is(IND1>0.9) OR is(IND2 crossover IND1))
STEP 3 NOTES:
When the 2nd indicator field is "VALUE", value area compares the entered value. In other conditions, it compares the previous values of the indicator.
In cases where "VALUE" is not selected, integer values must be entered in this field. (float should not be entered. ie 1, 2 should be entered)
!!!If the 1st indicator is "NONE" in the combination, that combination is cancelled.
Each combination returns true/false, allowing the selected value to be compared with another value
Example: EMA(21)>EMA(50) returns true under all conditions or (EMA(21) crossover EMA(50)) returns true when passed.
You can use , Value of 5 indicators (IND1-IND5) or (VALUE) that you have defined in combinations or import indicator (EXT) or stock values (close, open, high...) in your calculations.
combination Compares the 1st indicator with 2nd indicator via the operator.
STEP 4: CUSTOM INDICATORS ______________________________________________________________________________________________________
There is an area in the code for designing Custom Indicators.
Here you can design your own indicators and use them in the framework.
You can also create unlimited parameters for your indicators in the SETTINGS custom indicator field.
For now, only 3 Custom indicators have been defined.
Examples are entered in the code for custom indicators.
STEP 4 NOTES:
Including / updating custom to the code is explained in the source code
• LIMITATIONS:
!!! According to your tradingview subscription, it takes the last 5000, 10000.. bars. More bar options may cause problems such as not appearing in the calculations or errors.
• RAMBLINGS:
• NOTES [ /i]
This Script can be used as an indicator if the last strategy parts in the code are commented out and converted to the initial strategy study.
It was originally prepared for my use with my own strategy framework and has export functions accordingly.
When integrated to my own strategy framework it brings many more features over strategy definition of trades.
• TODO [ /i]
TODO: Add tooltips to the settings screen
TODO: Add double triple, Quatr factor for all indicators (convert any indicator to factor2-4 facotr. ex: EMA to DEMA, TEMA, QEMA...)
TODO: Add factorized Fibo avg range indicator (good for trend definition and entry exit points)
TODO: Add bands to the indicator and conditions
TODO: Add debug window for exporting indicator's parameters
TODO: Add isRising(value) isFalling(value), is...(value) .... to combinations (they can be used as custom indicator also
TODO: Reassess condition entry screen for user friendly GUI
TODO: Increase # conditions from 3 to 4
TODO: Reassess strategy entries, exit and close (should be improved)
TODO: Add Alerts, Condiional alerts for indicator (study) part
TODO: Create export function v3 for Pinecoders Indicator framework
• THANKS:
For Pine script format docs RicardoSantos .
For Pine script coding standards Pinecoders .
For moving average script used on library s RodrigoKazuma .
Multi-Market Swing Trader Webhook Ready [HullBuster]
Introduction
This is an all symbol swing trading strategy intended for webhook integration to live accounts. This script employs an adjustable bandwidth ping pong algorithm which can be run in long only, short only or bidirectional modes. Additionally, this script provides advanced features such as pyramiding and DCA. It has been in development for nearly three years and exposes over 90 inputs to accommodate varying risk reward ratios. Equipped with a proper configuration it is suitable for professional traders seeking quality trades from a cloud based platform. This is my most advanced Pine Script to date which combines my RangeV3 and TrendV2 scripts. Using this combination it tries to bridge the gap between range bound and trending markets. I have put a lot of time into creating a system that could transition by itself so as to require less human intervention and thus be able to withstand long periods in full automation mode.
As a Pine strategy, hypothetical performance can be easily back-tested. Allowing you to Iron out the configuration of your target instrument. Now with recent advancements from the Pine development team this same script can be connected to a webhook through the alert mechanism. The requirement of a separate study script has been completely removed. This really makes things a lot easier to get your trading system up and running. I would like to also mention that TradingView has made significant advancements to the back-end over the last year. Notably, compile times are much faster now permitting more complex algorithms to be implemented. Thank you TradingView!
I used QuantConnect as my role model and strived to produce a base script which could compete with higher end cloud based platforms while being attractive to similarly experienced traders. The versatility of the Pine Language combined with the greater selection of end point execution systems provides a powerful alternative to other cloud based platforms. At the very least, with the features available today, a modular trading system for everyday use is a reality. I hope you'll agree.
This is a swing trading strategy so the behavior of this script is to buy on weakness and sell on strength. In trading parlance this is referred to as Support and Resistance Trading. Support being the point at which prices stop falling and start rising. Resistance being the point at which prices stop rising and fall. The chart real estate between these two points being defined as the range. This script seeks to implement strategies to profit from placing trades within this region. Short positions at resistance and long positions at support. Just to be clear, the range as well as trends are merely illusions as the chart only receives prices. However, this script attempts to calculate pivot points from the price stream. Rising pivots are shorts and falling pivots are longs. I refer to pivots as a vertex in this script which adds structural components to the chart formation (point, sides and a base). When trading in “Ping Pong” mode long and short positions are interleaved continuously as long as there exists a detectable vertex.
This is a non-hedging script so those of us subject to NFA FIFO Rule 2-43(b) should be generally safe to webhook into signals emitted from this script. However, as covered later in this document, there are some technical limitations to this statement. I have tested this script on various instruments for over two years and have configurations for forex, crypto and stocks. This script along with my TrendV2 script are my daily trading vehicles as a webhook into my forex and crypto accounts. This script employs various high risk features that could wipe out your account if not used judiciously. You should absolutely not use this script if you are a beginner or looking for a get-rich-quick strategy. Also please see my CFTC RULE 4.41 disclosure statement at the end of the document. Really!
Does this script repaint? The short answer is yes, it does, despite my best efforts to the contrary. EMAs are central to my strategy and TradingView calculates from the beginning of the series so there is just no getting around this. However, Pine is improving everyday and I am hopeful that this issue will be address from an architectural level at some point in the future. I have programmed my webhook to compensate for this occurrence so, in the mean time, this my recommended way to handle it (at the endpoint and before the broker).
Design
This strategy uses a ping pong algorithm of my own design. Basically, trades bounce off each other along the price stream. Trades are produced as a series of reversals. The point at which a trade reverses is a pivot calculation. A measurement is made between the recent valley to peak which results in a standard deviation value. This value is an input to implied probability calculation.Yes, the same implied probability used in sports betting. Odds are then calculated to determine the likelihood of price action continuing or retracing to the pivot. Based on where the account is at alert time, the action could be an entry, take profit or pyramid signal. In this design, trades must occur in alternating sequence. A long followed by a short then another long followed by a short and so on. In range bound price action trades appear along the outer bands of the channel in the aforementioned sequence. Shorts on the top and longs at the bottom. Generally speaking, the widths of the trading bands can be adjusted using the vertex dynamics in Section 2. There are a dozen inputs in this section used to describe the trading range. It is not a simple adjustment. If pyramids are enabled the strategy overrides the ping pong reversal pattern and begins an accumulation sequence. In this case you will see a series of same direction trades.
This script uses twelve indicators on a single time frame. The original trading algorithms are a port from a C++ program on proprietary trading platform. I’ve converted some of the statistical functions to use standard indicators available on TradingView. The setups make heavy use of the Hull Moving Average in conjunction with EMAs that form the Bill Williams Alligator as described in his book “New Trading Dimensions” Chapter 3. Lag between the Hull and the EMAs play a key role in identifying the pivot points. I really like the Hull Moving Average. I use it in all my systems, including 3 other platforms. It’s is an excellent leading indicator and a relatively light calculation.
The trend detection algorithms rely on several factors:
1. Smoothed EMAs in a Willams Alligator pattern.
2. Number of pivots encountered in a particular direction.
3. Which side debt is being incurred.
4. Settings in Section 4 and 5 (long and short)
The strategy uses these factors to determine the probability of prices continuing in the most recent direction. My TrendV2 script uses a higher time frame to determine trend direction. I can’t use that method in this script without exceeding various TradingView limitations on code size. However, the higher time frame is the best way to know which trend is worth pursuing or better to bet against.
The entire script is around 2400 lines of Pine code which pushes the limits of what can be created on this platform given the TradingView maximums for: local scopes, run-time duration and compile time. The module has been through numerous refactoring passes and makes extensive use of ternary statements. As such, It takes a full minute to compile after adding it to a chart. Please wait for the hovering dots to disappear before attempting to bring up the input dialog box. Scrolling the chart quickly may bring up an hour glass.
Regardless of the market conditions: range or trend. The behavior of the script is governed entirely by the 91 inputs. Depending on the settings, bar interval and symbol, you can configure a system to trade in small ranges producing a thousand or more trades. If you prefer wider ranges with fewer trades then the vertex detection settings in Section 2 should employ stiffer values. To make the script more of a trend follower, adjustments are available in Section 4 and 5 (long and short respectively). Overall this script is a range trader and the setups want to get in that way. It cannot be made into a full blown trend trading system. My TrendV2 is equipped for that purpose. Conversely, this script cannot be effectively deployed as a scalper either. The vertex calculation require too much data for high frequency trading. That doesn’t work well for retail customers anyway. The script is designed to function in bar intervals between 5 minutes and 4 hours. However, larger intervals require more backtest data in order to create reliable configurations. TradingView paid plans (Pro) only provide 10K bars which may not be sufficient. Please keep that in mind.
The transition from swing trader to trend follower typically happens after a stop is hit. That means that your account experiences a loss first and usually with a pyramid stack so the loss could be significant. Even then the script continues to alternate trades long and short. The difference is that the strategy tries to be more long on rising prices and more short on falling prices as opposed to simply counter trend trading. Otherwise, a continuous period of rising prices results in a distinctly short pyramid stack. This is much different than my TrendV2 script which stays long on peaks and short on valleys. Basically, the plan is to be profitable in range bound markets and just lose less when a trend comes along. How well this actually plays out will depend largely on the choices made in the sectioned input parameters.
Sections
The input dialog for this script contains 91 inputs separated into six sections.
Section 1: Global settings for the strategy including calculation model, trading direction, exit levels, pyramid and DCA settings. This is where you specify your minimum profit and stop levels. You should setup your Properties tab inputs before working on any of the sections. It’s really important to get the Base Currency right before doing any work on the strategy inputs. It is important to understand that the “Minimum Profit” and “Limit Offset” are conditional exits. To exit at a profit, the specified value must be exceeded during positive price pressure. On the other hand, the “Stop Offset” is a hard limit.
Section 2: Vertex dynamics. The script is equipped with four types of pivot point indicators. Histogram, candle, fractal and transform. Despite how the chart visuals may seem. The chart only receives prices. It’s up to the strategy to interpret patterns from the number stream. The quality of the feed and the symbol’s bar characteristics vary greatly from instrument to instrument. Each indicator uses a fundamentally different pattern recognition algorithm. Use trial and error to determine the best fit for your configuration. After selecting an indicator type, there are eight analog fields that must be configured for that particular indicator. This is the hardest part of the configuration process. The values applied to these fields determine how the range will be measured. They have a big effect on the number of trades your system will generate. To see the vertices click on the “Show Markers” check box in this section. Red markers are long positions and blue markers are short. This will give you an idea of where trades will be placed in natural order.
Section 3: Event thresholds. Price spikes are used to enter and exit trades. The magnitude which define these spikes are configured here. The rise and fall events are primarily for pyramid placement. The rise and fall limits determine the exit threshold for the conditional “Limit Offset” field found in Section 1. These fields should be adjusted one at a time. Use a zero value to disengage every one but the one you are working on. Use the fill colors found in Section 6 to get a visual on the values applied to these fields. To make it harder for pyramids to enter stiffen the Event values. This is more of a hack as the formal pyramid parameters are in Section 1.
Section 4 and 5: Long and short settings. These are mirror opposite settings with all opposing fields having the same meaning. Its really easy to introduce data mining bias into your configuration through these fields. You must combat against this tendency by trying to keep your settings as uniform as possible. Wildly different parameters for long and short means you have probably fitted the chart. There are nine analog and thirteen Boolean fields per trade direction. This section is all about how the trades themselves will be placed along the range defined in Section 2. Generally speaking, more restrictive settings will result in less trades but higher quality. Remember that this strategy will enter long on falling prices and short on rising prices. So getting in the trade too early leads to a draw-down. However, this could be what you want if pyramiding is enabled. I, personally, have found that the best configurations come from slightly skewing one side. I just accept that the other side will be sub-par.
Section 6: Chart rendering. This section contains one analog and four Boolean fields. More or less a diagnostic tool. Of particular interest is the “Symbol Debt Sequence” field. This field contains a whole number which paints regions that have sustained a run of bad trades equal or greater than specified value. It is useful when DCA is enabled. In this script Dollar Cost Averaging on new positions continues only until the symbol debt is recouped. To get a better understanding on how this works put a number in this field and activate DCA. You should notice how the trade size increases in the colored regions. The “Summary Report” checkbox displays a blue information box at the live end of the chart. It exposes several metrics which you may find useful if manually trading this strategy from audible alerts or text messages.
Pyramids
This script features a downward pyramiding strategy which increases your position size on losing trades. On purely margin trades, this feature can be used to, hypothetically, increase the profit factor of positions (not individual trades). On long only markets, such as crypto, you can use this feature to accumulate coins at depressed prices. The way it works is the stop offset, applied in the Section 1 inputs, determines the maximum risk you intend to bear. Additional trades will be placed at pivot points calculated all the way down to the stop price. The size of each add on trade is increased by a multiple of its interval. The maximum number of intervals is limited by the “Pyramiding” field in the properties tab. The rate at which pyramid positions are created can be adjusted in Section 1. To see the pyramids click on the “Mark Pyramid Levels” check box in the same section. Blue triangles are painted below trades other than the primary.
Unlike traditional Martingale strategies, the result of your trade is not dependent on the profit or loss from the last trade. The position must recover the R1 point in order to close. Alternatively, you can set a “Pyramid Bale Out Offset” in Section 1 which will terminate the trade early. However, the bale out must coincide with a pivot point and result in a profitable exit in order to actually close the trade. Should the market price exceed the stop offset set in Section 1, the full value of the position, multiplied by the accepted leverage, will be realized as a loss to the trading account. A series of such losses will certainly wipe out your account.
Pyramiding is an advanced feature intended for professional traders with well funded accounts and an appropriate mindset. The availability of this feature is not intended to endorse or promote my use of it. Use at your own risk (peril).
DCA
In addition to pyramiding this script employs DCA which enables users to experiment with loss recovery techniques. This is another advanced feature which can increase the order size on new trades in response to stopped out or winning streak trades. The script keeps track of debt incurred from losing trades. When the debt is recovered the order size returns to the base amount specified in the properties tab. The inputs for this feature are found in section 3 and include a limiter to prevent your account from depleting capital during runaway markets. The main difference between DCA and pyramids is that this implementation of DCA applies to new trades while pyramids affect open positions. DCA is a popular feature in crypto trading but can leave you with large “bags” if your not careful. In other markets, especially margin trading, you’ll need a well funded account and much experience.
To be sure pyramiding and dollar cost averaging is as close to gambling as you can get in respectable trading exchanges. However, if you are looking to compete in a spot trading contest or just want to add excitement to your trading life style those features could find a place in your strategies. Although your backtest may show spectacular gains don’t expect your live trading account to do the same. Every backtest has some measure of data mining bias. Please remember that.
Webhook Integration
The TradingView alerts dialog provides a way to connect your script to an external system which could actually execute your trade. This is a fantastic feature that enables you to separate the data feed and technical analysis from the execution and reporting systems. Using this feature it is possible to create a fully automated trading system entirely on the cloud. Of course, there is some work to get it all going in a reliable fashion. To that end this script has several things going for it. First off, it is a strategy type script. That means that the strategy place holders such as {{strategy.position_size}} can be embedded in the alert message text. There are more than 10 variables which can write internal script values into the message for delivery to the specified endpoint. Additionally, my scripts output the current win streak and debt loss counts in the {{strategy.order.alert_message}} field. Depending on the condition, this script will output other useful values in the JSON “comment” field of the alert message. Here is an excerpt of the fields I use in my webhook signal:
"broker_id": "kraken",
"account_id": "XXX XXXX XXXX XXXX",
"symbol_id": "XMRUSD",
"action": "{{strategy.order.action}}",
"strategy": "{{strategy.order.id}}",
"lots": "{{strategy.order.contracts}}",
"price": "{{strategy.order.price}}",
"comment": "{{strategy.order.alert_message}}",
"timestamp": "{{time}}"
Though TradingView does a great job in dispatching your alert this feature does come with a few idiosyncrasies. Namely, a single transaction call in your script may cause multiple transmissions to the endpoint. If you are using placeholders each message describes part of the transaction sequence. A good example is closing a pyramid stack. Although the script makes a single strategy.close() call, the endpoint actually receives a close message for each pyramid trade. The broker, on the other hand, only requires a single close. The incongruity of this situation is exacerbated by the possibility of messages being received out of sequence. Depending on the type of order designated in the message, a close or a reversal. This could have a disastrous effect on your live account. This broker simulator has no idea what is actually going on at your real account. Its just doing the job of running the simulation and sending out the computed results. If your TradingView simulation falls out of alignment with the actual trading account lots of really bad things could happen. Like your script thinks your are currently long but the account is actually short. Reversals from this point forward will always be wrong with no one the wiser. Human intervention will be required to restore congruence. But how does anyone find out this is occurring? In closed systems engineering this is known as entropy. In practice your webhook logic should be robust enough to detect these conditions. Be generous with the placeholder usage and give the webhook code plenty of information to compare states. Both issuer and receiver. Don’t blindly commit incoming signals without verifying system integrity.
Operation
This is a swing trading strategy so the fundamental behavior of this script is to buy on weakness and sell on strength. As such trade orders are placed in a counter direction to price pressure. What you will see on the chart is a short position on peaks and a long position on valleys. This is slightly misleading since a range as well as a trend are best recognized, in hindsight, after the patterns occur on the chart. In the middle of a trade, one never knows how deep valleys will drop or how high peaks will rise. For certain, long trades will continue to trigger as the market prices fall and short trades on rising prices. This means that the maximum efficiency of this strategy is achieved in choppy markets where the price doesn’t extend very far from its adjacent pivot point. Conversely, this strategy will be the least efficient when market conditions exhibit long continuous single direction price pressure. Especially, when measured in weeks. Translation, the trend is not your friend with this strategy. Internally, the script attempts to recognize prolonged price pressure and changes tactics accordingly. However, at best, the goal is to weather the trend until the range bound market returns. At worst, trend detection fails and pyramid trades continue to be placed until the limit specified in the Properties tab is reached. In all likelihood this could trigger a margin call and if it hits the stop it could wipe out your account.
This script has been in beta test four times since inception. During all that time no one has been successful in creating a configuration from scratch. Most people give up after an hour or so. To be perfectly honest, the configuration process is a bear. I know that but there is no way, currently, to create libraries in Pine. There is also no way specify input parameters other than the flattened out 2-D inputs dialog. And the publish rules clearly state that script variations addressing markets or symbols (suites) are not permitted. I suppose the problem is systemic to be-all-end-all solutions like my script is trying to be. I needed a cloud strategy for all the symbols that I trade and since Pine does not support library modules, include files or inter process communication this script and its unruly inputs are my weapon of choice in the war against the market forces. It takes me about six hours to configure a new symbol. Also not all the symbols I configure are equally successful. I should mention that I have a facsimile of this strategy written in another platform which allows me to run a backtest on 10 years of historical data. The results provide me a sanity check on the inputs I select on this platform.
My personal configurations use a 10 minute bar interval on forex instruments and 15 minutes on crypto. I try to align my TradingView scripts to employ standard intervals available from the broker so that I can backtest longer durations than those available on TradingView. For example, Bitcoin at 15 minute bars is downloadable from several sources. I really like the 10 minute bar. It provides lots of detectable patterns and is easy to store many years in an SQL database.
The following steps provide a very brief set of instructions that will get you started but will most certainly not produce the best backtest. A trading system that you are willing to risk your hard earned capital will require a well crafted configuration that involves time, expertise and clearly defined goals. As previously mentioned, I have several example configurations that I use for my own trading that I can share with you if you like. To get hands on experience in setting up your own symbol from scratch please follow the steps below.
Step 1. Setup the Base currency and order size in the properties tab.
Step 2. Select the calculation presets in the Instrument Type field.
Step 3. Select “No Trade” in the Trading Mode field
Step 4. Select the Histogram indicator from Section 2. You will be experimenting with different ones so it doesn’t matter which one you try first.
Step 5. Turn on Show Markers in Section 2.
Step 6. Go to the chart and checkout where the markers show up. Blue is up and red is down. Long trades show up along the red markers and short trades on the blue.
Step 7. Make adjustments to “Base To Vertex” and “Vertex To Base” net change and ROC in Section 2. Use these fields to move the markers to where you want trades to be.
Step 8. Try a different indicator from Section 2 and repeat Step 7 until you find the best match for this instrument on this interval. This step is complete when the Vertex settings and indicator combination produce the most favorable results.
Step 9. Go to Section 4 and enable “Apply Red Base To Base Margin”.
Step 10. Go to Section 5 and enable “Apply Blue Base To Base Margin”.
Step 11. Go to Section 2 and adjust “Minimum Base To Base Blue” and “Minimum Base To Base Red”. Observe the chart and note where the markers move relative to each other. Markers further apart will produce less trades but will reduce cutoffs in “Ping Pong” mode.
Step 12. Turn off Show Markers in Section 2.
Step 13. Put in your Minimum Profit and Stop Loss in the first section. This is in pips or currency basis points (chart right side scale). Percentage is not currently supported. Note that the profit is taken as a conditional exit on a market order not a fixed limit. The actual profit taken will almost always be greater than the amount specified. The stop loss, on the other hand, is indeed a hard number which is executed by the TradingView broker simulator when the threshold is breached.
Step 14. Return to step 3 and select a Trading Mode (Long, Short, BiDir, Ping Pong). If you are planning to trade bidirectionally its best to configure long first then short. Combine them with “BiDir” or “Ping Pong” after setting up both sides of the trade individually. The difference between “BiDir” and “Ping Pong” is that “Ping Pong” uses position reversal and can cut off opposing trades less than the specified minimum profit. As a result “Ping Pong” mode produces the greatest number of trades.
Step 15. Take a look at the chart. Trades should be showing along the markers plotted earlier.
Step 16. Make adjustments to the Vertex fields in Section 2 until the TradingView performance report is showing a profit. This includes the “Minimum Base To Base” fields. If a profit cannot be achieved move on to Step 17.
Step 17. Improve the backtest profitability by adjusting the “Entry Net Change” and “Entry ROC” in Section 4 and 5.
Step 18. Enable the “Mandatory Snap” checkbox in Section 4 and 5 and adjust the “Snap Candle Delta” and “Snap Fractal Delta” in Section 2. This should reduce some chop producing unprofitable reversals.
Step 19. Increase the distance between opposing trades by adding an “Interleave Delta” in Sections 4 and 5. This is a floating point value which starts at 0.01 and typically does not exceed 2.0.
Step 20. Increase the distance between opposing trades even further by adding a “Decay Minimum Span” in Sections 4 and 5. This is an absolute value specified in the symbol’s quote currency (right side scale of the chart). This value is similar to the minimum profit and stop loss fields in Section 1.
Step 21. The “Buy Composite Strength” input works in tandem with “Long Decay Minimum Span” in Section 4. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Long Decay Minimum Span”.
Step 22. The “Sell Composite Weakness” input works in tandem with “Short Decay Minimum Span” in Section 5. Try enabling and see if it improves the performance. This field is only relevant when there is a value in “Short Decay Minimum Span”.
Step 23. Improve the backtest profitability by adjusting the “Adherence Delta” in Section 4 and 5. This field requires the “Adhere to Rising Trend” checkbox to be enabled.
Step 24. At this point your strategy should be more or less working. Experiment with the remaining check boxes in Section 4 and 5. Keep the ones which seem to improve the performance.
Step 25. Examine the chart and see that trades are being placed in accordance with your desired trading goals. This is an important step. If your desired model requires multiple trades per day then you should be seeing hundreds of trades on the chart. Alternatively, you may be looking to trade fewer steep peaks and deep valleys in which case you should see trades at major turning points. Don’t simply settle for what the backtest serves you. Work your configuration until the system aligns with your desired model. Try changing indicators and even intervals if you cannot reach your simulation goals. Generally speaking, the histogram and Candle indicators produce the most trades. The Fractal indicator captures the tallest peaks and valleys. The Transform indicator is the most reliable but doesn’t well work on all instruments.
Example Settings
To reproduce the performance shown on the chart please use the following configuration:
1. Select XBTUSD Kraken as the chart symbol.
2. On the properties tab set the Order Size to: 0.01 Bitcoin
3. On the properties tab set the Pyramiding to: 10
4. In Section 1: Select “Forex” for the Instrument Type
5. In Section 1: Select “Ping Pong” for the Trading Mode
6. In Section 1: Input 1200 for the Minimum Profit
7. In Section 1: Input 15000 for the Stop Offset
8. In Section 1: Input 1200 for the Pyramid Minimum Span
9. In Section 1: Check mark the Ultra Wide Pyramids
10. In Section 2: Check mark the Use Transform Indicator
So to be clear, I used a base position size of one - one hundredth of a Bitcoin and allow the script to add up to 10 downward pyramids. The example back-test did hit eight downward pyramids. That means the account would have to be able to withstand a base position size (0.01) times 28. The resulting position size is 0.28 of a Bitcoin. If the price of Bitcoin is 35K then the draw down amount (not including broker fees) would be $9800 dollars. Since I have a premium subscription my backtest chart includes 20K historical bars. That's roughly six months of data. As of today, pro accounts only get 10K bars so the performance cannot be exactly matched with such a difference in historical data. Please keep that in mind.
There are, of course, various ways to reduce the risk incurred from accumulating pyramids. You can increase the “Pyramid Minimum Span” input found in Section 2 which increases the space between each pyramid trade. Also you can set a “Pyramid Bale Out Offset” in the same input section. This lets you out of the trade faster on position recovery. For example: Set a value of 8000 into this input and the number of trades increase to 178 from 157. Since the positions didn’t go full term, more trades were created at less profit each. The total brute force approach would be to simply limit the number of pyramids in the Properties tab.
It should be noted that since this is crypto, accumulating on the long side may be what you want. If you are not trading on margin and thus outright buying coins on the Kraken exchange you likely are interested in increasing your Bitcoin position at depressed prices. This is a popular feature on some of the other crypto trading packages like CryptoHopper and Profit Trailer. Click on Enable TV Long Only Rule in Section 1. This switches the signal emitter to long only. However, you may still see short trades on the chart. They are treated as a close instead of a reversal.
Feel free to PM me with any questions related to this script. Thank you and happy trading!
CFTC RULE 4.41
These results are based on simulated or hypothetical performance results that have certain inherent limitations. Unlike the results shown in an actual performance record, these results do not represent actual trading. Also, because these trades have not actually been executed, these results may have under-or over-compensated for the impact, if any, of certain market factors, such as lack of liquidity. Simulated or hypothetical trading programs in general are also subject to the fact that they are designed with the benefit of hindsight. No representation is being made that any account will or is likely to achieve profits or losses similar to these being shown.
Bollinger Flip Flop StrategyThis strategy combines both long and short Bollinger band strategies with a signal to determine to determine when it's appropriate to use each. Additionally, the strategy has protections in place for market conditions which would normally cause a trade to be stuck due to a long market trend change. Think of it like a stop loss but instead of basing the stop on a percentage from entry, it's based on prevailing market conditions.
This strategy is ideal for controlling trading bots on the 3commas.io platform. To do this, you will need to set up two "simple" bots, one for short trades and one for long trades. Other than their direction, they should be configured identically. Set the parameters for the bot the same as you have them set in the strategy preferences. Once you've done this, set the "Short Bot ID" and "Long Bot ID" fields to the ID numbers for each bot, respectively. Next, set the Email Token parameter (this will be the same for both bots). Once you've done this, you need only configure a single alert per coin pair with the alert message set to {{strategy.order.alert_message}}. Make sure you have all of the strategy settings, including bot IDs and email tokens set correctly before creating the alert . These parameters are saved in the alert and can be safely changed on the active chart once the alert is created without affecting the alert.
Heatmap - Multi-Timeframe Indicators - StrategyHeatmap - Multi-Timeframe Indicators - Strategy
▪ Main features :
- 19 Timeframes: 1m, 3m, 5m, 10m, 15m, 30m, 45m, 1h, 2h, 3h, 4h, 5h, 6h, 8h, 10h, 12h, 1D, 1W, 1M
- 6 indicators per timeframe
- choose specific timeframes for indicators (example - 1 hour)
- or choose specific timeframe ranges (example - 1 hour to 1 month)
The general idea is that the higher timeframe signals are stronger than the lower timeframe ones.
When a trend is starting, it is first visible on the lower timeframes.
The more time passes, the more the trend propagates through higher timeframes.
The default settings are meant to show all the available features. You may fine-tune it to your specific needs.
How to choose the timeframe for the chart : use the lowest of the choosen timeframes for indicators.
If the heatmap doesn't display correctly on your device, you may check the Heatmap Theme 🎨 setting.
It doesn't repaint.
"Repaint" version available though - good to check the past history, but very bad for real-time analysis.
▪ Indicators used for trend detection
1. MACD Cross
2. Stochastic Cross
3. Stochastic Cross and Overbought or Oversold
4. Moving Average
5. Parabolic SAR
6. Heikin Ashi
▪ Find the best Heatmap settings with the Strategy Tester version.
The signals generated by the Heatmap are considered to be valid at the bar open .
The Strategy Tester, however, uses the bar close in its calculations.
Therefore, the results may seem to be worse than they can be.
The Profitability, Profit Factor and other stats should be taken into consideration relatively to other configurations of the same Heatmap.
▪ Using a score system to consider a change in trend valid.
Example: consider the signal valid if 65% or more of all indicators (max 6) among all timeframes (max 19) hint at a change in trend.
The % percent value can be inserted in settings.
When using the default settings or when all timeframes and indicators are activated,
the ratio of 100% downtrend or 100% uptrend may be less occuring. Adjust accordingly.
The signals across timeframes and indicators are aggregated to show simple entry and exit signals.
▪ Combined Alerts, to be set to fire once per bar open :
0 - 📈 Long! - Heatmap - Multi-TFI
0 - 📈 Short! - Heatmap - Multi-TFI
0 - 📈 Long Exit! - Heatmap - Multi-TFI
0 - 📈 Short Exit! - Heatmap - Multi-TFI
1 *** BUY or SELL (single alert) ***
1 *** Entries or Exits (single alert) ***
▪ Note : The initial load may be slow. If something doesn't seem to work, you can try the following:
- wait more time for it to load
- hide & show or remove & add back to chart
- don't add the indicator to chart multiple times in a short amount of time, as you may be rate limited
▪ Related Studies :
- Heatmap - Multi-Timeframe Indicators - Alerts
- Risk Management System (Stop Loss, Take Profit, Trailing Stop Loss, Trailing Take Profit) - it can be connected to Heatmap - Multi-Timeframe Indicators - Alerts
▪ Layout example:
Engulfing strategy with DMI confirmationThe strategy contains Bearish and Bullish Engulfing trend reverse alerts with entry and closure notifications. Entries are enforced by Directional Movement Index (DMI) indicator levels combination. The strategy can be applied to spot, futures and marginal trading exchanges. It is suitable for both long and short positions and works accurately with BTC, USDT, ETH and BNB quote currencies. Best to use with 1H timeframe charts
Strategy elements can be configured at your own desire with user interface settings, no programming skills required:
1. Choose signals type: Long, Short or Both
2. Choose trend detection pattern rule:
SMA50 - provides a higher number of positions
SMA50 + SMA200 provides a higher accuracy
3. Change risk management settings to make the most accurate and efficient configuration. You can set up unique stop loss, take profit and trailing offset for different assets
4. Configure strategy periods
DMI and ADX lengths
ADX Smoothing
Key level
EMA and SMA lengths
5. Configure backtest dates
6. Show or hide RSI support and resistance bands
Engulfing strategy provides information for traders to enter the market in anticipation of a possible reversal in trend. Engulfing candles tend to signal a reversal of the current trend in the market. This specific pattern involves two candles with the latter candle "engulfing" the entire body of the candle before it. The engulfing candle can be bullish or bearish depending on where it forms in relation to the existing trend. The script calculates and compares values of the price action candles to define is there an engulfing and what type it is: bullish or bearish
If there is a bullish engulfing the indicator fills price action candle with yellow color
If there is a bearish engulfing the indicator fills price action candle with purple color
Advantages of the script:
1. The script detects presence of both types of engulfing: Bullish and Bearish
2. Weak engulfment signals and market noises are filtered by RSI bands and DMI confirmations. This allows to receive only strong and confirmed engulfment signals
3. This script has configurable risk management settings (order size, commission, take profit, stop loss and trailing). This provides you opportunity of direct broker connection and allows to conduct backtests before applying the strategy to real account. You also can set up strategy actions alerts
At the chart you can see the historical price action of ADAUSDT at Binance exchange from the January 1st 2019 till current date. The strategy is set up to receive only long signals because it is a spot market. Moments when the strategy triggered to enter a position are shown as L label while position entries are shown as "Long" messages. Moments when a certain position should be closed are shown as "Exitlong" messages
The strategy demonstrate high backtest results:
Mathematical expectation of risk management settings is positive = 1.34%
Percent profitable = 93.33%
Profit factor = 3.253
Quantity of entries = 75
Net profit = 15.22%
How to use?
Long signals:
1. Apply indicator to a trading pair your are interested in.
2. Click Settings button and select Alert Positions Type Long
3. Once bullish engulfing and confirmation conditions are met price action candle will be colored yellow and script strategy will enter a position.
4. Check Strategy Tester to set up optimal Risk management settings: stop loss, trailing profit activation point, trailing offset
5. Set up the strategy alert to be notified when a position should be opened or closed
Short signals:
1. Apply indicator to a trading pair your are interested in.
2. Click Settings button and select Alert Positions Type Short
3. Once bearish engulfing and confirmation conditions are met price action candle will be colored purple and script strategy will enter a position.
4. Check Strategy Tester to set up optimal Risk management settings: stop loss, trailing profit activation point, trailing offset
5. Set up the strategy alert to be notified when a position should be opened or closed
Best regards,
SkyRock Signals team
If you want to receive access to the strategy please contact us in personal message!
Test MeWarning: this strategy is my way to convert repainting model to non repainting one. So I put it for you to test if it work or not. test can be done as forward test =live running it signal or to use bar repaly which show you how did this model actualy put signal .never put money on something if you did not test it properly
So before we get to minute detail I give you some theory :
there is real time and there is repaint time. the repaint time take it data from future and once you do a back test hop you are so rich and happy . but when you run live session you find it bullshit as signals have no logic and are just random.
So we all try our best to correct and to avoid repainting as much we can. to create realible data. the problem is when we do it the strategy that we build lose it efective power and the end result is a poor lame duck. that do not make mistakes buy biy and sell at wrong positions.
I belive the truth lie in the middle between repaint time and real time. the model that i run in this strategy is rsi buy and sell power that i put you to all to see. as free - find it here:https://www.tradingview.com/script/Et8ou2hJ-RSI-buy-sell-force/
if i run this model according to non repaint rule that we all know as MTF it would barely win anything at best . does not matter what way i try to fix it it still lame duck.
if i make it to repaint it wonderfull but still stupid repaint:)
so how I try to solve the issue?
1. the rsi i change to more smooth one (in the menue you will see (fast,slow,curve set to 1,2,4)
2. i use two source one based on close. the other based on open. if you put close in MTF without restriction it would repaint
the open postion is more stable but the model will buy at wrong places. but it can be great as a filter to the close source model.
by this removing stupid signal.
this move make now our model to be stable. so it still severly repaint but since it stable and the repaint is not random anymore but is found in good buy and sell postions only problem is that we can see this only by back repaly . and when the chart is refresh the security will put false buy point chart so no solution but still better then random repaint:)
3. we want further to reduce too much buy and sell points . so now the strategy need to avoid pyramiding. this is crucial for the nest step which is how to make the stable buy point to be on the chart and not the repaint point ?
we cannot fix the security but we can trick TV buy very easy way and by this we can get the real buy point
how?
4. if your buy point let say send signal at 1pm , the security will make to look on chart on 7am.
and this is very frustrating as we never know if the signal we get is real or hoax?
so how i trick TV to give me only the signal that was sent to as alert and not the one that the false chart in the repaint show at 7am?
easy pizy :) you do not need complex code for it. just use simple trick: make a false buy point that is very close the alert that send at 13pm. for example : the alert on btc was a buy at 9200 at 1pm . the false buy point will be 0.1% or higher above it. so the false buy point now is our buy point. and this is one that send the alert. TV will accept the false buy point as real and not the the point at 1pm and nither the point at 7am. so by this way we are get in betwen situation between the repaint time and the real time.but this keep the strength of the model live and it no longer lame duck model. in the menue you see factor and this is the distance from the alert that was actualy sended (i set it to 0.8% but it can be what ever you want)
so how to operate this system?
length -is set to 1 . if yo do 2.3,4 etc this will make the buy and sell point much less becouse this depend on the mtf that we use
in the setting i put repaint control on 720 (minute dustance) - this is becouse if i put 60 as on 1 hour chart it will look great but will have more buy and sell point that I do not want so it will be prone to repaint so 240-1440 on 1 hour chart seems fine but 720 i thnk is better one.
if you on 4 hour cahrt then try 1440
if you are on 15min chart try less then 720 let say 120-240 range to see if no reapint. if not working you can increase length to 2 and try again until no repaint.
the equaty is set to 25% -the higher you put the higher profit will look but up to 50 is max .10 -30 is the real one
you can set the take profit and stop loss to anything you want but this is just safety mesure.
so I hope you understand and try to see if my setting repaint or not before you even try to use it in real life
MarketGodx for Tradingview - Strategy TestMarketGodx for Tradingview
Version = MarketGodx²
Indicator Description
MarketGodx weighs the probability of a given scenario and the outcome associated to prior events before sequentially weighing the impact of a probable move by the significance of the timeframe and its corresponding close sequence relative to other TFs, The indicator combines several components of classical technical analysis and then provides a Buy or Sell alert to traders, which is then acted upon by the user. There are modifications made to alerts to manipulate them in the alternating appearance as the visual above shows.
MarketGod can be applied to any market, with any time-frame associated to it. The signals relay the alert at the close of the period, and the painted alert is then available to users to see on the chart or even set notifications for via tradingview's alert system. We recommend that users implement marketgod on their preferred time frames for trading, which for us is the 1h, 4h, 6h, 1D and above TFs.
Indicator Components
Gann Trend Analysis
Stochastic K
Stochastic D
KDJ Calculation
MACD
SlowRSI
Bollinger Band
Keltner Channels
Ichimoku Cloud
HHLL Trend Detector
MarketGod EMA , WMA , SMA , HullMA
Accumulation + Distribution
Suggested Uses
MarketGod will inevitably produce false positives. We've taken steps to reduce this but we highly suggest you add this as a component of your strategy, not an end all be all
That said, please do not feel the need to fire a trade based solely on a marketgod signal, or to every signal it fires.
MarketGod users should backtest their strategy using OHLC candles for best results
Heikin Ashi candles were recomended in the past, and we have eliminated the need for them, meaning that traditional candlestick inputs will yield the highest results.
MarketGod will always give stronger alerts on higher TF's. If the 1-Day has fired a given signal and the 30 min or similar fire the opposite signal, know that the overall trend is still likely downward. Same concept applies to all timeframes on this tool.
Adjusting the Filter Settings
This tool has a noise filter for users to adjust.
The filter is a percentage based calculation, between significant points in time. The filter ranges between .5 and 25, with .5 increments
For lower TFs (IE Intraday), keep the filter set between .5-5
Mid-TFs (4H,6H,12H,1D), the recommended range is between 5.5-10
Higher TFs (3D and Higher), look for approx 11-20 range
Customizations
Customize the indicator by adjusting the colors in the style pane. Additionally, users can change the plots into labels with the price of close added to them, or a few other label text options, listed in the 'inputs' panel, below the filter adjustments. Users can also opt to turn the strategy orders as well, as this version will have them printed.
Strategy Performance Interpretation
Its important to understand the only metric that should be relevant is not the win %, as many may initially think. Alternatively, the only metric that matters in the end is your take home profit... meaning the profit one fees and taxes are accounted for. In our example here, the % brought back since the beginning of our window of 2018 is around 47% for $10,000 initial capital and 10% traded per position. Many are ignorant to the take home profit aspect as they focus solely on the winning %, which is ultimately incorrect approach to trading as a whole. as long as we maintain +30% (our goal minimum), the outcome being in the green, is our goal.
Access MarketGod for Tradingview
Learn more about how to access this tool by following the links in our signature below.
SURE SHOT TREND IDENTIFIERSURE SHOT TREND IDENTIFIER (SSTI) - It keeps Traders on Trending Side of the Market
BELOW BASIC THINGS MUST KNOW BEFORE USING THIS TOOL
1. Priority One: Background should be GREEN for UP TREND and RED for DOWN TREND
2. Minimum 4 out of first 5 Signals MUST come from below list to take your position
1. UP TREND
i. Background GREEN
ii. Bottom GREEN Dot – Trading Point Alert to take position
iii. BIG GREEN UP Arrow – Indication for Bullish
iv. TOP GREEN Dots – Positive Trend Direction
v. Long Signal Message – with this combination, we can say it is confirmed trend
vi. Likely to Raise with Up Arrow Message – Optional, as this will trigger automatically when you get first 4 signals.
vii. More Buying Message – Optional, to give more strength to the Trend
2. DOWN TREND
i. Background RED
ii. Bottom RED Dot – Trading Point Alert to take position
iii. BIG RED DOWN Arrow – Indication for Bearish
iv. TOP RED Dots – Negative Trend Direction
v. Short Signal Message – with this combination, we can say it is confirmed trend
vi. Likely to Fall with Down Allow Message – Optional, as this will trigger automatically when you get first 4 signals.
vii. More Selling Message – Optional, to give more strength to the Trend
3. Lines with YELLOW color filling is CPR (Central Pivot Range)
1. It helps when to EXIT from the position
2. Small GREEN Dot Lines represents Resistance Levels with R1, R2, R3 and R4 Levels
3. Small RED Dot Lines represents Support Levels with S1, S2, S3 and S4 Levels
4. Very Important:
1. If background color and TOP Dots colors are different, then it will give you wrong indication, so please don’t take any position, wait to get both same color.
2. If TOP Dots are showing YELLOW color, then it will be sideways market, so wait to match background and TOP Dots colors. If already taken position, take the decision based on other conditions to continue or EXIT from the position.
3. Please take position only ON BEGINNING of the TREND, don’t take any position during MIDDLE of the TREND. You may end up with losses.
4. GREEN background but NO other 3 supportive indicator confirmation – Exit / Continue with existing position based on other conditions, but - No New Position
5. GREEN background will other 3 supportive indicators, but RED Dots on Top, then don’t take NEW Position or Don’t EXIT. Take decision based on other indicators.
6. RED background but NO other 3 supportive indicator confirmation – Exit / Continue with existing position based on other conditions, but - No New Position
7. Close Long Message at below of the Candle – EXIT / Cautious on existing position based on other conditions, but - No New Position
5. Decision Making to EXIT Positions from
1. UP TREND when you see any of the below alerts on GREEN background
i. Close Long Message
ii. More Selling Message
iii. DOWN Message
iv. BIG RED DOWN Arrow
v. CPR conditions
1. If Candle Touches R1/R2/R3/R4 and struggling to move ABOVE any of these levels, then EXIT from the position
2. If you are a conservative investor, best method is to EXIT after reaching 50% of any of the Lower to Upper Resistance Level. i.e from CPR R1 R2 R3 R4
3. If you are an aggressive investor, you can wait till it gives first 4 alerts to exit.
2. DOWN TREND when you see any of the below alerts on RED background
i. Close Short Message
ii. More Buying Message
iii. UP Message
iv. BIG GREEN UP Arrow
v. CPR conditions
1. If Candle Touches S1/S2/S3/S4 and struggling to move BELOW any of these levels, then EXIT from the position
2. If you are a conservative investor, best method is to EXIT after reaching 50% of any of the Upper to Lower Support Level. i.e from CPR S1 S2 S3 S4
3. If you are an aggressive investor, you can wait till it gives first 4 alerts to exit
MACD Multi-MA StrategyThis script applies the average of each major MA (SMA, RMA, EMA, WVMA, WMA) to the MACD formula.
The logic is simple. When all 5 MA's are in agreement in direction, then then script will notify users of change.
I posted this as a strategy to help show how logic does in back test. If you use my simple yet effective solution to find take profit locations, you can blow this back testing out of the water!!!
To set alerts simply turn script into study
//@version=2
study(title="MACD Multi-MA Study", overlay=false)
src = close
len1 = input(8, "FAST LOOKBACK")
len2 = input(144, "SLOW LOOKBACK")
/////////////////////////////////////////////
length = len2-len1
ma = vwma(src, length)
plot(ma, title="VWMA", color=lime)
length1 = len2-len1
ma1 = rma(src, length1)
plot(ma1, title="RMA", color=purple)
length2 = len2-len1
ma2 = sma(src, length2)
plot(ma2, title="SMA", color=red)
length3 = len2-len1
ma3 = wma(src, length3)
plot(ma3, title="WMA", color=orange)
length4 = len2-len1
ma4 = ema(src, length4)
plot(ma4, title="EMA", color=yellow)
long = ma > ma and ma1 > ma1 and ma2 > ma2 and ma3 > ma3 and ma4 > ma4
short = ma < ma and ma1 < ma1 and ma2 < ma2 and ma3 < ma3 and ma4 < ma4
alertcondition(long == true, title='MACD LONG SIGNAL', message='MACD LONG!')
alertcondition(short == true, title='MACD SHORT SIGNAL', message='MACD SHORT!')
DH: (Strategy) Super SmartSuper Trend: Backtest VersionSUPER SMART SUPERTREND (Strategy Version w/ Backtesting)
Across all time frames and assets I've tested, this indicator gives me better results... Better entries, better exits and well defined trends. In comparison with a STANDARD Supertrend, it is not radically different, but when it does differ "Super Smart SuperTrend" is almost always better.
This is the STRATEGY version of "Super Smart SuperTrend" ready for your backtesting. There is also a STUDY version with ALERTS which might be better for live trading if you want Alerts.
STUDY VERSION WITH ALERTS IS HERE
##################################
##################################
ABOUT THIS INDICATOR
As the name suggests, 'Supertrend' is a trend-following indicator that is notably popular here on Tradingview and elsewhere. It does a remarkably great job of recognizing a trend (in progress) and it will signal you to initiate a position when the trend is clear. Perhaps the greater value of Supertrend is that it helps keep you in your position until that trend is over.
WHAT'S THE BEST ATR PERIOD AND MULTIPLIER?
There are two important data points we must enter for Supertrend to work, namely the 'period (ATR number of candles or days)' and the 'multiplier (value by which ATR is multiplied)' BTW, in case you don't know, ATR signals the degree of price volatility. A common default setting is 10 for the ATR period and 3 for the multiplier.
SORRY, BUT THE MOVIE STARTED HALF HOUR AGO...
Unfortunately Supertrend has a couple of big weaknesses. Generally, it fails in a sideways-moving market and when it does detect a trend, the signal to get in (or out) comes rather late. It's like someone telling you about a great movie they're watching, but by the time you start watching, one-third of the movie is over... bummer, right?
HOW TO IMPROVE SUPERTREND
One solution is to combine Supertrend with other indicators such as MACD, Parabolic SAR, RSI, etc. And another solution is to experiment (backtest) with the Period and Multiplier settings for the asset and timeframe you are considering for trade.
For the STANDARD SETTINGS in this "Super Smart SuperTrend" indicator, I have set 9 for the ATR and 2.2 for the multiplier as default after backtesting on Bitcoin and other crypto (mostly in the 15 minute to 6 HOUR timeframe). Of course you can change this easily to any ATR period and Multiplier you like.
BUT... WHY NOT GET SMART?
I started thinking, it might be best if we let the market determine candle-by-candle what the settings should be. If everyone says that Supertrend works best in conjunction with other indicators, why not do our "conjuncting" programmatically (ie: automatically) sorta like artificial intelligence!
HOW IT WORKS
So here's what I did. Using data from other indicators I came up with a SMART SUPERTREND that auto-adjusts as the market changes. It still has settings so you can fine tune it for specific assets and timeframes, but once the settings are entered, it auto-adjusts as the market and prices evolve.
With "Super Smart SuperTrend" there is no ATR period setting (that is determined programmatically) and now there are TWO multipliers you can experiment with... (a lower one set at 1.7 default and a higher one at 2.5). These multiplier settings create a multiplier range that can be used programmatically to adjust the multiplier as the market and prices evolve.
THE RESULTS
Across all time frames and assets I've tested, I generally get better results. Better entries, better exits and well defined trends. In comparison with a STANDARD Supertrend, it is not radically different, but when it does differ "Super Smart SuperTrend: is almost always better. All this is substantiated by backtesting of course.
SAMPLE BACKTEST RESULTS (BTC/USD)
*Using Indicator Defaults*
TIMEFRAME STANDARD RESULTS SUPER SMART RESULTS
% Profitable | Profit Factor % Profitable | Profit Factor
DAY 58.33% 9.38 75.00% 10.77
4 HOUR 78.43% 18.22 80.95% 21.78
1 HOUR 74.11% 8.98 70.13% 9.34
15 MIN 58.10% 6.10 71.43% 9.48
Keep in mind that "Profit Factor" is key. It basically tells you what you'd make for every ONE DOLLAR invested by consistently trading with the backtested parameters.
SUPER SMART SUPERTREND FEATURES
• There is a STUDY VERSION w/Alerts
• There is a STRATEGY VERSION for Backtesting
• Standard 'Current Time Frame' SuperTrend Line
• Standard 'Higher Time Frame' SuperTrend Line
• Auto-Adjusting Dynamic Optimized SuperTrend Line
> Most Signals Are Same or Better than Standard
> Refine Results w/Sensitivity Inputs (2 Multipliers)
> Impressive Comparison Backtests
• Both Standard and Smart Signals and Alerts
• Toggle Any Line/Signal (On/Off)
• Toggle Backtest
> Standard vs. "Smart Auto-Adjust"
> Backtest Higher Timeframe Only
WHAT MORE COULD YOU ASK FOR?
So glad you asked. Actually, there is more... Super Smart SuperTrend is incorporated into my premier indicator set called: STONEHENGE PLUS: SUPERTREND TRADING TOOLKIT.
By combining Super Smart SuperTrend with dozens of other indicators plus the predictive "Stones" of Stonehenge, you'll be in Trader's Heaven.
That's it. Get "SMART" Today!
STONEHENGE PLUS:
The Complete SuperTrend Trading Toolkit
#################################
#################################
SUPER SMART SUPERTREND ALSO WORKS WITH:
STONEHENGE BASIC: Double Stone Version (Study w/Alerts):
PLEASE HIT THE LIKE BUTTON (and follow me... lots of great stuff in the works!)
As always, I appreciate your support. Please share with others.
ENJOY!
Dan Hollings
Master Crypto Grid Trader
Stonehenge Master Mason
Host of the "High Leverage Lounge"
Please Explore My Other Indicators, Scripts, Grids and Educational Ideas.
@DanHollings on Tradingview.
Additional Links Below...
Volatility System by Wilder [LucF]The Volatility System was created by J. Welles Wilder, Jr. It first appeared in his seminal masterpiece, "New Concepts in Technical Trading Systems" (1978). He describes the system on pp.23-26, in the chapter discussing the first presentation ever of the "Volatility Index", built using a novel way of calculating a value representing volatility that he named Average True Range (ATR). The latter stuck.
The system is a pure reversal system (it is always either long or short). One of its characteristics is that its stop strategy moves up and down during a trade, widening the gap from price when volatility (ATR) increases. Because of this, this strategy can suffer large drawdowns and is not for the faint of heart.
The strategy uses a length (n) to calculate an ATR. ATR(n) is then multiplied by a factor to calculate the Average Range Constant (ARC). The ARC is then added to the lowest close n bars back to form the high Stop and Reverse points (SAR), and subtracted from the highest close n bars back to calculate the low SAR. Reversals occur when price closes above the high SAR or below the low SAR.
The system is best suited to higher time frames: 12H and above. Its performance depends heavily on calibration of the length and ARC factor. Wilder proposes a length of 7 and a factor between 2.8 to 3.1. My summary tests at 12H, 1D and 3D on stocks and cryptos yield better results with values of approximately 9-10/1.8-2.5 for cryptos and 9-10/3.0-4.0 for stocks. Small changes in the values will sometimes yield large variations in results, which I don’t particularly like because it tends to imply fragility, whereas I’d expect more robustness from a system with such simple rules. Additionally, backtests at 1D on cryptos provide so little data that no solid conclusions can be drawn from them.
All in all, the system is not very useful in my opinion; I publish it more for completeness, since as far as I can tell, it did not exist on this platform before. I also publish it out of respect for Wilder’s work. His book laid the foundation for many of the building blocks used by system designers, even today. In less than a hundred pages he presented RSI, ATR, DMI, ADXR and the Parabolic SAR indicators, some of which have become built-in functions in programming languages. This is a colossal feat and has not been repeated. Wilder is a monument.
Some lesser-known facts about his book:
It sells for the exact same price it cost in 1978: 65$,
The book has always been published by Wilder himself,
The layout hasn’t changed in 40 years,
He sells >35K copies/year.
Gotta love the guy.
The strategy is shown here on BTC /USD with settings of 12/1.8 (the defaults are 9/1.8). It shows the system under its best light. Other markets will most not reproduce such results. Also, the drawdown is as scary as the results are impressive.
Features
The code is written as a strategy but can easily be converted to an indicator if you want to use the alerts it can produce. Instructions are in the code.
You can change the length and ARC factor.
You can choose to trade only long or short positions.
You can choose to display the SARs (the stops) in multiple ways.
You can show trigger markers.
A date range can be defined.
3 alerts: reversals (both long and short), longs, shorts. Remember that for the moment, strategies cannot generate alerts in TradingView, so the strategy must be converted to an indicator in order to make the alerts available.
Wave & Trend Accompanying Backtesting StrategyVersion 1.0
Purpose
This backtesting strategy indicator is a accompanying tool for use with my popular trading and alert indicator: Wave & Trend Autoview Advanced Indicator & Alerts
Reference Indicator Link:
Features
This strategy has been programmed to act exactly how the accompanying indicator would be used with an automated strategy such as Autoview or through manual trading
Has identical coloured signals with correct icons for reference with the indicators standard alert conditions (BUY/SELL)
The ability to toggle on or off all the logic and UI presets you could previously use to enhance the standard indicator
No short / longs for the most accurate representation of buys and sells, The strategy will keep buying on every optimal signal (+1 order quantity each time) and then sell all assets on a met sell condition (-all quantity), matching exactly how the reference indicator is used to buy/sell on eg. Binance and also give the most accurate statistics.
Fully customisable in the settings regarding trading strategy to match exactly how you have the reference indicator set up with alerts or how you are trading manually with it.
Ability to choose a timeframe, want to ignore the crypto boom at the latter stages of 2017? Sure you can, change the time frames in the settings to see a more recent representation of your trades.
Access
This indicator is free for existing owners of my Wave & Trend Indicator linked above as an accompanying tool to improve their strategy and net more profit. If you would like access to any of my indicators or would like to know more please find me on my community discord channel where you can find indicator details/documentation and general help:
Discord Link: discord.gg
Thank you for the immense support everyone, happy trading!
- Falco
Multi-RSI BB Accompanying Backtesting StrategyVersion 1.0
Purpose
This backtesting strategy indicator is a accompanying tool for use with my popular trading and alert indicator: Multi RSI BB Fast Trader Autoview Alerts Indicator
Reference Indicator Link:
Features
This strategy has been programmed to act exactly how the accompanying indicator would be used with an automated strategy such as Autoview or through manual trading
Has identical coloured signals with correct icons for reference with the indicators standard alert conditions (BUY/SELL)
The ability to toggle on or off all the logic and UI presets you could previously use to enhance the standard indicator
No short / longs for the most accurate representation of buys and sells, The strategy will keep buying on every optimal signal (+1 order quantity each time) and then sell all assets on a met sell condition (-all quantity), matching exactly how the reference indicator is used to buy/sell on eg. Binance and also give the most accurate statistics.
Fully customisable in the settings regarding trading strategy to match exactly how you have the reference indicator set up with alerts or how you are trading manually with it.
Ability to choose a timeframe, want to ignore the crypto boom at the latter stages of 2017? Sure you can, change the time frames in the settings to see a more recent representation of your trades.
Access
This indicator is free for existing owners of my Multi RSI BB Indicator linked above as an accompanying tool to improve their strategy and net more profit. If you would like access to any of my indicators or would like to know more please find me on my community discord channel where you can find indicator details/documentation and general help:
Discord Link: discord.gg
Thank you for the immense support everyone, happy trading!
- Falco
BB% RSI Accompanying Backtesting StrategyVersion 1.0
Purpose
This backtesting strategy indicator is a accompanying tool for use with my popular trading and alert indicator: BB% RSI Autoview & Alert Signal Advanced 9.09% Indicator 2.0
Reference Indicator Link:
Features
This strategy has been programmed to act exactly how the accompanying indicator would be used with an automated strategy such as Autoview or through manual trading.
Has identical coloured signals with correct icons for reference with the indicators standard alert conditions (BUY/SELL/REVERSE/DIP)
The ability to toggle on or off the inclusion of the optional DIP and REVERSAL alerts within the strategy to match exactly how you have programmed to trade.
No short / longs for the most accurate representation of buys and sells, The strategy will keep buying on every optimal signal (+1 order quantity each time) and then sell all assets on a met sell condition (-all quantity), matching exactly how the reference indicator is used to buy/sell on eg. Binance and also give the most accurate statistics.
Fully customisable in the settings to match exactly how you have the reference indicator set up with alerts or how you are trading manually with it.
Ability to choose a timeframe, want to ignore the crypto boom at the latter stages of 2017? Sure you can, change the time frames in the settings to see a more recent representation of your trades.
Access
This indicator is free for existing owners of my BB% RSI Indicator linked above as an accompanying tool to improve their strategy and net more profit. If you would like access to any of my indicators or would like to know more please find me on my community discord channel where you can find indicator details/documentation and general help:
Discord Link: discord.gg
Thank you for the immense support everyone, happy trading!
- Falco
Enhanced MA Crossover Pro📝 Strategy Summary: Enhanced MA Crossover Pro
This strategy is an advanced, highly configurable moving average (MA) crossover system designed for algorithmic trading. It uses the crossover of two customizable MAs (a "Fast" MA 1 and a "Slow" MA 2) as its core entry signal, but aggressively integrates multiple technical filters, time controls, and dynamic position management to create a robust and comprehensive trading system.
💡 Core Logic
Entry Signal: A bullish crossover (MA1 > MA2) generates a Long signal, and a bearish crossover (MA1 < MA2) generates a Short signal. Users can opt to use MA crossovers from a Higher Timeframe (HTF) for the entry signal.
Confirmation/Filters: The basic MA cross signal is filtered by several optional indicators (see Filters section below) to ensure trades align with a broader trend or momentum context.
Position Management: Trades are managed with a sophisticated system of Stop Loss, Take Profit, Trailing Stops, and Breakeven stops that can be fixed, ATR-based, or dynamically adjusted.
Risk Management: Daily limits are enforced for maximum profit/loss and maximum trades per day.
⚙️ Key Features and Customization
1. Moving Averages
Primary MAs (MA1 & MA2): Highly configurable lengths (default 8 & 20) and types: EMA, WMA, SMA, or SMMA/RMA.
Higher Timeframe (HTF) MAs: Optional MAs calculated on a user-defined resolution (e.g., "60" for 1-hour) for use as an entry signal or as a trend confirmation filter.
2. Multi-Filter System
The entry signal can be filtered by the following optional conditions:
SMA Filter: Price must be above a 200-period SMA for long trades, and below it for short trades.
VWAP Filter: Price must be above VWAP for long trades, and below it for short trades.
RSI Filter: Long trades are blocked if RSI is overbought (default 70); short trades are blocked if RSI is oversold (default 30).
MACD Filter: Requires the MACD Line to be above the Signal Line for long trades (and vice versa for short trades).
HTF Confirmation: Requires the HTF MA1 to be above HTF MA2 for long entries (and vice versa).
3. Dynamic Stop and Target Management (S/L & T/P)
The strategy provides extensive control over exits:
Stop Loss Methods:
Fixed: Fixed tick amount.
ATR: Based on a multiple of the Average True Range (ATR).
Capped ATR: ATR stop limited by a maximum fixed tick amount.
Exit on Close Cross MA: Position is closed if the price crosses back over the chosen MA (MA1 or MA2).
Breakeven Stop: A stop can be moved to the entry price once a trigger distance (fixed ticks or Adaptive Breakeven based on ATR%) is reached.
Trailing Stop: Can be fixed or ATR-based, with an optional feature to auto-tighten the trailing multiplier after the breakeven condition is met.
Profit Target: Can be a fixed tick amount or a dynamic target based on an ATR multiplier.
4. Time and Session Control
Trading Session: Trades are only taken between defined Start/End Hours and Minutes (e.g., 9:30 to 16:00).
Forced Close: All open positions are closed near the end of the session (e.g., 15:45).
Trading Days: Allows specific days of the week to be enabled or disabled for trading.
5. Risk and Position Limits
Daily Profit/Loss Limits: The strategy tracks daily realized and unrealized PnL in ticks and will close all positions and block new entries if the user-defined maximum profit or maximum loss is hit.
Max Trades Per Day: Limits the number of executed trades in a single day.
🎨 Outputs and Alerts
Plots: Plots the MA1, MA2, SMA, VWAP, and HTF MAs (if enabled) on the chart.
Shapes: Plots visual markers (BUY/SELL labels) on the bar where the MA crossover occurs.
Trailing Stop: Plots the dynamic trailing stop level when a position is open.
Alerts: Generates JSON-formatted alerts for entry ({"action":"buy", "price":...}) and exit ({"action":"exit", "position":"long", "price":...}).
Trendline Breakout Strategy Strategy should place entries & exits so that it can be backtested (use strategy.entry and strategy.exit with explicit stop and limit prices). Include an option for fixed percent position sizing and an option for fixed contract size. Draw the trendline on the chart (with option to hide/show) and add labels that show: bias (Bull/Bear), trendline slope, entry price, SL, TP and the reason (e.g., "Trendline Breakout"). Provide user inputs for: EMA length (default 200), lookback for pivot detection, pivot sensitivity (left/right bars), quantity mode (percent / contracts), risk percent or fixed size, enable/disable backtest prints, and enable alerts. Avoid repainting: use confirmed pivot logic (pivot detection must use completed bars) and only take entry after breakout confirmed on close. Document any limitations (for example, trendline using two highest/highest bars inside lookback is approximate). Add clear comments, helpful variable names, and include example alertcondition lines for entry and exit signals.






















