PSE, Practical Strategy EnginePSE, Practical Strategy Engine
A ready-to-use engine that is simple to connect your indicator to, simple to use, and effective at generating alerts for order-filled events during the real-time candle.
Great for
• Evaluating indicators on important metrics without the need to write a strategy script for backtesting.
• Using indicators with built-in risk management.
About The PSE
This engine accepts entry and exit signals from your indicator to provide trade signals for both long and short positions. The PSE was written for trading Funds (e.g. ETF’s), Stocks, Forex, Futures, and Cryptocurrencies. The trades on the chart indicate market, limit, and stop orders. The PSE allows for backtesting of trades along with metrics of performance based on trade-groups with many great features.
Copyright © 2024 CoinOperator LLC
Note: A link to a video of how to connect your indicator(s) to the PSE is provided below.
Key Features
Trade-Grp’s
A Trade-Grp makes up one or more trade positions from the first position entering to the last position exiting. Using Trade-Grp’s instead of positions should help you better assess if the metric results fit your trading style.
Below are two (2) examples of a Trade-Grp with three (3) positions.
Metrics
A table of metrics is available if the “Show Metrics Table” checkbox is enabled on the Inputs tab, but metrics always show in the Data Window.
Examples of the Metrics Table are shown below.
• ROI (Return on Investment) and CAGR (Compound Annual Growth Rate) are based on the Avg Invest/Trade-Grp and are adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled.
• Profit/Risked is based on Trade-Grp’s. Also known as reward/risk, as well as expectancy per amount risked. It determines the effectiveness of your strategy and provides a measure of comparison between your strategies. This is adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled. In the Data Window the color is green when above the breakeven point of making a profit and red when below the breakeven point. In the Table the color is red if below the breakeven point, otherwise it is the default color. For example, using the 3 metrics tables above:
For every USD risked the profit is 1.709 USD.
For every BTC risked the profit is 0.832 BTC.
For every JPY risked the profit is 0.261 JPY.
• Winning % is based on Trade-Grp’s. In the Data Window the color is green when above the breakeven point of making a profit and red when below the breakeven point. In the Table the color is red if below the breakeven point, otherwise it is the default color.
The breakeven point is a relationship between the Profit/Risked and Winning % to indicate system profitability potential. Another way to assess trading system performance. For example, for a low Winning % a high Profit/Risked is needed for the system to be potentially profitable.
• Profit Factor (PF) is based on Trade-Grp’s. The dividend payment, if any, is not considered in the calculation of a win or loss. The “Include Dividends in Profit Factor” checkbox allows you the option to either include or not include dividends in the calculation of Profit Factor. The default is enabled.
Must enable the “Include Dividends in Profit” checkbox to include dividends in PF.
Including dividends in PF evaluates the trading strategy with a more overall profitability performance view.
Enable/Disable “Include Dividends in Profit Factor” checkbox also affects the Avg Trade-Grp Loss, and thus Equity Loss from ECL and % Equity Loss from ECL.
• Max Consecutive Losses are based on Trade-Grp’s.
• Nbr of Trade-Grp’s and Nbr of Positions.
These help you to determine if enough trades have occurred to validate your strategy. The Nbr of Positions is the count of positions on the chart. The TV list of trades in the Strategy Tester may indicate more than what is actually shown on the chart. The Data Window includes 'Nbr Strat Tester Trades', which equals the TV listing trades, to help you locate specific trades on the chart.
• Time in Market (%) is based on Trade-Grp’s and date range selected.
• Avg Invest/Trade-Grp will indicate the average amount of money invested in a Trade-Grp. This is adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled.
• Equivalent Consecutive Losses, labeled as Equiv. Cons. Losses (ECL).
This value is determined by the Winning % and Nbr of Trade-Grp’s. This simulates the more likely case of a series of losses, then a small win, then another series of losses to form an equivalent consecutive losing streak. To lower the value, increase the Winning %.
• Equity Loss from ECL is the equity loss from the equivalent consecutive losses.
• % Equity Loss from ECL is the percent of equity loss from the equivalent consecutive losses.
Risk Management
• Pyramid rules enforce and maintain position sizing designated by you on the Inputs tab (% Equity to Risk, Up/Dwn Gap) & Properties tab (number of pyramids, slippage, and commission).
A pyramid position will not occur unless both its stop covers the last entry price with gap/slippage and commission cost of previous trade is covered. If take profit is enabled, a pyramid position will not occur unless commission cost of the trade is covered when take profit target is reached.
• Position sizing, stop-loss (SL), trailing stop-loss (TSL), and take profit (TP) are used.
• Wash sale prevention for applicable assets is enforced. Wash sale assets include stock and fund (e.g. ETF’s).
• No more than one entry position per candle is enforced .
Other Great Features
• Losing Trade-Grp’s indicated at the exit with label text in the color blue. Used to easily find consecutive losses affecting your strategy’s performance. The dividend payment, if any, is not considered in the calculation of a win or loss.
• Position values can be displayed on the chart. The number format is based on the min tick value, but is limited to 8 decimal places only for display purposes.
• Dividends per share and the amount can be displayed on the chart.
• Hold Days . This is the number of days to hold before allowing the next Trade-Grp. Can be a decimal number. This feature may help those trading on a cash account to avoid any settlement violations when trading the same asset.
• Date Filter. Partition the time when trading is allowed to see if the strategy works well across the date range selected. The metrics should be acceptable across all four (4) time ranges: entire range, 1st half, IQR (inter-quartile range), and 2nd half.
• Price gap amount identification. Used in determining if a pyramid entry may be profitable, and may be used in determining slippage amount to use.
• When TP is enabled, the PSE will only allow a pyramid position if the potential is profitable based on commission and price gap selected.
• Trade-Grp’s shown in background color: green for long positions and red for short positions.
• The PSE will alert you to update your stop-loss as the market changes if your exchange/broker does not allow for trailing stop-loss orders. Enable this option on the Inputs tab with Alert Chg TSL.
• The PSE will alert you if your drawdown exceeds Max % Equity Drawdown set on the Inputs tab.
• The PSE will send an alert to warn you of an expiring GTC order.
Some brokers will indicate the order is GTC, Good 'Till Cancelled, but there really is a time limit on the order and is typically 60-120 days. Therefore, the PSE will alert you if you've been in position for close to 60 days so you can refresh your order. The alert is typically a few days before the 60-day time period.
• For order fill alerts just use a {{placeholder}} in the Message of the alert. Details on how to enter placeholders is explained below.
• Identify same bar enter/exit for first entries and pyramids. This is shown in the Data Window as well. This can help you determine what stop-loss % works best for your trading style.
• Leverage trading information is displayed in the Data Window and applies to Trade-Grps.
Failed PosSize or Margin (%): Shows a zero if the failed-to-trade position size was less than 1 or shows the margin % which failed to meet the margin requirement set in the Properties tab. A flag will show on the bar where a failed-to-trade occurred. This is only applicable to the first position of a Trade-Grp. Position the cursor over the flag for the value to show in the Data Window.
Notional Value: total Trade-Grp position size x latest entry price x point value. The equity must be > notional value x margin requirement for a trade to occur.
Current Margin (%): must be greater than margin requirement set on the Properties tab in order for a trade to occur.
Margin Call Price: when enabled on the Style tab is displayed on both the chart and the Data Window as shown below.
PSE Settings
Pyramids
• Pyramiding requires the Stop Method to be set to either TSL or Both (meaning SL & TSL).
• The maximum number of pyramids is determined by the value entered in the Properties tab.
• Pyramid orders require the enter price to be higher than the previous close for Longs and lower than the previous close for Shorts.
• Pyramids also require the stop with gap/slippage to be higher than the last entry price for Longs, and lower than the last entry price for Shorts. This covers all previous positions and maintains position sizing.
• When take profit, TP, is enabled, the pyramids also require that they will be profitable when opening a position assuming they will reach TP. This is automatically adjusted by you with the Dwn Gap/Up Gap, Slippage, and Commission settings.
Inputs Tab
General Settings
Color Traded Background
Enable to change background color where in a trade. Green for long positions and red for short positions.
Show Losing Trade-Grp
Enable to show if losing Trade-Grp and is indicated by text in blue color. The last position may be at a loss, but if there was profit for the Trade-Grp, then it will not be shown as a loss .
Show Position Values
Enable to show the currency value of each position in gold color.
Include Dividends in Profit
This feature is only applicable if the asset pays dividends and the time frame period of the chart is 1D or less, otherwise ignored. The PSE assumes dividends are taken as cash and not reinvested.
Enable to adjust ROI, CAGR, Profit/Risked, Avg Invest/Trade-Grp, and Equity to include dividend payments. This feature considers if you were in position at least one day prior to the ex-dividend date and had not exited until after the ex-dividend date.
When Show Dividends is enabled it will display the payout in currency/share, as well as the total amount based on the number of shares the position(s) of the Trade-Grp are currently holding.
Include Dividends in Profit Factor
This checkbox allows you the option to either include or not include dividends in the calculation of Profit Factor. Must enable the “Include Dividends in Profit” checkbox to include dividends in PF. The dividend payment, if any, is not considered in the calculation of a win or loss.
Show Metrics Table
Options are font size and table location.
Alert Failed to Trade
Enable for the strategy to alert you when a trade did not happen due to low equity or low order size. Applicable only for the first position of a Trade-Grp.
Trade Direction
Options are 'Longs Only', 'Both', 'Shorts Only'.
Hold Days
This is the number of days to hold before allowing the next Trade-Grp. Applies only to the first trade position of a Trade-Grp. Where a Trade-Grp consists of the first position plus any pyramid positions.
The value entered will be overwritten to >= 31 to prevent wash sale for applicable assets in the event the last Trade-Grp was a loss. Wash sale assets include stock and fund (i.e. ETF’s).
The minimum value is the equivalent of 1 candle and is automatically assigned by the PSE if the entered value is equivalent to less than one candle. To calculate Hold Days in # of candles on the Hour chart divide the chart period by 24 x #candles. On the Minute chart divide the chart period by 60 then by 24 x #candles.
Show Vertical Lines at From Date & To Date
Shows a vertical dotted line at the From Date and To Date for visual inspection of the setting.
Date Filter
When enabled, trades are allowed between the From Date and To Date, i.e., the date range.
When disabled, trades are allowed for all candles.
Partition the time when trading is allowed to see if your indicator settings work well across the date range. Click 1st Half, IQR (inter-quartile range), or 2nd Half buttons to trade a portion of the date range.
Select only one at-a-time to partition the time when trading is allowed.
When 1st Half is enabled only trades for the 1st half of the date range are allowed.
When IQR is enabled only trades for the inter-quartile date range are allowed.
When 2nd Half is enabled only trades for the 2nd half of the date range are allowed.
Position Sizing
The % of Equity to Risk has been separated into two (2) areas: for initial trades and for pyramid trades. This allows for greater ability to maximize profits within your acceptable drawdown. A variation of the Anti-Martingale method from the initial trade if you choose to use it in that manner.
% Equity to Risk for Initial Trades: enter the percent of equity you want to risk per position for the initial trades of each Trade-Grp. For example, for 1% enter 1.
% Equity to Risk for Pyramid Trades: enter the percent of equity you want to risk per position for the pyramid trades of each Trade-Grp. For example, for 2% enter 2.
% Equity for Max Position Size: the position size will not exceed this amount. For example, for 25% enter 25.
Max % Equity Drawdown Warning: an alert will be triggered if the maximum drawdown exceeds this v alue. For example, for 10% enter 10.
Stop Methods
NOTE: The Stop Method must be either Both or TSL in order for the pyramids to work. This feature enforces position sizing.
Stop-loss, SL, and trailing stop-loss, TSL, are other features that enforce risk management.
The trailing stop-loss, TSL, is activated immediately if Stop Method = TSL. If Stop Method = Both, then the TSL is activated when its value is above stop-loss, SL, for Longs and below the SL for Shorts.
The calculated TSL value (shown on the chart by + symbol) of the previous bar is used for the current bar and the plot value is off by default, but you can it turn on via the Style tab. This is available so you can better understand how the TSL value used was calculated from. It is beneficial to show when monitoring the real-time candle.
Alert Chg TSL
When enabled, this feature will alert you to update your stop price if it moves greater than the change amount in %. The amount is the absolute % so will work for both Longs and Shorts. For example, for 1% enter 1 . This is provided since some exchanges/brokers do not offer TSL orders and you must manually adjust as price action plays out.
The alert will also suggest a stop limit price based on the gap selected and explained below.
The alert will occur at the close of the candle at the calculated TSL value of the candle just prior to the real-time candle.
Dwn Gap/Up Gap Input Settings
A price gap is the difference between the closing price of the previous candle and the opening price of the current candle. Dwn Gap and Up Gap are illustrated here.
The values of the Dwn Gap and Up Gap can be seen in the Data Window and are based on the settings of the Date Filter.
The options are “zero gap”, "median gap", "avg gap", "80 pct gap", "90 pct gap". The X pct gap stands for X percentile rank. For example, "80 pct gap" means that 80% of the gaps are less than or equal to the value shown in the Data Window. Select “zero gap” to disable this feature.
If Show Stop Limit is enabled, it will show a dotted-line below or above the current stop price where a stop-limit order should be taken. It is shown based on the gap option selected. Again, the PSE trades market, limit, and stop orders, but a stop-limit may be shown if you wanted to see where one would be set using the Up/Dwn Gap.
Dwn Gap: Affects Short Take Profit, Long Pyramid Entries, and to show the Long Stop Limit.
Up Gap : Affects Long Take Profit, Short Pyramid Entries, and to show the Short Stop Limit.
Fixed Take Profit (TP)
When take profit (TP) is enabled, the PSE will determine if opening a pyramid position will be in profit assuming the TP will be hit while considering commission costs (on Properties tab).
The larger of Up Gap or Slippage value is used with Long positions regarding TP.
The larger of Dwn Gap or Slippage value is used with Short positions regarding TP.
Properties Tab
• Initial Capital: Set as desired.
• Base Currency: Leave as Default. The PSE is designed to use the instrument’s currency, therefore leave as Default.
• Order Size: Leave as default. This setting has been disabled and position sizing is handled on the Inputs tab and is based on % of equity.
• Pyramiding: Set as desired.
• Commission: Set as number %. The PSE is designed to only work with commission as a percent of the position value.
• Verify Price for Limit Orders: Set as desired.
Slippage
Adjust Slippage on the Properties tab to account for a realistic bid-ask spread. You can use one of Dwn/Up Gap values or other guidelines. Again, the Dwn/Up Gap values are based on the Date Filter input settings.
Heed warnings from the TradingView Pine Script™ manual about values entered into the Slippage field.
The Slippage (ticks) have a noticeable influence on entry price and exit price especially at the beginning when the date range includes prices from $0.01 to $100,000.00 like that for BTC-USD INDEX. When this is the case, it is best to use different slippage values when partitioning time with the Date Filter.
To minimize the effects of slippage, yet account for it select ‘median gap’ on the Input Tab and use that value for slippage on the Properties tab.
The slippage value is included in the placeholder {{strategy.order.price}}.
Leverage Trading
The PSE is designed to be used both without leverage (the default) and with leverage.
These two settings apply to Trade-Grps. For example, for 5x leverage enter 20 (1/5x100=20).
Margin for Long Positions: Set as desired. The default is 100%.
Margin for Short Positions: Set as desired. The default is 100%.
This setting on the Inputs tab applies to each trade position within a Trade-Grp.
Max % Equity per Position: Set as desired. The default is 20% and intended for non-leverage trading. For leverage trading set as desired. For example, for 3x leverage enter 300 (3x100=300).
Recalculate After Order Is Filled
The PSE uses the strategy parameter calc_on_order_fills=true to allow for enter/exit on the same bar and generate alerts immediately after an order is filled. This parameter is on the Properties tab and is named ‘Recalculate After order is filled’ and is enabled by default.
Disabling this feature will cause the PSE to not work as intended.
You will see the following Caution! on the TV Strategy Tester
This occurs because the PSE has the strategy parameter calc_on_order_fills = true.
Again, the PSE will only work as intended if this parameter is enabled and set to true.
Therefore, you can close the caution sign and be confident of receiving realistic results.
Recalculate On every tick: Disable.
Fill Orders
• Using bar magnifier: Set as desired.
• On Bar Close: Disable. The PSE will not work as intended if this is enabled.
• Using Standard OHLC: Set as desired.
Using The Alert Message Box From TV Strategy Alert
Set alerts to gain access to all the alerts from PSE. This allows for both order filled alerts, as well as the alert function calls related to refresh GTC orders, drawdown exceeded, update stop-loss order, and Failed to Trade.
Example Message for Manual Trading Alerts
(This is just an example. Consult TV manual for possible placeholders to use.)
{
Alert for {{plot("position_for_alert")}} position. (long = 1; short = -1)
{{exchange}}:{{ticker}} on TF of {{interval}} at Broker Name
{{strategy.order.action}} Equity x Equity_Multiplier USD in shares at price = {{strategy.order.price}},
where Equity_Multiplier = {{strategy.order.contracts}} x {{strategy.order.price}} / {{plot("Equity")}}
or {{strategy.order.action}} {{strategy.order.contracts}} shares at price = {{strategy.order.price}}.
}
Note: Use the Equity x Equity_Multiplier method if you have several accounts with different initial capital.
Example Message for Bot Trading Alerts
(You must consult your specific bot for configuring the alert message. This is just an example.)
{
"action": "{{strategy.order.action}}",
“price”: {{strategy.order.price}}
"amount": {{strategy.order.contracts}},
"botId": "1234"
}
Connecting to the PSE
The diagram below illustrates how to connect indicators to the PSE.
The Aroon and MACD indicators are only used here as an example. Substitute your own indicators and add as many as you like.
Connection Indicator for the PSE
A video of how to connect your indicator(s) to the PSE is below.
The Connection Indicator for the PSE, also called here the connection-indicator.
Below is a description of how to connect your chosen indicators to the connection-indicator. Two (2) indicators were chosen for the example, but you may have one (1) or many indicators.
If you have source code access to your indicators you can paste the code directly into the connection-indicator to eliminate the need to have those indicators on the chart and the additional connection of them to the connection-indicator. Below will assume source code to the indicators are not available.
The MACD and Aroon Oscillator are from TV built standard indicators and are shown here just as an example for inputs (i.e. source) to the connection-indicator. They were configured as follows:
The source code for the connection-indicator is shown below. Substitute your own chosen indicators and add as many as you like to create your connection-indicator that feeds into the PSE. The MACD and Aroon Oscillator were simply chosen as an example. Configure your connection-indicator in the manner shown below.
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// Copyright © 2024 CoinOperator LLC
// This is just an example Indicator to show how to interface with the PSE.
// The indicators used in the example are standard TV built indicators.
//@version=5
indicator(title="Connection Indicator for the PSE", overlay=false, max_lines_count=500, max_labels_count=500, max_boxes_count=500)
// Ind_1 INDICATOR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// This is just and example and used MACD histogram as the source.
Filter_Ind_1 = input.bool(false, 'Ind_1', group='Ind_1 INDICATOR ~~~~~~~~~~~~~~~~~', tooltip='Click ON to enable the indicator')
input_Ind_1 = input.source(title = "input_Ind_1", defval = close, group='Ind_1 INDICATOR ~~~~~~~~~~~~~~~~~')
Entry_Ind_1_Long = Filter_Ind_1 ? input_Ind_1 > 0 ? 1 : 0 : 0
Entry_Ind_1_Short = Filter_Ind_1 ? input_Ind_1 < 0 ? 1 : 0 : 0
Exit_Ind_1_Long = Entry_Ind_1_Short
Exit_Ind_1_Short = Entry_Ind_1_Long
// Ind_2 INDICATOR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// This is just an example and used Aroon Oscillator as the source. Included limits to use with the oscillator to determine enter and exit.
Filter_Ind_2 = input.bool(false, "Ind_2", group='Ind_2 INDICATOR ~~~~~~~~~~~~~~', tooltip='Click ON to enable the indicator')
Filter_Ind_2_Limit = input.int(35, minval=0, step=5, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
Filter_Ind_2_UL = Filter_Ind_2_Limit
Filter_Ind_2_LL = -Filter_Ind_2_Limit
up = input.source(title = "input_Ind_2A Up", defval = close, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
down = input.source(title = "input_Ind_2B Down", defval = close, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
oscillator = up - down
Entry_Ind_2_Long = Filter_Ind_2? oscillator > Filter_Ind_2_UL ? 1 : 0 : 0
Entry_Ind_2_Short = Filter_Ind_2? oscillator < Filter_Ind_2_LL ? 1 : 0 : 0
Exit_Ind_2_Long = Entry_Ind_2_Short
Exit_Ind_2_Short = Entry_Ind_2_Long
//#region ~~~~~~~ASSEMBLY OF FILTERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// You may have as many indicators as you like. Assemble them in similar fashion as below.
// ——————— Assembly of Entry Filters
Nbr_Entries = input.int(1, minval=1, title='Min Nbr Entries', inline='nbr_in_out', group='Assembly of Indicators')
// Update the assembly based on the number of indicators connected.
EntryLongOK = Entry_Ind_1_Long + Entry_Ind_2_Long >= Nbr_Entries? true: false
EntryShortOK = Entry_Ind_1_Short + Entry_Ind_2_Short >= Nbr_Entries? true: false
entry_signal = EntryLongOK ? 1 : EntryShortOK ? -1 : 0
plot(entry_signal, title="Entry_Signal", color=color.new(color.blue, 0))
// ——————— Assembly of Exit Filters
Nbr_Exits = input.int(1, minval=1, title='Min Nbr of Exits', inline='nbr_in_out', group='Assembly of Indicators', tooltip='Enter the minimum number of entries & exits
required for a signal.')
// Update the assembly based on the number of indicators connected.
ExitLongOK = Exit_Ind_1_Long + Exit_Ind_2_Long >= Nbr_Exits? true: false
ExitShortOK = Exit_Ind_1_Short + Exit_Ind_2_Short >= Nbr_Exits? true: false
exit_signal = ExitLongOK ? 1 : ExitShortOK ? -1 : 0
plot(exit_signal, title="Exit_Signal", color=color.new(color.red, 0))
//#endregion ~~~~~~~END OF ASSEMBLY OF FILTERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
The input box for the connection-indicator is shown below. The default for input source is “close”. For Input_Ind_1 click the dropdown and select the MACD Histogram. For Input_Ind_2 click the dropdown and select Aroon Up and Aroon Down as shown.
Signal Connection Section of PSE
Below is a description of how to connect your chosen indicators to the PSE from the connection-indicator.
At the PSE Input tab, the Signal Connection Section is where you select the source of the Entry and Exit Signal to the PSE. These are the outputs from connection-indicator.
The default source is “close”. Click the dropdown and select the entry and exit signal to establish a connection as shown below.
Alertsignals
DIN: Dynamic Trend NavigatorDIN: Dynamic Trend Navigator
Overview
The Dynamic Trend Navigator script is designed to help traders identify and capitalize on market trends using a combination of Weighted Moving Averages (WMA), Volume Weighted Average Price (VWAP), and Anchored VWAP (AVWAP). The script provides customizable settings and flexible alerts for various crossover conditions, enhancing its utility for different trading strategies.
Key Features
- **1st and 2nd WMA**: Allows users to set and visualize two Weighted Moving Averages. These can be customized to any period, providing flexibility in trend identification.
- **VWAP and AVWAP**: Incorporates both VWAP and AVWAP, offering insights into price levels adjusted by volume.
- **ATR and ADX Indicators**: Includes the Average True Range (ATR) and Average Directional Index (ADX) to help assess market volatility and trend strength.
- **Flexible Alerts**: Configurable buy and sell alerts for any crossover condition, making it versatile for various trading strategies.
How to Use the Script
1. **Set the WMA Periods**: Customize the periods for the 1st and 2nd WMAs to suit your trading strategy.
2. **Enable VWAP and AVWAP**: Choose whether to include VWAP and AVWAP in your analysis by enabling the respective settings.
3. **Configure Alerts**: Set up alerts for the desired crossover conditions (WMA, VWAP, AVWAP) to receive notifications for potential trading opportunities.
4. **Monitor Signals**: Watch for buy and sell signals indicated by triangle shapes on the chart, which appear at the selected crossover points.
When to Use
- **Best Time to Use**: The script is most effective in trending markets where price movements are well-defined. It helps traders stay on the right side of the trend and avoid false signals during periods of low volatility.
- **When Not to Use**: Avoid using the script in choppy or sideways markets where price action lacks direction. The script may generate false signals in such conditions, leading to potential losses.
Benefits of VWAP and AVWAP
- **VWAP**: The Volume Weighted Average Price provides a price benchmark that adjusts for volume, helping traders identify fair value levels. It is particularly useful for intraday trading and gauging market sentiment.
- **AVWAP**: The Anchored VWAP allows traders to set a starting point for VWAP calculations, providing flexibility in analyzing price levels over specific periods or events. This helps in identifying key support and resistance levels based on volume.
Unique Aspects
- **Customizability**: The script offers extensive customization options for WMA periods, VWAP, AVWAP, and alert conditions, making it adaptable to various trading strategies.
- **Combining Indicators**: By integrating WMAs, VWAP, AVWAP, ATR, and ADX, the script provides a comprehensive view of market conditions, enhancing decision-making.
- **Real-Time Alerts**: The flexible alert system ensures traders receive timely notifications for potential trade setups, improving responsiveness to market changes.
Examples
- **Example 1**: A trader sets the 1st WMA to 8 and the 2nd WMA to 100, enabling the VWAP. When the 1st WMA crosses above the 2nd WMA or VWAP, a buy signal is triggered, indicating a potential long entry.
- **Example 2**: A trader sets the AVWAP to start 30 bars ago and monitors for crossovers with the 1st WMA. When the 1st WMA crosses below the AVWAP, a sell signal is triggered, suggesting a potential short entry.
Final Notes
The Dynamic Trend Navigator script is a powerful tool for traders looking to enhance their market analysis and trading decisions. Its unique combination of customizable indicators and flexible alert system sets it apart from other scripts, making it a valuable addition to any trader's toolkit.
Disclaimer: Never any financial advice. Just ThisGirl loving experimenting with indicators to help myself, as well as others.
Up and Downwhat is "Up and Down"?
It is an indicator designed to show you in detail on the chart and warn you when there is an increase or decrease in the market at a level that you consider important.
what it does?
When the price difference between a top and bottom is greater than the level you selected (the default input is 10 percent), it indicates this along with the percentage value on the chart. Then, it indicates the start and end points with lines so that you can see the change from where to where. It shows the price's current percentage distance from the last bottom or top in the upper right corner.
it also colors the candles so you can better understand how fast the price is moving. The greener the candles, the stronger the rise, and conversely, the greater the decline, the redder the candles. Of course, if you set an alarm, it will tell you in which trading pair, in which time period, at what percentage and in which direction there is a movement.
how it does it?
It uses a moving average with a short length to find bottoms and tops. It then measures the distance from the last peak to the bottom and expresses it as a percentage. It uses momentum using the moving average as a source to paint the candles. To compress this momentum between the values 255 and 0, I used a formula that I also used in my limited fisher transform work (because the inputs in the color.rgb function take values between 0 and 255). It was a bit challenging to use the lines correctly, but with the "ta.valuewhen" function and a little experimenting, they were I made sure they were drawn correctly.
how to use it?
It is quite simple to use. First, select the minimum interval you want to receive alarms. If you make this value too high, you will not receive any alarms; if you make it too low, you will receive too many alarms. Choose the range that will benefit you most for the trading pair you are using. Then all you have to do is set an alarm. When you set an alarm, leave the note section blank and the indicator will send you the necessary information.
Multi-Timeframe Stochastic Alert [tradeviZion]# Multi-Timeframe Stochastic Alert : Complete User Guide
## 1. Introduction
### What is the Multi-Timeframe Stochastic Alert?
The Multi-Timeframe Stochastic Alert is an advanced technical analysis tool that helps traders identify potential trading opportunities by analyzing momentum across multiple timeframes. It combines the power of the stochastic oscillator with multi-timeframe analysis to provide more reliable trading signals.
### Key Features and Benefits
- Simultaneous analysis of 6 different timeframes
- Advanced alert system with customizable conditions
- Real-time visual feedback with color-coded signals
- Comprehensive data table with instant market insights
- Motivational trading messages for psychological support
- Flexible theme support for comfortable viewing
### How it Can Help Your Trading
- Identify stronger trends by confirming momentum across multiple timeframes
- Reduce false signals through multi-timeframe confirmation
- Stay informed of market changes with customizable alerts
- Make more informed decisions with comprehensive market data
- Maintain trading discipline with clear visual signals
## 2. Understanding the Display
### The Stochastic Chart
The main chart displays three key components:
1. ** K-Line (Fast) **: The primary stochastic line (default color: green)
2. ** D-Line (Slow) **: The signal line (default color: red)
3. ** Reference Lines **:
- Overbought Level (80): Upper dashed line
- Middle Line (50): Center dashed line
- Oversold Level (20): Lower dashed line
### The Information Table
The table provides a comprehensive view of stochastic readings across all timeframes. Here's what each column means:
#### Column Explanations:
1. ** Timeframe **
- Shows the time period for each row
- Example: "5" = 5 minutes, "15" = 15 minutes, etc.
2. ** K Value **
- The fast stochastic line value (0-100)
- Higher values indicate stronger upward momentum
- Lower values indicate stronger downward momentum
3. ** D Value **
- The slow stochastic line value (0-100)
- Helps confirm momentum direction
- Crossovers with K-line can signal potential trades
4. ** Status **
- Shows current momentum with symbols:
- ▲ = Increasing (bullish)
- ▼ = Decreasing (bearish)
- Color matches the trend direction
5. ** Trend **
- Shows the current market condition:
- "Overbought" (above 80)
- "Bullish" (above 50)
- "Bearish" (below 50)
- "Oversold" (below 20)
#### Row Explanations:
1. ** Title Row **
- Shows "🎯 Multi-Timeframe Stochastic"
- Indicates the indicator is active
2. ** Header Row **
- Contains column titles
- Dark blue background for easy reading
3. ** Timeframe Rows **
- Six rows showing different timeframe analyses
- Each row updates independently
- Color-coded for easy trend identification
4. **Message Row**
- Shows rotating motivational messages
- Updates every 5 bars
- Helps maintain trading discipline
### Visual Indicators and Colors
- ** Green Background **: Indicates bullish conditions
- ** Red Background **: Indicates bearish conditions
- ** Color Intensity **: Shows strength of the signal
- ** Background Highlights **: Appear when alert conditions are met
## 3. Core Settings Groups
### Stochastic Settings
These settings control the core calculation of the stochastic oscillator.
1. ** Length (Default: 14) **
- What it does: Determines the lookback period for calculations
- Higher values (e.g., 21): More stable, fewer signals
- Lower values (e.g., 8): More sensitive, more signals
- Recommended:
* Day Trading: 8-14
* Swing Trading: 14-21
* Position Trading: 21-30
2. ** Smooth K (Default: 3) **
- What it does: Smooths the main stochastic line
- Higher values: Smoother line, fewer false signals
- Lower values: More responsive, but more noise
- Recommended:
* Day Trading: 2-3
* Swing Trading: 3-5
* Position Trading: 5-7
3. ** Smooth D (Default: 3) **
- What it does: Smooths the signal line
- Works in conjunction with Smooth K
- Usually kept equal to or slightly higher than Smooth K
- Recommended: Keep same as Smooth K for consistency
4. ** Source (Default: Close) **
- What it does: Determines price data for calculations
- Options: Close, Open, High, Low, HL2, HLC3, OHLC4
- Recommended: Stick with Close for most reliable signals
### Timeframe Settings
Controls the multiple timeframes analyzed by the indicator.
1. ** Main Timeframes (TF1-TF6) **
- TF1 (Default: 10): Shortest timeframe for quick signals
- TF2 (Default: 15): Short-term trend confirmation
- TF3 (Default: 30): Medium-term trend analysis
- TF4 (Default: 30): Additional medium-term confirmation
- TF5 (Default: 60): Longer-term trend analysis
- TF6 (Default: 240): Major trend confirmation
Recommended Combinations:
* Scalping: 1, 3, 5, 15, 30, 60
* Day Trading: 5, 15, 30, 60, 240, D
* Swing Trading: 15, 60, 240, D, W, M
2. ** Wait for Bar Close (Default: true) **
- What it does: Controls when calculations update
- True: More reliable but slightly delayed signals
- False: Faster signals but may change before bar closes
- Recommended: Keep True for more reliable signals
### Alert Settings
#### Main Alert Settings
1. ** Enable Alerts (Default: true) **
- Master switch for all alert notifications
- Toggle this off when you don't want any alerts
- Useful during testing or when you want to focus on visual signals only
2. ** Alert Condition (Options) **
- "Above Middle": Bullish momentum alerts only
- "Below Middle": Bearish momentum alerts only
- "Both": Alerts for both directions
- Recommended:
* Trending Markets: Choose direction matching the trend
* Ranging Markets: Use "Both" to catch reversals
* New Traders: Start with "Both" until you develop a specific strategy
3. ** Alert Frequency **
- "Once Per Bar": Immediate alerts during the bar
- "Once Per Bar Close": Alerts only after bar closes
- Recommended:
* Day Trading: "Once Per Bar" for quick reactions
* Swing Trading: "Once Per Bar Close" for confirmed signals
* Beginners: "Once Per Bar Close" to reduce false signals
#### Timeframe Check Settings
1. ** First Check (TF1) **
- Purpose: Confirms basic trend direction
- Alert Triggers When:
* For Bullish: Stochastic is above middle line (50)
* For Bearish: Stochastic is below middle line (50)
* For Both: Triggers in either direction based on position relative to middle line
- Settings:
* Enable/Disable: Turn first check on/off
* Timeframe: Default 5 minutes
- Best Used For:
* Quick trend confirmation
* Entry timing
* Scalping setups
2. ** Second Check (TF2) **
- Purpose: Confirms both position and momentum
- Alert Triggers When:
* For Bullish: Stochastic is above middle line AND both K&D lines are increasing
* For Bearish: Stochastic is below middle line AND both K&D lines are decreasing
* For Both: Triggers based on position and direction matching current condition
- Settings:
* Enable/Disable: Turn second check on/off
* Timeframe: Default 15 minutes
- Best Used For:
* Trend strength confirmation
* Avoiding false breakouts
* Day trading setups
3. ** Third Check (TF3) **
- Purpose: Confirms overall momentum direction
- Alert Triggers When:
* For Bullish: Both K&D lines are increasing (momentum confirmation)
* For Bearish: Both K&D lines are decreasing (momentum confirmation)
* For Both: Triggers based on matching momentum direction
- Settings:
* Enable/Disable: Turn third check on/off
* Timeframe: Default 30 minutes
- Best Used For:
* Major trend confirmation
* Swing trading setups
* Avoiding trades against the main trend
Note: All three conditions must be met simultaneously for the alert to trigger. This multi-timeframe confirmation helps reduce false signals and provides stronger trade setups.
#### Alert Combinations Examples
1. ** Conservative Setup **
- Enable all three checks
- Use "Once Per Bar Close"
- Timeframe Selection Example:
* First Check: 15 minutes
* Second Check: 1 hour (60 minutes)
* Third Check: 4 hours (240 minutes)
- Wider gaps between timeframes reduce noise and false signals
- Best for: Swing trading, beginners
2. ** Aggressive Setup **
- Enable first two checks only
- Use "Once Per Bar"
- Timeframe Selection Example:
* First Check: 5 minutes
* Second Check: 15 minutes
- Closer timeframes for quicker signals
- Best for: Day trading, experienced traders
3. ** Balanced Setup **
- Enable all checks
- Use "Once Per Bar"
- Timeframe Selection Example:
* First Check: 5 minutes
* Second Check: 15 minutes
* Third Check: 1 hour (60 minutes)
- Balanced spacing between timeframes
- Best for: All-around trading
### Visual Settings
#### Alert Visual Settings
1. ** Show Background Color (Default: true) **
- What it does: Highlights chart background when alerts trigger
- Benefits:
* Makes signals more visible
* Helps spot opportunities quickly
* Provides visual confirmation of alerts
- When to disable:
* If using multiple indicators
* When preferring a cleaner chart
* During manual backtesting
2. ** Background Transparency (Default: 90) **
- Range: 0 (solid) to 100 (invisible)
- Recommended Settings:
* Clean Charts: 90-95
* Multiple Indicators: 85-90
* Single Indicator: 80-85
- Tip: Adjust based on your chart's overall visibility
3. ** Background Colors **
- Bullish Background:
* Default: Green
* Indicates upward momentum
* Customizable to match your theme
- Bearish Background:
* Default: Red
* Indicates downward momentum
* Customizable to match your theme
#### Level Settings
1. ** Oversold Level (Default: 20) **
- Traditional Setting: 20
- Adjustable Range: 0-100
- Usage:
* Lower values (e.g., 10): More conservative
* Higher values (e.g., 30): More aggressive
- Trading Applications:
* Potential bullish reversal zone
* Support level in uptrends
* Entry point for long positions
2. ** Overbought Level (Default: 80) **
- Traditional Setting: 80
- Adjustable Range: 0-100
- Usage:
* Lower values (e.g., 70): More aggressive
* Higher values (e.g., 90): More conservative
- Trading Applications:
* Potential bearish reversal zone
* Resistance level in downtrends
* Exit point for long positions
3. ** Middle Line (Default: 50) **
- Purpose: Trend direction separator
- Applications:
* Above 50: Bullish territory
* Below 50: Bearish territory
* Crossing 50: Potential trend change
- Trading Uses:
* Trend confirmation
* Entry/exit trigger
* Risk management level
#### Color Settings
1. ** Bullish Color (Default: Green) **
- Used for:
* K-Line (Main stochastic line)
* Status symbols when trending up
* Trend labels for bullish conditions
- Customization:
* Choose colors that stand out
* Match your trading platform theme
* Consider color blindness accessibility
2. ** Bearish Color (Default: Red) **
- Used for:
* D-Line (Signal line)
* Status symbols when trending down
* Trend labels for bearish conditions
- Customization:
* Choose contrasting colors
* Ensure visibility on your chart
* Consider monitor settings
3. ** Neutral Color (Default: Gray) **
- Used for:
* Middle line (50 level)
- Customization:
* Should be less prominent
* Easy on the eyes
* Good background contrast
### Theme Settings
1. **Color Theme Options**
- Dark Theme (Default):
* Dark background with white text
* Optimized for dark chart backgrounds
* Reduces eye strain in low light
- Light Theme:
* Light background with black text
* Better visibility in bright conditions
- Custom Theme:
* Use your own color preferences
2. ** Available Theme Colors **
- Table Background
- Table Text
- Table Headers
Note: The theme affects only the table display colors. The stochastic lines and alert backgrounds use their own color settings.
### Table Settings
#### Position and Size
1. ** Table Position **
- Options:
* Top Right (Default)
* Middle Right
* Bottom Right
* Top Left
* Middle Left
* Bottom Left
- Considerations:
* Chart space utilization
* Personal preference
* Multiple monitor setups
2. ** Text Sizes **
- Title Size Options:
* Tiny: Minimal space usage
* Small: Compact but readable
* Normal (Default): Standard visibility
* Large: Enhanced readability
* Huge: Maximum visibility
- Data Size Options:
* Recommended: One size smaller than title
* Adjust based on screen resolution
* Consider viewing distance
3. ** Empowering Messages **
- Purpose:
* Maintain trading discipline
* Provide psychological support
* Remind of best practices
- Rotation:
* Changes every 5 bars
* Categories include:
- Market Wisdom
- Strategy & Discipline
- Mindset & Growth
- Technical Mastery
- Market Philosophy
## 4. Setting Up for Different Trading Styles
### Day Trading Setup
1. **Timeframes**
- Primary: 5, 15, 30 minutes
- Secondary: 1H, 4H
- Alert Settings: "Once Per Bar"
2. ** Stochastic Settings **
- Length: 8-14
- Smooth K/D: 2-3
- Alert Condition: Match market trend
3. ** Visual Settings **
- Background: Enabled
- Transparency: 85-90
- Theme: Based on trading hours
### Swing Trading Setup
1. ** Timeframes **
- Primary: 1H, 4H, Daily
- Secondary: Weekly
- Alert Settings: "Once Per Bar Close"
2. ** Stochastic Settings **
- Length: 14-21
- Smooth K/D: 3-5
- Alert Condition: "Both"
3. ** Visual Settings **
- Background: Optional
- Transparency: 90-95
- Theme: Personal preference
### Position Trading Setup
1. ** Timeframes **
- Primary: Daily, Weekly
- Secondary: Monthly
- Alert Settings: "Once Per Bar Close"
2. ** Stochastic Settings **
- Length: 21-30
- Smooth K/D: 5-7
- Alert Condition: "Both"
3. ** Visual Settings **
- Background: Disabled
- Focus on table data
- Theme: High contrast
## 5. Troubleshooting Guide
### Common Issues and Solutions
1. ** Too Many Alerts **
- Cause: Settings too sensitive
- Solutions:
* Increase timeframe intervals
* Use "Once Per Bar Close"
* Enable fewer timeframe checks
* Adjust stochastic length higher
2. ** Missed Signals **
- Cause: Settings too conservative
- Solutions:
* Decrease timeframe intervals
* Use "Once Per Bar"
* Enable more timeframe checks
* Adjust stochastic length lower
3. ** False Signals **
- Cause: Insufficient confirmation
- Solutions:
* Enable all three timeframe checks
* Use larger timeframe gaps
* Wait for bar close
* Confirm with price action
4. ** Visual Clarity Issues **
- Cause: Poor contrast or overlap
- Solutions:
* Adjust transparency
* Change theme settings
* Reposition table
* Modify color scheme
### Best Practices
1. ** Getting Started **
- Start with default settings
- Use "Both" alert condition
- Enable all timeframe checks
- Wait for bar close
- Monitor for a few days
2. ** Fine-Tuning **
- Adjust one setting at a time
- Document changes and results
- Test in different market conditions
- Find your optimal timeframe combination
- Balance sensitivity with reliability
3. ** Risk Management **
- Don't trade against major trends
- Confirm signals with price action
- Use appropriate position sizing
- Set clear stop losses
- Follow your trading plan
4. ** Regular Maintenance **
- Review settings weekly
- Adjust for market conditions
- Update color scheme for visibility
- Clean up chart regularly
- Maintain trading journal
## 6. Tips for Success
1. ** Entry Strategies **
- Wait for all timeframes to align
- Confirm with price action
- Use proper position sizing
- Consider market conditions
2. ** Exit Strategies **
- Trail stops using indicator levels
- Take partial profits at targets
- Honor your stop losses
- Don't fight the trend
3. ** Psychology **
- Stay disciplined with settings
- Don't override system signals
- Keep emotions in check
- Learn from each trade
4. ** Continuous Improvement **
- Record your trades
- Review performance regularly
- Adjust settings gradually
- Stay educated on markets
Ensemble Alerts█ OVERVIEW
This indicator creates highly customizable alert conditions and messages by combining several technical conditions into groups , which users can specify directly from the "Settings/Inputs" tab. It offers a flexible framework for building and testing complex alert conditions without requiring code modifications for each adjustment.
█ CONCEPTS
Ensemble analysis
Ensemble analysis is a form of data analysis that combines several "weaker" models to produce a potentially more robust model. In a trading context, one of the most prevalent forms of ensemble analysis is the aggregation (grouping) of several indicators to derive market insights and reinforce trading decisions. With this analysis, traders typically inspect multiple indicators, signaling trade actions when specific conditions or groups of conditions align.
Simplifying ensemble creation
Combining indicators into one or more ensembles can be challenging, especially for users without programming knowledge. It usually involves writing custom scripts to aggregate the indicators and trigger trading alerts based on the confluence of specific conditions. Making such scripts customizable via inputs poses an additional challenge, as it often involves complicated input menus and conditional logic.
This indicator addresses these challenges by providing a simple, flexible input menu where users can easily define alert criteria by listing groups of conditions from various technical indicators in simple text boxes . With this script, you can create complex alert conditions intuitively from the "Settings/Inputs" tab without ever writing or modifying a single line of code. This framework makes advanced alert setups more accessible to non-coders. Additionally, it can help Pine programmers save time and effort when testing various condition combinations.
█ FEATURES
Configurable alert direction
The "Direction" dropdown at the top of the "Settings/Inputs" tab specifies the allowed direction for the alert conditions. There are four possible options:
• Up only : The indicator only evaluates upward conditions.
• Down only : The indicator only evaluates downward conditions.
• Up and down (default): The indicator evaluates upward and downward conditions, creating alert triggers for both.
• Alternating : The indicator prevents alert triggers for consecutive conditions in the same direction. An upward condition must be the first occurrence after a downward condition to trigger an alert, and vice versa for downward conditions.
Flexible condition groups
This script features six text inputs where users can define distinct condition groups (ensembles) for their alerts. An alert trigger occurs if all the conditions in at least one group occur.
Each input accepts a comma-separated list of numbers with optional spaces (e.g., "1, 4, 8"). Each listed number, from 1 to 35, corresponds to a specific individual condition. Below are the conditions that the numbers represent:
1 — RSI above/below threshold
2 — RSI below/above threshold
3 — Stoch above/below threshold
4 — Stoch below/above threshold
5 — Stoch K over/under D
6 — Stoch K under/over D
7 — AO above/below threshold
8 — AO below/above threshold
9 — AO rising/falling
10 — AO falling/rising
11 — Supertrend up/down
12 — Supertrend down/up
13 — Close above/below MA
14 — Close below/above MA
15 — Close above/below open
16 — Close below/above open
17 — Close increase/decrease
18 — Close decrease/increase
19 — Close near Donchian top/bottom (Close > (Mid + HH) / 2)
20 — Close near Donchian bottom/top (Close < (Mid + LL) / 2)
21 — New Donchian high/low
22 — New Donchian low/high
23 — Rising volume
24 — Falling volume
25 — Volume above average (Volume > SMA(Volume, 20))
26 — Volume below average (Volume < SMA(Volume, 20))
27 — High body to range ratio (Abs(Close - Open) / (High - Low) > 0.5)
28 — Low body to range ratio (Abs(Close - Open) / (High - Low) < 0.5)
29 — High relative volatility (ATR(7) > ATR(40))
30 — Low relative volatility (ATR(7) < ATR(40))
31 — External condition 1
32 — External condition 2
33 — External condition 3
34 — External condition 4
35 — External condition 5
These constituent conditions fall into three distinct categories:
• Directional pairs : The numbers 1-22 correspond to pairs of opposing upward and downward conditions. For example, if one of the inputs includes "1" in the comma-separated list, that group uses the "RSI above/below threshold" condition pair. In this case, the RSI must be above a high threshold for the group to trigger an upward alert, and the RSI must be below a defined low threshold to trigger a downward alert.
• Non-directional filters : The numbers 23-30 correspond to conditions that do not represent directional information. These conditions act as filters for both upward and downward alerts. Traders often use non-directional conditions to refine trending or mean reversion signals. For instance, if one of the input lists includes "30", that group uses the "Low relative volatility" condition. The group can trigger an upward or downward alert only if the 7-period Average True Range (ATR) is below the 40-period ATR.
• External conditions : The numbers 31-35 correspond to external conditions based on the plots from other indicators on the chart. To set these conditions, use the source inputs in the "External conditions" section near the bottom of the "Settings/Inputs" tab. The external value can represent an upward, downward, or non-directional condition based on the following logic:
▫ Any value above 0 represents an upward condition.
▫ Any value below 0 represents a downward condition.
▫ If the checkbox next to the source input is selected, the condition becomes non-directional . Any group that uses the condition can trigger upward or downward alerts only if the source value is not 0.
To learn more about using plotted values from other indicators, see this article in our Help Center and the Source input section of our Pine Script™ User Manual.
Group markers
Each comma-separated list represents a distinct group , where all the listed conditions must occur to trigger an alert. This script assigns preset markers (names) to each condition group to make the active ensembles easily identifiable in the generated alert messages and labels. The markers assigned to each group use the format "M", where "M" is short for "Marker" and "x" is the group number. The titles of the inputs at the top of the "Settings/Inputs" tab show these markers for convenience.
For upward conditions, the labels and alert messages show group markers with upward triangles (e.g., "M1▲"). For downward conditions, they show markers with downward triangles (e.g., "M1▼").
NOTE: By default, this script populates the "M1" field with a pre-configured list for a mean reversion group ("2,18,24,28"). The other fields are empty. If any "M*" input does not contain a value, the indicator ignores it in the alert calculations.
Custom alert messages
By default, the indicator's alert message text contains the activated markers and their direction as a comma-separated list. Users can override this message for upward or downward alerts with the two text fields at the bottom of the "Settings/Inputs" tab. When the fields are not empty , the alerts use that text instead of the default marker list.
NOTE: This script generates alert triggers, not the alerts themselves. To set up an alert based on this script's conditions, open the "Create Alert" dialog box, then select the "Ensemble Alerts" and "Any alert() function call" options in the "Condition" tabs. See the Alerts FAQ in our Pine Script™ User Manual for more information.
Condition visualization
This script offers organized visualizations of its conditions, allowing users to inspect the behaviors of each condition alongside the specified groups. The key visual features include:
1) Conditional plots
• The indicator plots the history of each individual condition, excluding the external conditions, as circles at different levels. Opposite conditions appear at positive and negative levels with the same absolute value. The plots for each condition show values only on the bars where they occur.
• Each condition's plot is color-coded based on its type. Aqua and orange plots represent opposing directional conditions, and purple plots represent non-directional conditions. The titles of the plots also contain the condition numbers to which they apply.
• The plots in the separate pane can be turned on or off with the "Show plots in pane" checkbox near the top of the "Settings/Inputs" tab. This input only toggles the color-coded circles, which reduces the graphical load. If you deactivate these visuals, you can still inspect each condition from the script's status line and the Data Window.
• As a bonus, the indicator includes "Up alert" and "Down alert" plots in the Data Window, representing the combined upward and downward ensemble alert conditions. These plots are also usable in additional indicator-on-indicator calculations.
2) Dynamic labels
• The indicator draws a label on the main chart pane displaying the activated group markers (e.g., "M1▲") each time an alert condition occurs.
• The labels for upward alerts appear below chart bars. The labels for downward alerts appear above the bars.
NOTE: This indicator can display up to 500 labels because that is the maximum allowed for a single Pine script.
3) Background highlighting
• The indicator can highlight the main chart's background on bars where upward or downward condition groups activate. Use the "Highlight background" inputs in the "Settings/Inputs" tab to enable these highlights and customize their colors.
• Unlike the dynamic labels, these background highlights are available for all chart bars, irrespective of the number of condition occurrences.
█ NOTES
• This script uses Pine Script™ v6, the latest version of TradingView's programming language. See the Release notes and Migration guide to learn what's new in v6 and how to convert your scripts to this version.
• This script imports our new Alerts library, which features functions that provide high-level simplicity for working with complex compound conditions and alerts. We used the library's `compoundAlertMessage()` function in this indicator. It evaluates items from "bool" arrays in groups specified by an array of strings containing comma-separated index lists , returning a tuple of "string" values containing the marker of each activated group.
• The script imports the latest version of the ta library to calculate several technical indicators not included in the built-in `ta.*` namespace, including Double Exponential Moving Average (DEMA), Triple Exponential Moving Average (TEMA), Fractal Adaptive Moving Average (FRAMA), Tilson T3, Awesome Oscillator (AO), Full Stochastic (%K and %D), SuperTrend, and Donchian Channels.
• The script uses the `force_overlay` parameter in the label.new() and bgcolor() calls to display the drawings and background colors in the main chart pane.
• The plots and hlines use the available `display.*` constants to determine whether the visuals appear in the separate pane.
Look first. Then leap.
New Bar AlertThis is probably the simplest indicator on Tradingview, it generates an alert on every new bar.
Useful for strategies where you only need chart attention at the new bar, see if you have a setup.
Helps not having to stare at the charts, the alert will tell you when it's time to take a look.
Works on all timeframes but in order to keep your sanity, best used on higher timeframes, 5mins and up.
Dynamic Buy/Sell VisualizationDynamic Trend Visualization Indicator
Description:
This simple and easy to use indicator has helped me stay in trades longer.
This indicator is designed to visually represent potential buy and sell signals based on the crossover of two Simple Moving Averages (SMA). It's crafted to assist traders in identifying trend directions in a straightforward manner, making it an excellent tool for both beginners and experienced traders.
Features:
Customizable Moving Averages: Users can adjust the period length for both short-term (default: 10) and long-term (default: 50) SMAs to suit their trading strategy.
Visual Signals: Dynamic lines appear at the points of SMA crossover, with labels to indicate 'BUY' or 'SELL' opportunities.
Color and Style Customization: Customize the appearance of the buy and sell lines for better chart readability.
Alert Functionality: Alerts are set up to notify users when a crossover indicating a buy or sell condition occurs.
How It Works:
A 'BUY' signal is generated when the short-term SMA crosses above the long-term SMA, suggesting an upward trend.
A 'SELL' signal is indicated when the short-term SMA crosses below the long-term SMA, pointing to a potential downward trend.
Use Cases:
Trend Following: Ideal for markets with clear trends. For example, if trading EUR/USD on a daily chart, setting the short SMA to 10 days and the long SMA to 50 days might help in capturing longer-term trends.
Scalping: In a volatile market, setting shorter periods (e.g., 5 for short SMA and 20 for long SMA) might catch quicker trend changes, suitable for scalping.
Examples of how to use
* Short-term for Quick Trades:
SMA 5 and SMA 21:
Purpose: This combination is tailored for day traders or those looking to engage in scalping. The 5 SMA will react rapidly to price changes, providing early signals for buy or sell opportunities. The 21 SMA, being a Fibonacci number, offers a slightly longer-term view to confirm the short-term trend, helping to filter out minor fluctuations that might lead to false signals.
* Middle-term for Swing Trading:
SMA 10 and SMA 50:
Purpose: Suited for swing traders who aim to capitalize on medium-term trends. The 10 SMA picks up on immediate market movements, while the 50 SMA gives insight into the medium-term direction. This setup helps in identifying when a short-term trend aligns with a longer-term trend, providing a good balance for trades that might last several days to a couple of weeks.
* Long-term Trading:
SMA 50 and SMA 200:
Purpose: Investors focusing on long-term trends would benefit from this pair. The crossover of the 50 SMA over the 200 SMA can indicate the beginning or end of major market trends, ideal for making decisions about long-term holdings that might span months or years.
Example Strategy if not using the Buy / Sell Label Alerts:
Entry Signal: Enter a long position when the shorter SMA crosses above the longer SMA. For example:
SMA 10 crosses above SMA 50 for a medium-term bullish signal.
Exit Signal: Consider exiting or initiating a short position when:
SMA 10 crosses below SMA 50, suggesting a bearish turn in the medium-term trend.
Confirmation: Use these crossovers in conjunction with other indicators like volume or momentum indicators for better confirmation. For instance, if you're using the 5/21 combination, look for volume spikes on crossovers to confirm the move's strength.
When Not to Use:
Sideways or Range-Bound Markets: The indicator might generate many false signals in a non-trending market, leading to potential losses.
High Volatility Without Clear Trends: Rapid price movements without a consistent direction can result in misleading crossovers.
As a Standalone Tool: It should not be used in isolation. Combining with other indicators like RSI or MACD for confirmation can enhance trading decisions.
Practical Example:
Buy Signal: If you're watching Apple Inc. (AAPL) on a weekly chart, a crossover where the 10-week SMA moves above the 50-week SMA could suggest a buying opportunity, especially if confirmed by volume increase or other technical indicators.
Sell Signal: Conversely, if the 10-week SMA dips below the 50-week SMA, it might be time to consider selling, particularly if other bearish signals are present.
Conclusion:
The "Dynamic Trend Visualization" indicator provides a visual aid for trend-following strategies, offering customization and alert features to streamline the trading process. However, it's crucial to use this in conjunction with other analysis methods to mitigate the risks of false signals or market anomalies.
Legal Disclaimer:
This indicator is for educational purposes only. It does not guarantee profits or provide investment advice. Trading involves risk; please conduct thorough or consult with a financial advisor. The creator is not responsible for any losses incurred. By using this indicator, you agree to these terms.
Outlier changes alertAn indicator that calculates click (price change), percentage change, and Z-score changes while displaying outliers based on defined ranges.
Outlier Detection:
Mark outliers (for price, percentage, Z-score) based on user-defined thresholds. For example, any price movement exceeding a certain Z-score or percentage change could be marked as an outlier and displayed on chart.
Indicator Overview:
1. Click (Price Change):
Calculate the absolute price change from one period to another (e.g., from the current closing price to the previous closing price).
2. Percentage Change:
Calculate the percentage price change over a specific period, showing how much the price has changed in relative terms compared to the previous price.
3. Z-Score:
Compute the Z-score to standardize the price change relative to its historical average and standard deviation. The Z-score helps in detecting whether a price movement is an outlier or falls within a normal range of volatility.
Alert Sender Library [TradingFinder]Library "AlertSenderLibrary_TradingFinder"
🔵 Introduction
The "Alert Sender Library" is a management and production program for "Alert Messages" that enables the creation of unique messages for any type of signal generated by indicators or strategies.
These messages include the direction of the signal, symbol, time frame, the date and time the condition was triggered, prices related to the signal, and a personal message from you. To make better and more optimal use of this "library", you should carefully study " Key Features" and "How to Use".
🔵 Key Features
Automatic Detection of Appropriate Type :
Using two parameters, "AlertType" and "DetectionType", which you must enter at the beginning into the "AlertSender" function, the type of the alert message is determined.
For example, if you select one of the "DetectionType"s such as "Order Block Signal", "Signal", and "Setup", your alert type will be chosen based on "Long" and "Short". Whether it's "Long" or "Short" depends on the "AlertType" you have set to either "Bullish" or "Bearish".
Automatic Symbol Detection :
Whenever you add an alert for a specific symbol, if you want the name of that symbol to be in your message text, you must manually write the name of the symbol in your message. One of the capabilities of the "Alert Sender" is the automatic detection of the symbol and adding it to the message text.
Automatic Time Frame Detection :
When adding your alert, the "Alert Sender" detects the time frame of the symbol you intend to add the alert for and adds it to the text. This feature is very practical and can prevent traders from making mistakes.
For example, a trader might add alerts for a specific symbol using a specific indicator in different time frames, taking the main signal in the 1-hour time frame and only a confirmation signal in the 15-minute time frame. This feature helps to identify in which time frame the signal is set.
Detection of Date and Time When the Signal is Triggered :
You can have the date and time at the moment the message is sent. This feature has various uses. For example, if you use the Webhook URL feature to send messages to a Telegram channel, there might be issues with alert delivery on your server, causing delays, and you might receive the message when it has lost its validity.
With this feature, you can match the sending time of the message from TradingView with the receipt time in your messenger and detect if there is a delay in message delivery.
Important :
You can also set the Time Zone you wish to receive the date and time based on.
Display of "Key Prices" :
Key prices can vary based on the type of signals. For example, when the "DetectionType" is in "Order Block Signal" mode, the key prices are the "Distal" and "Proximal" prices. Or if the "DetectionType" is in "Setup" mode, the key prices are "Entry", "Stop Loss", and "Take Profit".
Receipt of Personal "Messages" :
You can enter your personal message using "input.string" or "input.text_area" in addition to the messages that are automatically created.
Beautiful and Functional Display of Messages :
The titles of messages sent by "AlertSender" are displayed using related emojis to prevent mistakes due to visual errors, enhancing beauty.
🔵 How to Use
🟣 Familiarity with Function and Parameters
AlertSender(Condition, Alert, AlertName, AlertType, DetectionType, SetupData, Frequency, UTC, MoreInfo, Message, o, h, l, c, Entry, TP, SL, Distal, Proximal)
Parameters:
- Condition (bool)
- Alert (string)
- AlertName (string)
- AlertType (string)
- DetectionType (string)
- SetupData (string)
- Frequency (string)
- UTC (string)
- MoreInfo (string)
- Message (string)
- o (float)
- h (float)
- l (float)
- c (float)
- Entry (float)
- TP (float)
- SL (float)
- Distal (float)
- Proximal (float)
To add "Alert Sender Library", you must first add the following code to your script.
import TFlab/AlertSenderLibrary_TradingFinder/1
🟣 Parameters
"Condition" : This parameter is a Boolean. You need to set it based on the condition that, when met (or fired), you want to receive an alert. The output should be either "true" or "false".
"Alert" : This parameter accepts one of two inputs, "On" or "Off". If set to "On", the alarm is active; if "Off", the alarm is deactivated. This input is useful when you have numerous alerts in an indicator or strategy and need to activate only a few of them. "Alert" is a string parameter.
Alert = input.string('On', 'Alert', , 'If you turn on the Alert, you can receive alerts and notifications after setting the "Alert".', group = 'Alert')
"AlertName" : This is a string parameter where you can enter the name you choose for your alert.
AlertName = input.string('Order Blocks Finder ', 'Alert Name', group = 'Alert')
"AlertType" : The inputs for this parameter are "Bullish" or "Bearish". If the condition selected in the "Condition" parameter is of a bullish bias, you should set this parameter to "Bullish", and if the condition is of a bearish bias, it should be set to "Bearish". "AlertType" is a string parameter.
"DetectionType" : This parameter's predefined inputs include "Order Block Signal", "Signal", "Setup", and "Analysis". You may provide other inputs, but some functionalities, like "Key Price", might be lost. "DetectionType" is a string parameter.
"SetupData" :
If "DetectionType" is set to "Setup", you must specify "SetupData" as either "Basic" or "Full". In "Basic" mode, only the "Entry" price needs to be defined in the function, and "TP" (Take Profit) and "SL" (Stop Loss) can be any number or NA. In "Full" mode, you need to define "Entry", "SL", and "TP". "Setup" is a string parameter.
"Frequency" : This string parameter defines the announcement frequency. Choices include: "All" (activates the alert every time the function is called), "Once Per Bar" (activates the alert only on the first call within the bar), and "Once Per Bar Close" (the alert is activated only by a call at the last script execution of the real-time bar upon closing). The default setting is "Once per Bar".
Frequency = input.string('Once Per Bar', 'Message Frequency', , 'The triggering frequency. Possible values are: All (all function calls trigger the alert), Once Per Bar (the first function call during the bar triggers the alert), Per Bar Close (the function call triggers the alert only when it occurs during the last script iteration of the real-time bar, when it closes). The default is alert.freq_once_per_bar.', group = 'Alert')
"UTC" : With this parameter, you can set the Time Zone for the date and time of the alert's dispatch. "UTC" is a string parameter and can be set as "UTC-4", "UTC+1", "UTC+9", or any other Time Zone.
UTC = input.string('UTC', 'Show Alert time by Time Zone', group = 'Alert')
"MoreInfo" : This parameter can take one of two inputs, "On" or "Off", which are strings. Additional information, including "Time" and "Key Price", is included. If set to "On", this information is received; if "Off", it is not displayed in the sent message.
MoreInfo = input.string('On', 'Display More Info', , group = 'Alert')
"Message" : This parameter captures the user's personal message through an input and displays it at the end of the sent message. It is a string input.
MessageBull = input.text_area('Long Position', 'Long Signal Message', group = 'Alert') MessageBear = input.text_area('Short Position', 'Short Signal Message', group = 'Alert')
"o" (Open Price): A floating-point number representing the opening price of the candle. This input is necessary when the "DetectionType" is set to "Signal". Otherwise, it can be any number or "na".
"h" (High Price): A float variable for the highest price of the candle. Required when "DetectionType" is "Signal"; in other cases, any number or "na" is acceptable.
"l" (Low Price): A float representing the lowest price of the candle. This field must be filled if "DetectionType" is "Signal". If not, it can be any number or "na".
"c" (Close Price): A floating-point variable indicating the closing price of the candle. Needed for "Signal" type detections; otherwise, it can take any value or "na".
"Entry" : A float variable indicating the entry price into a trading setup. This is relevant when "DetectionType" is in "Setup" mode. In other scenarios, it can be any number or "na". It denotes the price at which the trade setup is entered.
"TP" (Take Profit): A float that is necessary when "DetectionType" is "Setup" and "SetupData" is "Full". Otherwise, it can be any number or "na". It signifies the price target for taking profits in a trading setup.
"SL" (Stop Loss): A float required when "DetectionType" is "Setup" and "SetupData" is "Full". It can be any number or "na" in other cases. This value represents the price at which a stop loss is set to limit losses.
"Distal" : A float important for "Order Block Signal" detection. It can be any number or "na" if not in use. This variable indicates the price reaching the distal line of an order block.
"Proximal" : A float needed for "Order Block Signal" detection mode. It can take any value or "na" otherwise. It marks the price reaching the proximal line of an order block.
STIC bullish and bearish hunter with FVGSmart Trading and Investment Companion (STIC) is a sophisticated tool designed to identify and visualize inducement, market structure, market trends, track liquidity, and project and forecast price action for all applicable assets. it has been tested to work on all timeframes and has been traded on stock, forex, and crypto assets.
This script is an upgraded version of previous STIC indicator, which you can use in addition to it or separately as you deem fit
Traders/ investor that are familiar with market structure, inducement, candlestick psychology, trend-following indicatorsand Fair Value Gap FVG will find it easy to adopt this trading and investment companion. As stated below, this is how it works.
Features and how to use
1st of all, after adding the indicator to yoursuperchart, you want to endusre to set your to so as to enable you see the text labeling clearly. to do that, after adding the indicator to your chart, right click it on the list, you will se the Visual order option.
Special Extreme Alert!
By analyzing the trends and dimensions, we are able to predict market extremes conditions, especially in pump and dump scenarios. (the bullish or bearish P/D extreme alerts).
Market flip arrow
The arrows trigger to indicate when the market flips to bullish (green) or bearish (red) conditions. note that this arrow is just a market flip confirmation and it it triggered by market trends, it does not come one time and sometimes later after market trigger conditions had been met.
circled in white.
Buy or sell potential {The tiny yelow(sell) and blue(buy) triangle}
By analyzing market extreme conditions, market sentiment, and liquidity, the buy/sell potential alert trigger is able to determine the state of the market, This can and should be used in combination with the market flip line (MFL) [the yellow line from , market flip trigger (MFT) (purple line), and market support/resistance line (MSR)(blue line) .
Market flip Line (Blue line) (MFL): the MFL is useful to also understand the market phase; a candle close above the MFL is bullish, while a candle close Below, the MFL is bearish. You are, however, expected to experience market retests and rejections coupled with support and resistance to follow through with the predicted direction. Patience is a valuable virtue in trading.
Extended sell or buy hunt (Red and Green Triangle)
this is real-time triangles indicator just like every other indicator on theis chart that indicates the market direction labeled with buy and sell. Note that the market-extended extreme can occur multiple times in the same direction. Hence, we'll advise having multiple trade entries.
The flip support line
Market Flip Trigger Line (MFTL) (Magenta): When the market crosses and closes below or above the Market Flip Trigger Line, you should wait for a confirmation. a confirmation is usually a retest or rejection of the line. A candle close and reject indicates the market as flip direction and it is going for a correction or major reversal. it is applicable on all timeframe.
As mentioned earlier, if you understand market structure and sentiment, using the uFVG, iFVG, upLQTY, downLQTY and BOS will be easy. however, this is how it works, you may need tohave and expanded readbout market structure for additional knowledge.
upLQTY (Bullish liquidity inducement)
The indicator appear at the close and confirmation on the 3rd candle and it is extended to only appear on 200 bars applicable on all timeframes.
This is a bullish sentiment and liquidty inducement order block that occurs, leading to the break of trend structure and change of character. Meaning the market sentiment as change which is backed up by liquidity in that region, which mostly gets filled, especially on lower timeframes before the price action continues. If price revese breaks and hold above this region, it invalidates the order block. This will always appear when there is a confirmed change of character CHoCH to the bullish side.
downLQTY (Bearish liquidity inducement) The indicator appear at the close and confirmation on the 3rd candle and it is extended to only appear on 200 bars applicable on all timeframes. It is and inverse of the upLQTY.
like order block, these are supply and demand zones that has the potential to change the direction of a trade. This is a bearish order block that occurs, leading to the break of structure and change of character. Meaning there is bearish liquidity yet to be accounted for in the region, which mostly gets filled, especially on lower timeframes before the price action continues. If broken, it invalidates the order block. This will always appear when there is a confirmed change of character from CHoCH to the bearish side.
Fair Value Gap
From general knowledge, FVG also know as Fair value gaps are inbalnace created by a 3 candlestick pattern where the top of the bottom candles doesn't cross the bottom of the top candle. like order block, these are supply and demand zones that has the potential to change the direction of a trade. This mostly indicate the presense of big plays in the market. for STIC indicator, FVG are labeled as listed below;
UFVG, also FVGup, {Colour green box} = bullish imbalance fair value gap
IFVG, aka FVGdown, {Red box} = bearish imbalance fair value gap
OIFVG, {Yellow box, no label} = other imbalances fair value gab
You should not that FG has upper, lower and middle band, any of the this area can be induced and filled by price.
Alert Conditions!
Buy alert conditions
- Any bullish buy alert
- Bullish hunt
- Re-entry Buy
- Sharp Market Sell rejection
- Buy potential
- upLQTY
Long position Exit conditions
- ExtremeB
- Profit
- Sell hunt
The Entry, exit and trail profit alert trigger should be used as position exit conditions either for a Long (Buy) or Short (Sell) situation and should be set as OPB (Once Per Bar). Using it as entry for exit or vice versa as shown not to be very profitable. hence the need to combine with other order entry alerts like the Any bullish or Bearish alerts
Sell alert conditions ( NOTE: All Sell alert are not yet included in this current version as this is targeted towards bullrun.)
- Sell potential
- Sell triangle (Sell hunt)
- downLQTY
and any trail profit alert, this alert put into consideration all the conditions required to trail profit.
Risk management advice
Patience and a good risk management strategy are required to be profitable trader using this tool. You need to ensure not to overleverage, and you should have multiple entries in case the buy coditions/alert shows again below the previous buy alert before a sell condition/alert occurs.
Alligator + Fractals + Divergent & Squat Bars + Signal AlertsThe indicator includes Williams Alligator, Williams Fractals, Divergent Bars, Market Facilitation Index, Highest and Lowest Bars, maximum and minimum peak of Awesome Oscillator, and signal alerts based on Bill Williams' Profitunity strategy.
MFI and Awesome Oscillator
According to the Market Facilitation Index Oscillator, the Squat bar is colored blue, all other bars are colored according to the Awesome Oscillator color, except for the Fake bars, colored with a lighter AO color. In the indicator settings, you can enable the display of "Green" bars (in the "Green Bars > Show" field). In the indicator style settings, you can disable changing the color of bars in accordance with the AO color (in the "AO bars" field), including changing the color for Fake bars (in the "Fake AO bars" field).
MFI is calculated using the formula: (high - low) / volume.
A Squat bar means that, compared to the previous bar, its MFI has decreased and at the same time its volume has increased, i.e. MFI < previous bar and volume > previous bar. A sign of a possible price reversal, so this is a particularly important signal.
A Fake bar is the opposite of a Squat bar and means that, compared to the previous bar, its MFI has increased and at the same time its volume has decreased, i.e. MFI > previous bar and volume < previous bar.
A "Green" bar means that, compared to the previous bar, its MFI has increased and at the same time its volume has increased, i.e. MFI > previous bar and volume > previous bar. A sign of trend continuation. But a more significant trend confirmation or warning of a possible reversal is the Awesome Oscillator, which measures market momentum by calculating the difference between the 5 Period and 34 Period Simple Moving Averages (SMA 5 - SMA 34) based on the midpoints of the bars (hl2). Therefore, by default, the "Green" bars and their opposite "Fade" bars are colored according to the color of the Awesome Oscillator.
According to Bill Williams' Profitunity strategy, using the Awesome Oscillator, the third Elliott wave is determined by the maximum peak of AO in the range from 100 to 140 bars. The presence of divergence between the maximum AO peak and the subsequent lower AO peak in this interval also warns of a possible correction, especially if the AO crosses the zero line between these AO peaks. Therefore, the chart additionally displays the prices of the highest and lowest bars, as well as the maximum or minimum peak of AO in the interval of 140 bars from the last bar. In the indicator settings, you can hide labels, lines, change the number of bars and any parameters for the AO indicator - method (SMA, Smoothed SMA, EMA and others), length, source (open, high, low, close, hl2 and others).
Bullish Divergent bar
🟢 A buy signal (Long) is a Bullish Divergent bar with a green circle displayed above it if such a bar simultaneously meets all of the following conditions:
The high of the bar is below all lines of the Alligator indicator.
The closing price of the bar is above its middle, i.e. close > (high + low) / 2.
The low of the bar is below the low of 2 previous bars or below the low of one previous bar, and the low of the second previous bar is a lower fractal (▼). By default, Divergent bars are not displayed, the low of which is lower than the low of only one previous bar and the low of the 2nd previous bar is not a lower fractal (▼), but you can enable the display of any Divergent bars in the indicator settings (by setting the value "no" in the " field Divergent Bars > Filtration").
The following conditions strengthen the Bullish Divergent bar signal:
The opening price of the bar, as well as the closing price, is higher than its middle, i.e. Open > (high + low) / 2.
The high of the bar is below all lines of the open Alligator indicator, i.e. the green line (Lips) is below the red line (Teeth) and the red line is below the blue line (Jaw). In this case, the color of the circle above the Bullish Divergent bar is dark green.
Squat Divergent bar.
The bar following the Bullish Divergent bar corresponds to the green color of the Awesome Oscillator.
Divergence on Awesome Oscillator.
Formation of the lower fractal (▼), in which the low of the Divergent bar is the peak of the fractal.
Bearish Divergent bar
🔴 A signal to sell (Short) is a Bearish Divergent bar under which a red circle is displayed if such a bar simultaneously meets all the following conditions:
The low of the bar is above all lines of the Alligator indicator.
The closing price of the bar is below its middle, i.e. close < (high + low) / 2.
The high of the bar is higher than the high of 2 previous bars or higher than the high of one previous bar, and the high of the second previous bar is an upper fractal (▲). By default, Divergent bars are not displayed, the high of which is higher than the high of only one previous bar and the high of the 2nd previous bar is not an upper fractal (▲), but you can enable the display of any Divergent bars in the indicator settings (by setting the value "no" in the " field Divergent Bars > Filtration").
The following conditions strengthen the Bearish Divergent bar signal:
The opening price of the bar, as well as the closing price, is below its middle, i.e. open < (high + low) / 2.
The low of the bar is above all lines of the open Alligator indicator, i.e. the green line (Lips) is above the red line (Teeth) and the red line is above the blue line (Jaw). In this case, the color of the circle under the Bearish Divergent bar is dark red.
Squat Divergent bar.
The bar following the Bearish Divergent bar corresponds to the red color of the Awesome Oscillator.
Divergence on Awesome Oscillator.
Formation of the upper fractal (▲), in which the high of the Divergent bar is the peak of the fractal.
Alligator lines crossing
Bars crossing the green line (Lips) of the open Alligator indicator is the first warning of a possible correction (price rollback) if one of the following conditions is met:
If the bar closed below the Lips line, which is above the Teeth line, and the Teeth line is above the Jaw line, while the closing price of the previous bar is above the Lips line.
If the bar closed above the Lips line, which is below the Teeth line, and the Teeth line is below the Jaw line, while the closing price of the previous bar is below the Lips line.
The intersection of all open Alligator lines by bars is a sign of a deep correction and a warning of a possible trend change.
Frequent intersection of Alligator lines with each other is a sign of a sideways trend (flat).
Signal Alerts
To receive notifications about signals when creating an alert, you must select the condition "Any alert() function is call", in which case notifications will arrive in the following format:
D — timeframe, for example: D, 4H, 15m.
🟢 BDB⎾ - a signal for a Bullish Divergent bar to buy (Long), triggers once after the bar closes and includes additional signals:
/// — if Alligator is open.
⏉ — if the opening price of the bar, as well as the closing price, is above its middle.
+ Squat 🔷 - Squat bar or + Green ↑ - "Green" bar or + Fake ↓ - Fake bar.
+ AO 🟩 - if after the Divergent bar closes, the oscillator color change for the next bar corresponds the green color of the Awesome Oscillator. ┴/┬ — AO above/below the zero line. ∇ — if there is divergence on AO in the interval of 140 bars from the last bar.
🔴 BDB⎿ - a signal for a Bearish Divergent bar to sell (Short), triggers once after the bar closes and includes additional signals:
/// — if Alligator is open.
⏊ — if the opening price of the bar, as well as the closing price, is below its middle.
+ Squat 🔷 - Squat bar or + Green ↑ - "Green" bar or + Fake ↓ - Fake bar.
+ AO 🟥 - if after the Divergent bar closes, the oscillator color change for the next bar corresponds to the red color of the Awesome Oscillator. ┴/┬ — AO above/below the zero line. ∇ — if there is divergence on AO in the interval of 140 bars from the last bar.
Alert for bars crossing the green line (Lips) of the open Alligator indicator (can be disabled in the indicator settings in the "Alligator > Enable crossing lips alerts" field):
🔴 Crossing Lips ↓ - if the bar closed below the Lips line, which is above than the other lines, while the closing price of the previous bar is above the Lips line.
🟢 Crossing Lips ↑ - if the bar closed above the Lips line, which is below the other lines, while the closing price of the previous bar is below the Lips line.
The fractal signal is triggered after the second bar closes, completing the formation of the fractal, if alerts about fractals are enabled in the indicator settings (the "Fractals > Enable alerts" field):
🟢 Fractal ▲ - upper (Bearish) fractal.
🔴 Fractal ▼ — lower (Bullish) fractal.
⚪️ Fractal ▲/▼ - both upper and lower fractal.
↳ (H=high - L=low) = difference.
If you redirect notifications to a webhook URL, for example, to a Telegram bot, then you need to set the notification template for the webhook in the indicator settings in the "Webhook > Message" field (contains a tooltip with an example), in which you just need to specify the text {{message}}, which will be automatically replaced with the alert text with a ticker and a link to TradingView.
‼️ A signal is not a call to action, but only a reason to analyze the chart to make a decision based on the rules of your strategy.
***
Индикатор включает в себя Williams Alligator, Williams Fractals, Дивергентные бары, Market Facilitation Index, самый высокий и самый низкий бары, максимальный и минимальный пик Awesome Oscillator, а также оповещения о сигналах на основе стратегии Profitunity Билла Вильямса.
MFI и Awesome Oscillator
В соответствии с осциллятором Market Facilitation Index Приседающий бар окрашен в синий цвет, все остальные бары окрашены в соответствии с цветом Awesome Oscillator, кроме Фальшивых баров, которые окрашены более светлым цветом AO. В настройках индикатора вы можете включить отображение "Зеленых" баров (в поле "Green Bars > Show"). В настройках стиля индикатора вы можете выключить изменение цвета баров в соответствии с цветом AO (в поле "AO bars"), в том числе изменить цвет для Фальшивых баров (в поле "Fake AO bars").
MFI рассчитывается по формуле: (high - low) / volume.
Приседающий бар означает, что по сравнению с предыдущим баром его MFI снизился и в тоже время вырос его объем, т.е. MFI < предыдущего бара и объем > предыдущего бара. Признак возможного разворота цены, поэтому это особенно важный сигнал.
Фальшивый бар является противоположностью Приседающему бару и означает, что по сравнению с предыдущим баром его MFI увеличился и в тоже время снизился его объем, т.е. MFI > предыдущего бара и объем < предыдущего бара.
"Зеленый" бар означает, что по сравнению с предыдущим баром его MFI увеличился и в тоже время вырос его объем, т.е. MFI > предыдущего бара и объем > предыдущего бара. Признак продолжения тренда. Но более значимым подтверждением тренда или предупреждением о возможном развороте является Awesome Oscillator, который измеряет движущую силу рынка путем вычисления разницы между 5 Периодной и 34 Периодной Простыми Скользящими Средними (SMA 5 - SMA 34) по средним точкам баров (hl2). Поэтому по умолчанию "Зеленые" бары и противоположные им "Увядающие" бары окрашены в соответствии с цветом Awesome Oscillator.
По стратегии Profitunity Билла Вильямса с помощью осциллятора Awesome Oscillator определяется третья волна Эллиота по максимальному пику AO в интервале от 100 до 140 баров. Наличие дивергенции между максимальным пиком AO и следующим за ним более низким пиком AO в этом интервале также предупреждает о возможной коррекции, особенно если AO переходит через нулевую линию между этими пиками AO. Поэтому на графике дополнительно отображаются цены самого высокого и самого низкого баров, а также максимальный или минимальный пик АО в интервале 140 баров от последнего бара. В настройках индикатора вы можете скрыть метки, линии, изменить количество баров и любые параметры для индикатора AO – метод (SMA, Smoothed SMA, EMA и другие), длину, источник (open, high, low, close, hl2 и другие).
Бычий Дивергентный бар
🟢 Сигналом на покупку (Long) является Бычий Дивергентный бар над которым отображается зеленый круг, если такой бар соответствует одновременно всем следующим условиям:
Максимум бара ниже всех линий индикатора Alligator.
Цена закрытия бара выше его середины, т.е. close > (high + low) / 2.
Минимум бара ниже минимума 2-х предыдущих баров или ниже минимума одного предыдущего бара, а минимум второго предыдущего бара является нижним фракталом (▼). По умолчанию не отображаются Дивергентные бары, минимум которых ниже минимума только одного предыдущего бара и минимум 2-го предыдущего бара не является нижним фракталом (▼), но вы можете включить отображение любых Дивергентных баров в настройках индикатора (установив значение "no" в поле "Divergent Bars > Filtration").
Усилением сигнала Бычьего Дивергентного бара являются следующие условия:
Цена открытия бара, как и цена закрытия, выше его середины, т.е. Open > (high + low) / 2.
Максимум бара ниже всех линий открытого индикатора Alligator, т.е. зеленая линия (Lips) ниже красной линии (Teeth) и красная линия ниже синей линии (Jaw). В этом случае цвет круга над Бычьим Дивергентным баром окрашен в темно-зеленый цвет.
Приседающий Дивергентный бар.
Бар, следующий за Бычьим Дивергентным баром, соответствует зеленому цвету Awesome Oscillator.
Дивергенция на Awesome Oscillator.
Образование нижнего фрактала (▼), у которого минимум Дивергентного бара является пиком фрактала.
Медвежий Дивергентный бар
🔴 Сигналом на продажу (Short) является Медвежий Дивергентный бар под которым отображается красный круг, если такой бар соответствует одновременно всем следующим условиям:
Минимум бара выше всех линий индикатора Alligator.
Цена закрытия бара ниже его середины, т.е. close < (high + low) / 2.
Максимум бара выше маскимума 2-х предыдущих баров или выше максимума одного предыдущего бара, а максимум второго предыдущего бара является верхним фракталом (▲). По умолчанию не отображаются Дивергентные бары, максимум которых выше максимума только одного предыдущего бара и максимум 2-го предыдущего бара не является верхним фракталом (▲), но вы можете включить отображение любых Дивергентных баров в настройках индикатора (установив значение "no" в поле "Divergent Bars > Filtration").
Усилением сигнала Медвежьего Дивергентного бара являются следующие условия:
Цена открытия бара, как и цена закрытия, ниже его середины, т.е. open < (high + low) / 2.
Минимум бара выше всех линий открытого индикатора Alligator, т.е. зеленая линия (Lips) выше красной линии (Teeth) и красная линия выше синей линии (Jaw). В этом случае цвет круга под Медвежьим Дивергентным Баром окрашен в темно-красный цвет.
Приседающий Дивергентный бар.
Бар, следующий за Медвежьим Дивергентным баром, соответствует красному цвету Awesome Oscillator.
Дивергенция на Awesome Oscillator.
Образование верхнего фрактала (▲), у которого максимум Дивергентного бара является пиком фрактала.
Пересечение линий Alligator
Пересечение барами зеленой линии (Lips) открытого индикатора Alligator является первым предупреждением о возможной коррекции (откате цены) при выполнении одного из следующих условий:
Если бар закрылся ниже линии Lips, которая выше линии Teeth, а линия Teeth выше линии Jaw, при этом цена закрытия предыдущего бара находится выше линии Lips.
Если бар закрылся выше линии Lips, которая ниже линии Teeth, а линия Teeth ниже линии Jaw, при этом цена закрытия предыдущего бара находится ниже линии Lips.
Пересечение барами всех линий открытого Alligator является признаком глубокой коррекции и предупреждением о возможной смене тренда.
Частое пересечение линий Alligator между собой является признаком бокового тренда (флэт).
Оповещения о сигналах
Для получения уведомлений о сигналах при создании оповещения необходимо выбрать условие "При любом вызове функции alert()", в таком случае уведомления будут приходить в следующем формате:
D — таймфрейм, например: D, 4H, 15m.
🟢 BDB⎾ — сигнал Бычьего Дивергентного бара на покупку (Long), срабатывает один раз после закрытия бара и включает дополнительные сигналы:
/// — если Alligator открыт.
⏉ — если цена открытия бара, как и цена закрытия, выше его середины.
+ Squat 🔷 — Приседающий бар или + Green ↑ — "Зеленый" бар или + Fake ↓ — Фальшивый бар.
+ AO 🟩 — если после закрытия Дивергентного бара, изменение цвета осциллятора для следующего бара соответствует зеленому цвету Awesome Oscillator. ┴/┬ — AO выше/ниже нулевой линии. ∇ — если есть дивергенция на AO в интервале 140 баров от последнего бара.
🔴 BDB⎿ — сигнал Медвежьего Дивергентного бара на продажу (Short), срабатывает один раз после закрытия бара и включает дополнительные сигналы:
/// — если Alligator открыт.
⏊ — если цена открытия бара, как и цена закрытия, ниже его середины.
+ Squat 🔷 — Приседающий бар или + Green ↑ — "Зеленый" бар или + Fake ↓ — Фальшивый бар.
+ AO 🟥 — если после закрытия Дивергентного бара, изменение цвета осциллятора для следующего бара соответствует красному цвету Awesome Oscillator. ┴/┬ — AO выше/ниже нулевой линии. ∇ — если есть дивергенция на AO в интервале 140 баров от последнего бара.
Сигнал пересечения барами зеленой линии (Lips) открытого индикатора Alligator (можно отключить в настройках индикатора в поле "Alligator > Enable crossing lips alerts"):
🔴 Crossing Lips ↓ — если бар закрылся ниже линии Lips, которая выше остальных линий, при этом цена закрытия предыдущего бара находится выше линии Lips.
🟢 Crossing Lips ↑ — если бар закрылся выше линии Lips, которая ниже остальных линий, при этом цена закрытия предыдущего бара находится ниже линии Lips.
Сигнал фрактала срабатывает после закрытия второго бара, завершающего формирование фрактала, если оповещения о фракталах включены в настройках индикатора (поле "Fractals > Enable alerts"):
🟢 Fractal ▲ — верхний (Медвежий) фрактал.
🔴 Fractal ▼ — нижний (Бычий) фрактал.
⚪️ Fractal ▲/▼ — одновременно верхний и нижний фрактал.
↳ (H=high - L=low) = разница.
Если вы перенаправляете оповещения на URL вебхука, например, в бота Telegram, то вам необходимо установить шаблон оповещения для вебхука в настройках индикатора в поле "Webhook > Message" (содержит подсказку с примером), в котором в качестве текста сообщения достаточно указать текст {{message}}, который будет автоматически заменен на текст оповещения с тикером и ссылкой на TradingView.
‼️ Сигнал — это не призыв к действию, а лишь повод проанализировать график для принятия решения на основе правил вашей стратегии.
Smart DCA StrategyINSPIRATION
While Dollar Cost Averaging (DCA) is a popular and stress-free investment approach, I noticed an opportunity for enhancement. Standard DCA involves buying consistently, regardless of market conditions, which can sometimes mean missing out on optimal investment opportunities. This led me to develop the Smart DCA Strategy – a 'set and forget' method like traditional DCA, but with an intelligent twist to boost its effectiveness.
The goal was to build something more profitable than a standard DCA strategy so it was equally important that this indicator could backtest its own results in an A/B test manner against the regular DCA strategy.
WHY IS IT SMART?
The key to this strategy is its dynamic approach: buying aggressively when the market shows signs of being oversold, and sitting on the sidelines when it's not. This approach aims to optimize entry points, enhancing the potential for better returns while maintaining the simplicity and low stress of DCA.
WHAT THIS STRATEGY IS, AND IS NOT
This is an investment style strategy. It is designed to improve upon the common standard DCA investment strategy. It is therefore NOT a day trading strategy. Feel free to experiment with various timeframes, but it was designed to be used on a daily timeframe and that's how I recommend it to be used.
You may also go months without any buy signals during bull markets, but remember that is exactly the point of the strategy - to keep your buying power on the sidelines until the markets have significantly pulled back. You need to be patient and trust in the historical backtesting you have performed.
HOW IT WORKS
The Smart DCA Strategy leverages a creative approach to using Moving Averages to identify the most opportune moments to buy. A trigger occurs when a daily candle, in its entirety including the high wick, closes below the threshold line or box plotted on the chart. The indicator is designed to facilitate both backtesting and live trading.
HOW TO USE
Settings:
The input parameters for tuning have been intentionally simplified in an effort to prevent users falling into the overfitting trap.
The main control is the Buying strictness scale setting. Setting this to a lower value will provide more buying days (less strict) while higher values mean less buying days (more strict). In my testing I've found level 9 to provide good all round results.
Validation days is a setting to prevent triggering entries until the asset has spent a given number of days (candles) in the overbought state. Increasing this makes entries stricter. I've found 0 to give the best results across most assets.
In the backtest settings you can also configure how much to buy for each day an entry triggers. Blind buy size is the amount you would buy every day in a standard DCA strategy. Smart buy size is the amount you would buy each day a Smart DCA entry is triggered.
You can also experiment with backtesting your strategy over different historical datasets by using the Start date and End date settings. The results table will not calculate for any trades outside what you've set in the date range settings.
Backtesting:
When backtesting you should use the results table on the top right to tune and optimise the results of your strategy. As with all backtests, be careful to avoid overfitting the parameters. It's better to have a setup which works well across many currencies and historical periods than a setup which is excellent on one dataset but bad on most others. This gives a much higher probability that it will be effective when you move to live trading.
The results table provides a clear visual representation as to which strategy, standard or smart, is more profitable for the given dataset. You will notice the columns are dynamically coloured red and green. Their colour changes based on which strategy is more profitable in the A/B style backtest - green wins, red loses. The key metrics to focus on are GOA (Gain on Account) and Avg Cost .
Live Trading:
After you've finished backtesting you can proceed with configuring your alerts for live trading.
But first, you need to estimate the amount you should buy on each Smart DCA entry. We can use the Total invested row in the results table to calculate this. Assuming we're looking to trade on BITSTAMP:BTCUSD
Decide how much USD you would spend each day to buy BTC if you were using a standard DCA strategy. Lets say that is $5 per day
Enter that USD amount in the Blind buy size settings box
Check the Blind Buy column in the results table. If we set the backtest date range to the last 10 years, we would expect the amount spent on blind buys over 10 years to be $18,250 given $5 each day
Next we need to tweak the value of the Smart buy size parameter in setting to get it as close as we can to the Total Invested amount for Blind Buy
By following this approach it means we will invest roughly the same amount into our Smart DCA strategy as we would have into a standard DCA strategy over any given time period.
After you have calculated the Smart buy size , you can go ahead and set up alerts on Smart DCA buy triggers.
BOT AUTOMATION
In an effort to maintain the 'set and forget' stress-free benefits of a standard DCA strategy, I have set my personal Smart DCA Strategy up to be automated. The bot runs on AWS and I have a fully functional project for the bot on my GitHub account. Just reach out if you would like me to point you towards it. You can also hook this into any other 3rd party trade automation system of your choice using the pre-configured alerts within the indicator.
PLANNED FUTURE DEVELOPMENTS
Currently this is purely an accumulation strategy. It does not have any sell signals right now but I have ideas on how I will build upon it to incorporate an algorithm for selling. The strategy should gradually offload profits in bull markets which generates more USD which gives more buying power to rinse and repeat the same process in the next cycle only with a bigger starting capital. Watch this space!
MARKETS
Crypto:
This strategy has been specifically built to work on the crypto markets. It has been developed, backtested and tuned against crypto markets and I personally only run it on crypto markets to accumulate more of the coins I believe in for the long term. In the section below I will provide some backtest results from some of the top crypto assets.
Stocks:
I've found it is generally more profitable than a standard DCA strategy on the majority of stocks, however the results proved to be a lot more impressive on crypto. This is mainly due to the volatility and cycles found in crypto markets. The strategy makes its profits from capitalising on pullbacks in price. Good stocks on the other hand tend to move up and to the right with less significant pullbacks, therefore giving this strategy less opportunity to flourish.
Forex:
As this is an accumulation style investment strategy, I do not recommend that you use it to trade Forex.
STRATEGY IN ACTION
Here you see the indicator running on the BITSTAMP:BTCUSD pair. You can read the indicator as follows:
Vertical green bands on historical candles represents where buy signals triggered in the past
Table on the top right represents the results of the A/B backtest against a standard DCA strategy
Green Smart Buy column shows that Smart DCA was more profitable than standard DCA on this backtest. That is shown by the percentage GOA (Gain on Account) and the Avg Cost
Smart Buy Zone label marks the threshold which the entire candle must be below to trigger a buy signal (line can be changed to a box under plotting settings)
Green color of Smart Buy Zone label represents that the open candle is still valid for a buy signal. A signal will only be generated if the candle closes while this label is still green
Below is the same BITSTAMP:BTCUSD chart a couple of days later. Notice how the threshold has been broken and the Smart Buy Zone label has turned from green to red. No buy signal can be triggered for this day - even if the candle retraced and closed below the threshold before daily candle close.
Notice how the green vertical bands tend to be present after significant pullbacks in price. This is the reason the strategy works! Below is the same BITSTAMP:BTCUSD chart, but this time zoomed out to present a clearer picture of the times it would invest vs times it would sit out of the market. You will notice it invests heavily in bear markets and significant pullbacks, and does not buy anything during bull markets.
Finally, to visually demonstrate the indicator on an asset other than BTC, here is an example on CRYPTO:ETHUSD . In this case the current daily high has not touched the threshold so it is still possible for this to be a valid buy trigger on daily candle close. The vertical green band will not print until the buy trigger is confirmed.
BACKTEST RESULTS
Now for some backtest results to demonstrate the improved performance over a standard DCA strategy using all non-stablecoin assets in the top 30 cryptos by marketcap.
I've used the TradingView ticker (exchange name denoted as CRYPTO in the symbol search) for every symbol tested with the exception of BTCUSD because there was some dodgy data at the beginning of the TradingView BTCUSD chart which overinflated the effectiveness of the Smart DCA strategy on that ticker. For BTCUSD I've used the BITSTAMP exchange data. The symbol links below will take you to the correct chart and exchange used for the test.
I'm using the GOA (Gain on Account) values to present how each strategy performed.
The value on the left side is the standard DCA result and the right is the Smart DCA result.
✅ means Smart DCA strategy outperformed the standard DCA strategy
❌ means standard DCA strategy outperformed the Smart DCA strategy
To avoid overfitting, and to prove that this strategy does not suffer from overfitting, I've used the exact same input parameters for every symbol tested below. The settings used in these backtests are:
Buying strictness scale: 9
Validation days: 0
You can absolutely tweak the values per symbol to further improve the results of each, however I think using identical settings on every pair tested demonstrates a higher likelihood that the results will be similar in the live markets.
I'm presenting results for two time periods:
First price data available for trading pair -> closing candle on Friday 26th Jan 2024 (ALL TIME)
Opening candle on Sunday 1st Jan 2023 -> closing candle on Friday 26th Jan 2024 (JAN 2023 -> JAN 2024)
ALL TIME:
BITSTAMP:BTCUSD 80,884% / 133,582% ✅
CRYPTO:ETHUSD 17,231% / 36,146% ✅
CRYPTO:BNBUSD 5,314% / 2,702% ❌
CRYPTO:SOLUSD 1,745% / 1,171% ❌
CRYPTO:XRPUSD 2,585% / 4,544% ✅
CRYPTO:ADAUSD 338% / 353% ✅
CRYPTO:AVAXUSD 130% / 160% ✅
CRYPTO:DOGEUSD 13,690% / 16,432% ✅
CRYPTO:TRXUSD 414% / 466% ✅
CRYPTO:DOTUSD -16% / -7% ✅
CRYPTO:LINKUSD 1,161% / 2,164% ✅
CRYPTO:TONUSD 25% / 47% ✅
CRYPTO:MATICUSD 1,769% / 1,587% ❌
CRYPTO:ICPUSD 70% / 50% ❌
CRYPTO:SHIBUSD -20% / -19% ✅
CRYPTO:LTCUSD 486% / 718% ✅
CRYPTO:BCHUSD -4% / 3% ✅
CRYPTO:LEOUSD 102% / 151% ✅
CRYPTO:ATOMUSD 46% / 91% ✅
CRYPTO:UNIUSD -16% / 1% ✅
CRYPTO:ETCUSD 283% / 414% ✅
CRYPTO:OKBUSD 1,286% / 1,935% ✅
CRYPTO:XLMUSD 1,471% / 1,592% ✅
CRYPTO:INJUSD 830% / 1,035% ✅
CRYPTO:OPUSD 138% / 195% ✅
CRYPTO:NEARUSD 23% / 44% ✅
Backtest result analysis:
Assuming we have an initial investment amount of $10,000 spread evenly across each asset since the creation of each asset, it would have provided the following results.
Standard DCA Strategy results:
Average percent return: 4,998.65%
Profit: $499,865
Closing balance: $509,865
Smart DCA Strategy results:
Average percent return: 7,906.03%
Profit: $790,603
Closing balance: $800,603
JAN 2023 -> JAN 2024:
BITSTAMP:BTCUSD 47% / 66% ✅
CRYPTO:ETHUSD 26% / 33% ✅
CRYPTO:BNBUSD 15% / 17% ✅
CRYPTO:SOLUSD 272% / 394% ✅
CRYPTO:XRPUSD 7% / 12% ✅
CRYPTO:ADAUSD 43% / 59% ✅
CRYPTO:AVAXUSD 116% / 151% ✅
CRYPTO:DOGEUSD 8% / 14% ✅
CRYPTO:TRXUSD 48% / 65% ✅
CRYPTO:DOTUSD 24% / 35% ✅
CRYPTO:LINKUSD 83% / 124% ✅
CRYPTO:TONUSD 7% / 21% ✅
CRYPTO:MATICUSD -3% / 7% ✅
CRYPTO:ICPUSD 161% / 196% ✅
CRYPTO:SHIBUSD 1% / 8% ✅
CRYPTO:LTCUSD -15% / -7% ✅
CRYPTO:BCHUSD 47% / 68% ✅
CRYPTO:LEOUSD 9% / 11% ✅
CRYPTO:ATOMUSD 1% / 15% ✅
CRYPTO:UNIUSD 9% / 23% ✅
CRYPTO:ETCUSD 27% / 40% ✅
CRYPTO:OKBUSD 21% / 30% ✅
CRYPTO:XLMUSD 11% / 19% ✅
CRYPTO:INJUSD 477% / 446% ❌
CRYPTO:OPUSD 77% / 91% ✅
CRYPTO:NEARUSD 78% / 95% ✅
Backtest result analysis:
Assuming we have an initial investment amount of $10,000 spread evenly across each asset for the duration of 2023, it would have provided the following results.
Standard DCA Strategy results:
Average percent return: 61.42%
Profit: $6,142
Closing balance: $16,142
Smart DCA Strategy results:
Average percent return: 78.19%
Profit: $7,819
Closing balance: $17,819
QQE MOD + SSL Hybrid + Waddah Attar Explosion IndicatorINDICATOR PURPOSE
This indicator is designed to complement my original QQE MOD + SSL Hybrid + Waddah Attar Explosion strategy.
Multiple users have requested that I convert the strategy to an indicator because alertconditions do not work on strategies and people want to specific set alerts for BUY, SELL, CLOSE BUY and CLOSE SELL. This can only be achieved using alertcondition().
This indicator functions in the exact same way as the strategy, but it doesn't have any backtesting functionality. I recomment that you use the original QQE MOD + SSL Hybrid + Waddah Attar Explosion strategy for parameter tuning and backtesting, then if you need more control on alerts you can use this indicator for that purpose.
Only other difference is that I have added grey exit labels on the chart since it's not obvious where the exits would happen like it was in the strategy version.
CREDITS
QQE MOD byMihkel00
SSL Hybrid by Mihkel00
Waddah Attar Explosion by shayankm
Overbought / Oversold Screener## Introduction
**The Versatile RSI and Stochastic Multi-Symbol Screener**
**Unlock a wealth of trading opportunities with this customizable screener, designed to pinpoint potential overbought and oversold conditions across 17 symbols, with alert support!**
## Description
This screener is suitable for tracking multiple instruments continuously.
With the screener, you can see the instant RSI or Stochastic values of the instruments you are tracking, and easily catch the moments when they are overbought / oversold according to your settings.
The purpose of the screener is to facilitate the continuous tracking of multiple instruments. The user can track up to 17 different instruments in different time intervals. If they wish, they can set an alarm and learn overbought oversold according to the values they set for the time interval of the instruments they are tracking.**
Key Features:
Comprehensive Analysis:
Monitors RSI and Stochastic values for 17 symbols simultaneously.
Automatically includes the current chart's symbol for seamless integration.
Supports multiple timeframes to uncover trends across different time horizons.
Personalized Insights:
Adjust overbought and oversold thresholds to align with your trading strategy.
Sort results by symbol, RSI, or Stochastic values to prioritize your analysis.
Choose between Automatic, Dark, or Light mode for optimal viewing comfort.
Dynamic Visual Cues:
Instantly highlights oversold and overbought symbols based on threshold levels.
Timely Alerts:
Stay informed of potential trading opportunities with alerts for multiple oversold or overbought symbols.
## Settings
### Display
**Timeframe**
The screener displays the values according to the selected timeframe. The default timeframe is "Chart". For example, if the timeframe is set to "15m" here, the screener will show the RSI and stochastic values for the 15-minute chart.
** Theme **
This setting is for changing the theme of the screener. You can set the theme to "Automatic", "Dark", or "Light", with "Automatic" being the default value. When the "Automatic" theme is selected, the screener appearance will also be automatically updated when you enable or disable dark mode from the TradingView settings.
** Position **
This option is for setting the position of the table on the chart. The default setting is "middle right". The available options are (top, middle, bottom)-(left, center, right).
** Sort By **
This option is for changing the sorting order of the table. The default setting is "RSI Descending". The available options are (Symbol, RSI, Stoch)-(Ascending, Descending).
It is important to note that the overbought and oversold coloring of the symbols may also change when the sorting order is changed. If RSI is selected as the sorting order, the symbols will be colored according to the overbought and oversold threshold values specified for RSI. Similarly, if Stoch is selected as the sorting order, the symbols will be colored according to the overbought and oversold threshold values specified for Stoch.
From this perspective, you can also think of the sorting order as a change in the main indicator.
### RSI / Stochastic
This area is for selecting the parameters of the RSI and stochastic indicators. You can adjust the values for "length", "overbought", and "oversold" for both indicators according to your needs. The screener will perform all RSI and stochastic calculations according to these settings. All coloring in the table will also be according to the overbought and oversold values in these settings.
### Symbols
The symbols to be tracked in the table are selected from here. Up to 16 symbols can be selected from here. Since the symbol in the chart is automatically added to the table, there will always be at least 1 symbol in the table. Note that the symbol in the chart is shown in the table with "(C)". For example, if SPX is open in the chart, it is shown as SPX(C) in the table.
## Alerts
The screener is capable of notifying you with an alarm if multiple symbols are overbought or oversold according to the values you specify along with the desired timeframe. This way, you can instantly learn if multiple symbols are overbought or oversold with one alarm, saving you time.
DiscordWebhooksLibrary🚀 Introduction
Welcome to the TradingView PineScript Library for Discord Webhook Integration! This library is designed for traders and developers who use TradingView for technical analysis and want to integrate their trading strategies with Discord notifications.
Key Features:
* Embed Creation: Easily create rich and informative embeds for your Discord messages, allowing you to send detailed trading alerts and summaries.
* Flexible Webhook Formatting: Customize your Discord messages with options for usernames, avatars, and text content, providing a personalized touch to your notifications.
* Simple Integration: Designed with simplicity in mind, this library can be integrated into your existing Pine Script trading strategies without extensive coding knowledge.
* Real-time Alerts: Utilize TradingView's alert system to send real-time trade signals and market updates to your Discord server.
Compatibility:
This library is compatible with TradingView's Pine Script version 5.
🍃 Code Snippets and Usage Examples
The following examples demonstrate how to use the Discord Webhook Integration Library in your TradingView Pine Scripts. These snippets cover various scenarios, showcasing the flexibility and utility of the library.
Example 1: Simple Alert with Markdown in Embed Description
embedDesc = "This is a **bold** and _italic_ alert message with a (replace_with_your_link)"
embedJson = createEmbedJSON("Simple Alert", embedDesc, 12345)
content = discordWebhookJSON("Alert from Captain Hook", "Captain Hook", na, embedJson)
Example 2: Multiple Embeds with Different Markdown Styles
embedDesc1 = "First alert with **bold** text"
embedDesc2 = "Second alert with _italic_ text"
embedDesc3 = "Third alert with ~~strikethrough~~"
embedJson1 = createEmbedJSON("Alert 1", embedDesc1, 654321)
embedJson2 = createEmbedJSON("Alert 2", embedDesc2, 123456)
embedJson3 = createEmbedJSON("Alert 3", embedDesc3, 111111)
embeds = embedJson1 + "," + embedJson2 + "," + embedJson3
content = discordWebhookJSON("Multiple Alerts", "Captain Hook", na, embeds)
Example 3: Complex Alert with Full Markdown Usage in Embed
embedDesc = "Alert: **Price Breakout!** " +
"*Symbol*: " + syminfo.ticker + " " +
"*Price*: $" + str.tostring(close) + " " +
" (replace_with_your_link)"
embedJson = createEmbedJSON("Complex Alert", embedDesc, 16711680) // Red color
content = discordWebhookJSON("Complex Alert", "Captain Hook", na, embedJson)
Example 4: Advanced Technical Analysis Alert
rsiValue = ta.rsi(close, 14)
= ta.macd(close, 12, 26, 9)
taMessage = "RSI: " + str.tostring(rsiValue) + " MACD: " + str.tostring(macdLine)
embedJson = createEmbedJSON("Technical Analysis Update", taMessage, 255) // Blue color
content = discordWebhookJSON("TA Alert", "Captain Hook", na, embedJson)
Example 5: Market Summary with Multiple Fields
counterTrend = "Your counter trend criterias"
counterTrendEmbed = createEmbedJSON(title = "Counter Trend", description = counterTrend, color = 15258703)
redFlags = "Your red flag criterias"
redFlagsEmbed = createEmbedJSON(title = "Red Flags", description = redFlags, color = 15229263)
embeds = counterTrendEmbed + "," + redFlagsEmbed
content = discordWebhookJSON(contentText = "Example of how a market analysis could look like", username = "Captain Hook", embeds = embeds)
🚨 Error Handling
Use Escape Characters Correctly: In message strings, remember to use for new lines instead of . This ensures that the newline character is correctly interpreted in the JSON format.
It can be helpful to plot the json on the last candle
if barstate.islast
label.new(bar_index, high, text=debugMessage, color=color.red, textcolor=color.white, yloc=yloc.abovebar)
🔥 FAQs
Q1: Can I send alerts for multiple conditions?
A: Yes, you can configure multiple conditions in your script. Use separate if statements for each condition and call the discordWebhookJSON function with the relevant message for each alert.
Q2: Why is my alert not triggering?
A: Ensure your alert conditions are correct and that you've properly set up the webhook in both your script and TradingView's alert configuration. Also, check for any syntax errors in your script.
Q3: How many alerts can I send to Discord?
A: While TradingView doesn't limit the number of alerts, Discord has rate limits for webhooks. Be mindful of these limits to avoid your webhook being temporarily blocked.
Q4: Can I customize the appearance of my Discord messages?
A: Yes, the createEmbedJSON function allows you to customize your messages with titles, descriptions, colors, and more. Experiment with different parameters to achieve the desired appearance.
Q5: Is it possible to include real-time data in alerts?
A: Yes, your script can include real-time price data, indicator values, or any other real-time data available in Pine Script.
Q6: How can I contribute to the library or suggest improvements?
A: You can provide feedback, suggest improvements, or contribute to the library's development through the community channels or contact points provided in the "Support and Community" section.
formatTimeframe()
discordWebhookJSON(contentText, username, avatar_url, embeds)
Constructs a JSON string for a Discord webhook message. This string includes optional fields for content, username, avatar URL, and embeds.
Parameters:
contentText (string) : (string, optional): The main text content of the webhook message. Default is 'na'.
username (string) : (string, optional): Overrides the default username of the webhook. Default is 'na'.
avatar_url (string) : (string, optional): Overrides the default avatar URL of the webhook. Default is 'na'.
embeds (string) : (string, optional): A string containing one or more embed JSON objects. This should be formatted correctly as a JSON array. Default is 'na'.
createEmbedJSON(title, description, color, authorName, authorUrl, authorIconUrl, fields)
Creates a JSON string for a single embed object for a Discord webhook.
Parameters:
title (string) : (string, optional): The title of the embed. Default is 'na' (not applicable).
description (string) : (string, optional): The description text of the embed. Supports basic formatting. Default is 'na'.
color (int) : (int, optional): The color code of the embed, typically in decimal format. Default is 'na'.
authorName (string) : (string, optional): The name of the author to display in the embed. Default is 'na'.
authorUrl (string) : (string, optional): The URL linked to the author's name. Default is 'na'.
authorIconUrl (string) : (string, optional): The URL of the icon to display next to the author's name. Default is 'na'.
fields (string) : (string, optional): A string containing one or more field JSON objects. This should be formatted correctly as a JSON array. Default is 'na'. Note: Use the 'createEmbedFieldJSON' function to generate these JSON field strings before adding them to the array.
createEmbedFieldJSON(name, value, inline)
Creates a JSON string representing a single field object within an embed for a Discord webhook message.
Parameters:
name (string) : (string): The name of the field, acting as a title for the field content.
value (string) : (string): The value of the field, containing the actual text or information you want to display within the field.
inline (bool) : (bool, optional): A boolean flag indicating whether the field should be displayed inline with other fields. If set to true, the field will be displayed on the same line as the next field
❤️ Please, support the work with like & comment! ❤️
REMA CROSSOVER BY JUGNUThis indicator triggers alerts for long and short positions on DAILY TIME FRAME for SWING trades based on the conditions which described below. This script will generate alerts when the following conditions are met:
LONG POSITION:
RSI(14) above 50.
EMA(5) crosses above EMA(10).
Indicator Triangle Green below price bars
SHORT POSITION:
RSI(14) below 50.
EMA(5) crosses down EMA(10).
Indicator Triangle RED above price bars
This script plots green and red triangles below and above the price bars to indicate long and short alert conditions, respectively. It also triggers alerts when these conditions are met.
Crypto Spot/Futures Dominance Indicator with AlertsFutures/Spot Dominance Indicator:
Overview:
The futures/spot dominance indicator is a versatile tool used by traders and analysts to assess the relative strength or dominance of the futures market in relation to the spot (or cash) market for a specific asset. It offers insights into market sentiment, potential arbitrage opportunities, and risk management while incorporating the VWAP indicator for added context.
How It Works:
This indicator automatically detects and adapts to the futures symbol applied to the chart, simplifying the setup for traders. However, it still necessitates manual input of the corresponding spot pair to ensure accuracy.
Automatic Futures Symbol Detection: The indicator starts by automatically detecting the futures symbol on the trading chart, eliminating the need for manual configuration. This ensures that the indicator is applied to the correct futures contract.
Manual Spot Pair Entry: To provide a reliable reference point for the comparison, traders must manually input the corresponding spot symbol via the indicator's inputs. For instance, if the indicator detects the BTCUSDT.P futures symbol, traders would manually enter the BTCUSDT spot symbol.
Gathering Data: The indicator collects historical price data for both the detected futures contract and the manually specified spot symbol. This data includes open, high, low, and close prices, as well as trading volume.
VWAP Calculation: To gain a deeper understanding of price trends and market dynamics, the indicator calculates the VWAP (Volume Weighted Average Price) for both the futures and spot markets. The VWAP places more weight on prices with higher trading volume, offering a weighted average that reflects market consensus.
Premium/Discount Calculation: By subtracting the VWAP of the spot market from the VWAP of the futures market, the indicator quantifies the premium or discount of the futures price concerning the spot price. A positive value indicates a premium, while a negative value suggests a discount.
Plotting: The premium/discount value is displayed as a line on the chart, often alongside moving averages or other smoothing techniques for improved trend analysis.
Alerts: In addition to its analysis capabilities, this indicator now includes alerts to enhance your trading experience. It alerts you in the following scenarios:
Premium Above Average: Notifies you when the premium crosses above the average line.
Premium Below Average: Alerts you when the premium crosses below the average line.
Premium Above Zero: Provides an alert when the premium crosses above the zero line.
Premium Below Zero: Generates an alert when the premium crosses below the zero line.
Benefits of the Futures/Spot Dominance Indicator:
Sentiment Analysis: Traders use the indicator to assess market sentiment. A futures premium might signify bullish sentiment, while a discount could indicate bearish sentiment.
Arbitrage Opportunities: Identifying price discrepancies between futures and spot markets can help traders spot arbitrage opportunities, where they can profit from price differentials.
Risk Management: The indicator assists in evaluating risks associated with futures positions, helping traders manage their exposure effectively.
Trend Confirmation: When used in conjunction with other technical indicators, futures/spot dominance, along with VWAP, can provide additional confirmation of price trends.
Hedging: Investors and corporations use this tool to gauge the effectiveness of hedging strategies based on futures contracts.
Speculative Trading: Traders and investors use the indicator to inform speculative positions, aligning their trades with perceived market strength or weakness.
Insightful Analysis: Futures/spot dominance analysis, enriched by VWAP data, offers insights into market behavior during specific events or changes in economic conditions.
In summary, the futures/spot dominance indicator, with its integration of VWAP and automatic futures symbol detection, provides traders and investors with a comprehensive tool to assess market dynamics. It aids in sentiment analysis, risk management, and trend confirmation while offering potential arbitrage opportunities. The newly added alerts enhance the indicator's functionality, providing timely notifications of key market events. However, it relies on manual input of the corresponding spot pair to ensure precise comparisons between futures and spot markets. It should be used alongside other analysis techniques for a well-rounded view of the market.
[Pivots Consolidation Breakout Screener] with Alerts (TSO) This is a pivots consolidation screener indicator, with ability to choose up to 12 different symbols/instruments with alert to be notified when consolidation happens on either one with the new pivots formation (new R3(inner resistance) pivot formed below previous one and new S3(inner support) pivot formed above previous one). Once the alert on a certain symbol/instrument is received - there is an ability to set a Breakout alert for the consolidated symbol/instrument.
This is a very powerful strategy, which doesn't happen often, but when happens - it often causes big moves after a breakout!
NOTE: Every calculation is done on a confirmed closed candle bar state, so the indicator will never repaint!
===========================================================================
Explanation of all the Features/Inputs/Settings
---------------------------------------------------------------------------
>>> On the very top, please read the important NOTES/TIPs.
>>> Next section is where the desired symbols can be turned on/checked to be screened for consolidation - the selected/checked symbols at creation of a 'Any alert() function call' alert will alert on any of the selected/checked symbols. Also, once consolidation forms, until next pivots formation - it will show it on the "Consolidation Stats" table. Once alerted on a specific symbol for consolidation - manual alert - 'Consolidation BREAKOUT' - can be created (MUST be done on the actual symbol chart, Right-Click > Add Alert) to be notified when actual breakout takes place.
>>> Pivots Settings section is where a manual timeframe/length can be set for the pivots as by Default it uses "Daily" timeframe. So, if want to experiment with more signals, but less accurate - a smaller timeframe can be set for Pivots Timeframe with smaller chart timeframe.
>>> Final section is simply the "Consolidation Stats" table location.
===========================================================================
Adding Alerts in TradngView
---------------------------------------------------------------------------
1) Consolidation alert(s) for the selected/checked symbols
- Select/check/find the desired symbols/instruments (when selecting symbols, make sure - they are from correct BROKER/SOURCE as pricing may differ between different brokers, causing confusion (under 1 broker/source, the symbol will be consolidated, under another it will not...))
-Right-click anywhere on any TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Immediately below, change it to "alert() function calls only"
-Expiration: Open-ended (that may require higher tier TradingView account, otherwise the alert will need to be occasionally re-triggered)
-Alert name: Whatever you desire
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
* Once alert triggers, don't get confused, as it will show "Alert on SYMBOL", the SYMBOL will be where you created the major alert for all the symbols within the screener list! Within the alert, on the bottom, it will say: "EURUSD: Camarilla Pivots R3S3 Consolidation ALERT!" - this is where the correct symbol is for which the alert for consolidation was triggered!
---------------------------------------------------------------------------
2) Consolidation BREAKOUT alert(s)
-Right-click anywhere on any TradingView chart
-For the actual symbol (which got consolidated), open the chart (make sure timeframe is the same as with which "Consolidation alert(s)" were created prior), then Right-Click on the chart > Add Alert
-Click on Add alert
-Condition: Select this indicator by it’s name
-Immediately below, change it to "Consolidation BREAKOUT1"
-Expiration: Open-ended (that may require higher tier TradingView account, otherwise the alert will need to be occasionally re-triggered)
-Alert name: Whatever you desire
-Hit “Create”
* It will alert when a breakout occurs in any direction - once you open the chart for the symbol/instrument for which alert has occurred - you can immediately see into which direction the breakout occured, it will be marked on the chart with green/red triangle.
===========================================================================
If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, past performance is not necessarily indicative of future results, so please trade responsibly!)
BDL Range AlertAs soon as you call this indicator, it asks you to define the range. Select the bottom and the top of the range. Next, set your alarm. There are 3 alarm options:
1: Bottom of the range breakout
2: Top of the range breakout
3: Bottom or top of the range breakout
As soon as you close a candle outside the selected range, only then will the alarm be triggered.
Antares_messages_publicLibrary "Antares_messages_public"
This library add messages for yours strategy for use in Antares trading system for binance and bybit exchanges.
Данная библиотека позволяет формировать сообщения в алертах стратегий для Antares в более упрощенном для пользователя режиме, включая всплывающие подсказки и т.д.
set_leverage(token, market, ticker_id, leverage)
Set leverage for ticker on specified market.
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
leverage (float) : (float) leverage level. Устанавливаемое плечо.
Returns: 'Set leverage message'.
pause(time_pause)
Set pause in message. '::' -left and '::' -right included.
Parameters:
time_pause (int)
LongLimit(token, market, ticker_id, type_qty, quantity, price, orderId, leverageforqty)
Buy order with limit price and quantity.
Лимитный ордер на покупку(в лонг).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order. Цена по которой должен быть установлен лимитный ордер.
orderId (string) : (string) if use order id you may change or cancel your order after or set it ''. Используйте OrderId если хотите изменить или отменить ордер в будущем.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Limit Buy order'. Лимитный ордер на покупку (лонг).
LongMarket(token, market, ticker_id, type_qty, quantity, leverageforqty)
Market Buy order with quantity.
Рыночный ордер на покупку (в лонг).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
leverageforqty (int) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Market Buy order'. Маркетный ордер на покупку (лонг).
ShortLimit(token, market, ticker_id, type_qty, quantity, price, leverageforqty, orderId)
Sell order with limit price and quantity.
Лимитный ордер на продажу(в шорт).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order. Цена по которой должен быть установлен лимитный ордер.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
orderId (string) : (string) if use order id you may change or cancel your order after or set it ''. Используйте OrderId если хотите изменить или отменить ордер в будущем.
Returns: 'Limit Sell order'. Лимитный ордер на продажу (шорт).
ShortMarket(token, market, ticker_id, type_qty, quantity, leverageforqty)
Sell by market price and quantity.
Рыночный ордер на продажу(в шорт).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
leverageforqty (int) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Market Sell order'. Маркетный ордер на продажу (шорт).
Cancel_by_ticker(token, market, ticker_id)
Cancel all orders for market and ticker in setups. Отменяет все ордера на заданной бирже и заданном токене(паре).
Parameters:
token (string)
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
Returns: 'Cancel all orders'. Отмена всех ордеров на заданной бирже и заданном токене(паре).
Cancel_by_id(token, market, ticker_id, orderId)
Cancel order by Id for market and ticker in setups. Отменяет ордер по Id на заданной бирже и заданном токене(паре).
Parameters:
token (string)
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
orderId (string)
Returns: 'Cancel order'. Отмена ордера по Id на заданной бирже и заданном токене(паре).
Close_positions(token, market, ticker_id)
Close all positions for market and ticker in setups. Закрывает все позиции на заданной бирже и заданном токене(паре).
Parameters:
token (string)
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
Returns: 'Close positions'
CloseLongLimit(token, market, ticker_id, type_qty, quantity, price, orderId, leverageforqty)
Close limit order for long position. (futures)
Лимитный ордер на продажу(в шорт) для закрытия лонговой позиции(reduceonly).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order. Цена по которой должен быть установлен лимитный ордер.
orderId (string) : (string) if use order id you may change or cancel your order after or set it ''. Используйте OrderId если хотите изменить или отменить ордер в будущем.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Limit Sell order reduce only (close long position)'. Лимитный ордер на продажу для снижения текущего лонга(в шорт не входит).
CloseLongMarket(token, market, ticker_id, type_qty, quantity, leverageforqty)
Close market order for long position.
Рыночный ордер на продажу(в шорт) для закрытия лонговой позиции(reduceonly).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Market Sell order reduce only (close long position)'. Ордер на снижение/закрытие текущего лонга(в шорт не входит) по рыночной цене.
CloseShortLimit(token, market, ticker_id, type_qty, quantity, price, orderId, leverageforqty)
Close limit order for short position.
Лимитный ордер на покупку(в лонг) для закрытия шортовой позиции(reduceonly).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order. Цена по которой должен быть установлен лимитный ордер.
orderId (string) : (string) if use order id you may change or cancel your order after or set it ''. Используйте OrderId если хотите изменить или отменить ордер в будущем.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Limit Buy order reduce only (close short position)' . Лимитный ордер на покупку (лонг) для сокращения/закрытия текущего шорта.
CloseShortMarket(token, market, ticker_id, type_qty, quantity, leverageforqty)
Set Close limit order for long position.
Рыночный ордер на покупку(в лонг) для сокращения/закрытия шортовой позиции(reduceonly).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Market Buy order reduce only (close short position)'. Маркетного ордера на покупку (лонг) для сокращения/закрытия текущего шорта.
cancel_all_close(token, market, ticker_id)
Parameters:
token (string)
market (string)
ticker_id (string)
limit_tpsl_bybitfu(token, ticker_id, order_id, side, type_qty, quantity, price, tp_price, sl_price, leverageforqty)
Set multi order for Bybit : limit + takeprofit + stoploss
Выставление тройного ордера на Bybit лимитка со стоплоссом и тейкпрофитом
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
order_id (string)
side (bool) : (bool) "buy side" if true or "sell side" if false. true для лонга, false для шорта.
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order by 'side'. Цена лимитного ордера
tp_price (float) : (float) price for take profit order.
sl_price (float) : (float) price for stoploss order
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: Set multi order for Bybit : limit + takeprofit + stoploss.
replace_limit_tpsl_bybitfu(token, ticker_id, order_id, side, type_qty, quantity, price, tp_price, sl_price, leverageforqty)
Change multi order for Bybit : limit + takeprofit + stoploss
Изменение тройного ордера на Bybit лимитка со стоплоссом и тейкпрофитом
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
order_id (string)
side (bool) : (bool) "buy side" if true or "sell side" if false. true для лонга, false для шорта.
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size, see at 'type_qty'. Размер ордера, базы или % в соответствии с 'type_qty'
price (float) : (float) price for limit order by 'side'. Цена лимитного ордера
tp_price (float) : (float) price for take profit order.
sl_price (float) : (float) price for stoploss order
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: Set multi order for Bybit : limit + takeprofit + stoploss.
long_stop(token, market, ticker_id, type_qty, quantity, l_stop, leverageforqty)
Stop market order for long position
Рыночный стоп-ордер на продажу для закрытия лонговой позиции.
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size. Размер ордера.
l_stop (float) : (float) price for activation stop order. Цена активации стоп-ордера.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Stop Market Sell order (close long position)'. Маркетный стоп-ордер на снижения/закрытия текущего лонга.
short_stop(token, market, ticker_id, type_qty, quantity, s_stop, leverageforqty)
Stop market order for short position
Рыночный стоп-ордер на покупку(в лонг) для закрытия шорт позиции.
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size. Размер ордера.
s_stop (float) : (float) price for activation stop order. Цена активации стоп-ордера.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Stop Market Buy order (close short position)'. Маркетный стоп-ордер на снижения/закрытия текущего шорта.
change_stop_l(token, market, ticker_id, type_qty, quantity, l_stop, leverageforqty)
Change Stop market order for long position
Изменяем стоп-ордер на продажу(в шорт) для закрытия лонг позиции.
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size. Размер ордера.
l_stop (float) : (float) price for activation stop order. Цена активации стоп-ордера.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Change Stop Market Buy order (close long position)'. Смещает цену активации Маркетного стоп-ордер на снижения/закрытия текущего лонга.
change_stop_s(token, market, ticker_id, type_qty, quantity, s_stop, leverageforqty)
Change Stop market order for short position
Смещает цену активации Рыночного стоп-ордера на покупку(в лонг) для закрытия шорт позиции.
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string)
quantity (float) : (float) orders size. Размер ордера.
s_stop (float) : (float) price for activation stop order. Цена активации стоп-ордера.
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Change Stop Market Buy order (close short position)'. Смещает цену активации Маркетного стоп-ордер на снижения/закрытия текущего шорта.
open_long_position(token, market, ticker_id, type_qty, quantity, l_stop, leverageforqty)
Cancel and close all orders and positions by ticker , then open Long position by market price with stop order
Отменяет все лимитки и закрывает все позы по тикеру, затем открывает лонг по маркету с выставлением стопа (переворот позиции, при необходимости).
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size. Размер ордера.
l_stop (float) : (float). Price for activation stop loss. Цена активации стоп-лосса.
leverageforqty (int) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'command_all_close + LongMarket + long_stop.
open_short_position(token, market, ticker_id, type_qty, quantity, s_stop, leverageforqty)
Cancel and close all orders and positions , then open Short position by market price with stop order
Отменяет все лимитки и закрывает все позы по тикеру, затем открывает шорт по маркету с выставлением стопа(переворот позиции, при необходимости).
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) orders size. Размер ордера.
s_stop (float) : (float). Price for activation stop loss. Цена активации стоп-лосса.
leverageforqty (int) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'command_all_close + ShortMarket + short_stop'.
open_long_trade(token, market, ticker_id, type_qty, quantity, l_stop, qty_ex1, price_ex1, qty_ex2, price_ex2, qty_ex3, price_ex3, leverageforqty)
Cancell and close all orders and positions , then open Long position by market price with stop order and take 1 ,take 2, take 3
Отменяет все лимитки и закрывает все позы по тикеру, затем открывает лонг по маркету с выставлением стопа и 3 тейками (переворот позиции, при необходимости).
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
quantity (float) : (float) enter order size, see at type_qty. Размер ордера входа, согласно type_qty.
l_stop (float) : (float). Price for activation stop loss. Цена активации стоп-лосса.
qty_ex1 (float) : (float). Quantity for 1th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 1го тейка, согласно type_qty.. Если 0, то строка для этого тейка не формируется
price_ex1 (float) : (float). Price for 1th take , if = 0 string for order dont set. Цена лимитного ордера для 1го тейка. Если 0, то строка для этого тейка не формируется
qty_ex2 (float) : (float). Quantity for 2th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 2го тейка, согласно type_qty..Если 0, то строка для этого тейка не формируется
price_ex2 (float) : (float). Price for 2th take, if = 0 string for order dont set. Цена лимитного ордера для 2го тейка. Если 0, то строка для этого тейка не формируется
qty_ex3 (float) : (float). Quantity for 3th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 2го тейка, согласно type_qty..Если 0, то строка для этого тейка не формируется
price_ex3 (float) : (float). Price for 3th take, if = 0 string for order dont set. Цена лимитного ордера для 3го тейка. Если 0, то строка для этого тейка не формируется
leverageforqty (int)
Returns: 'cancel_all_close + LongMarket + long_stop + CloseLongLimit1 + CloseLongLimit2+CloseLongLimit3'.
open_short_trade(token, market, ticker_id, type_qty, quantity, s_stop, qty_ex1, price_ex1, qty_ex2, price_ex2, qty_ex3, price_ex3, leverageforqty)
Cancell and close all orders and positions , then open Short position by market price with stop order and take 1 and take 2
Отменяет все лимитки и закрывает все позы по тикеру, затем открывает шорт по маркету с выставлением стопа и 3 тейками (переворот позиции, при необходимости).
Parameters:
token (string)
market (string) : (string) 'binance' , 'binancefru' etc.. Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string)
quantity (float)
s_stop (float) : (float). Price for activation stop loss. Цена активации стоп-лосса.
qty_ex1 (float) : (float). Quantity for 1th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 1го тейка, согласно type_qty.. Если 0, то строка для этого тейка не формируется
price_ex1 (float) : (float). Price for 1th take , if = 0 string for order dont set. Цена лимитного ордера для 1го тейка. Если 0, то строка для этого тейка не формируется
qty_ex2 (float) : (float). Quantity for 2th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 2го тейка, согласно type_qty..Если 0, то строка для этого тейка не формируется
price_ex2 (float) : (float). Price for 2th take, if = 0 string for order dont set. Цена лимитного ордера для 2го тейка. Если 0, то строка для этого тейка не формируется
qty_ex3 (float) : (float). Quantity for 3th take see at type_qty, if = 0 string for order dont set. Размер лимитного ордера для 2го тейка, согласно type_qty..Если 0, то строка для этого тейка не формируется
price_ex3 (float) : (float). Price for 3th take, if = 0 string for order dont set. Цена лимитного ордера для 3го тейка. Если 0, то строка для этого тейка не формируется
leverageforqty (int)
Returns: 'command_all_close + ShortMarket + short_stop + CloseShortLimit + CloseShortLimit(2)'.
Multi_LongLimit(token, market, ticker_id, type_qty, qty1, price1, qty2, price2, qty3, price3, qty4, price4, qty5, price5, qty6, price6, qty7, price7, qty8, price8, leverageforqty)
8 or less Buy orders with limit price and quantity.
До 8 Лимитных ордеров на покупку(в лонг).
Parameters:
token (string) : (integer or 0) token for trade in system, if = 0 then token part mess is empty. Токен, При значениb = 0 не включается в формирование строки алерта.
market (string) : (string) Spot 'binance' , 'bybit' . Futures ('binancefru','binancefro','bybitfu', 'bybitfi'). Строковая переменная названия биржи.
ticker_id (string) : (string) ticker in market ('btcusdt', 'ethusdt' etc...). Строковая переменная названия тикера (пары).
type_qty (string) : (string) type of quantity: 1. 'qty' or '' or na - standart (in coins), 2. 'quqty'- in assets (usdt,btc,etc..), 3.open% - open position(futures) or buy (spot) in % of base 4. close% - close in % of position (futures) or sell (spot) coins in % for current quantity
qty1 (float)
price1 (float)
qty2 (float)
price2 (float)
qty3 (float)
price3 (float)
qty4 (float)
price4 (float)
qty5 (float)
price5 (float)
qty6 (float)
price6 (float)
qty7 (float)
price7 (float)
qty8 (float)
price8 (float)
leverageforqty (bool) : (bool) use leverage in qty. Использовать плечо при расчете количества или нет.
Returns: 'Limit Buy order'. Лимитный ордер на покупку (лонг).
AWD TRADE MANAGER (ATM) by ManhDNAWD TRADE MANAGER (ATM) is a position management tool including with some advanced features and entry suggestions. It helps you to do most of position calculations and position management, reduce time spent for charting by alerts.
There are 3 main things to describe about the manager:
(1) The original function of the manager is to help traders to manage their trades with automatic calculations of all factors of their trades with some of input values. For example, it will calculate the trade volume when you enter the bet size, entry and stop loss price. It calculates take profit price when you enter entry, stop loss prices and the risk/reward ratio, …
(2) Another function is the system of alerts. After set up a trade, create an alert and the manager will do the rest. It will send you an alert when the limit order got filled, got stopped out, take profit level hit, or even it reached a key level or an opposite/spike move just occurred…
(3) Entry suggestions: Suggest entries with price action strategies. Details bellow.
Features in details:
(1) Automatic calculations:
- Auto calculate trade volume based on entry, stop loss prices and the money users willing to lose when the trade is failed. Auto detect some type of assets and volume will be calculated in USD (for cryptocurrencies) or in lot (for forex).
- Auto calculate take profit price based on entry, stop loss prices and expected rr ratio.
-Auto suggest take profit price based on pivot points.
- Auto suggest stop loss price based on pivot points.
- You can enter several exit points with percentages and the manager will calculate the averaged risk reward ratio you earned after the last exit price reached.
- Quick entry price pick to reduce typing requirement.
- Quick trade set up: 2 checkboxes and 1 number entering to set up a trade.
(2) Alert system
After setting up a trade and creating an alert of the manager, it will follow the market and your order. It will send you alerts for all the events that you should follow up your position. These alerts can be sent to your pc, your phone and your smart watch, so even you are a full-time day trader, you will save your time for charting or managing your positions. Here’s the list of alerts:
- Sending alert when suggesting an entry with details calculated from preset inputs so you can just pick that info to enter the position including trading volume, entry, stop loss, take profit prices, timeframe, estimated risk-reward ratio …
- Sending alert when a limit order got filled and auto switch to position-managing-mode.
- Sending alert when a limit order in still staying unfilled but should be canceled (because of price reaching a key level or is running too far, …)
- Sending alert when the position got stopped out or TP hit.
- Sending alert when the running position reached a key level and need to be watched out.
- Sending alert when a spike move or opposite move just occurred.
- Sending alert when a position is taking too long to run.
- You can also set 3 levels of price with messages then ATM will send you alerts when price reaches those levels.
- When price runs, ATM might suggest you to move stop loss to levels based on pivot points by sending you alerts.
- Alert when a BOS occurred.
- Options to turn on/off each kind of alert.
(3) Entry suggestions.
The script included price action entry suggestions.
The 1st strategy is getting in a position when a candle pattern occurred and confirmed by MA20.
The 2nd strategy is detecting double top/bottom and a candle pattern confirm break out after that.
The 3rd strategy is a pullback strategy, in a trending market, a candle pattern occurs and confirms the pullback ends, it will suggest an entry.
All those strategies I am using by myself for a long period of time but to make sure they are good for your trading style, do your own research and backtest before use. Keep in mind to manage risk and be responsible to your capital.
User side modifications:
- Those price action strategies have some major arguments that users can tune themselves to make it meet their style or their needs like choosing method to suggest entries, refine entry quality by changing the confirmation methods,…
- Most of appearance factors can be changed by users.
- one-click to toggle between full features and simple mode.
TradingView Chart demo pictures:
Author's bio:
I have been a full-time day trader for 7 years. I like coding with Pinescript and I also developed some helpful indicators that provide unique aspects to approach markets and the most favorite one from that is Relative Volume Index (RVI) that will be introduced in near future.
Disclaimer:
This tool has been tested and been using for my own trading career for a long period of time but practicing to use it yourself to understand it and use it correctly is needed. All of the features have been carefully tested before publishing but make sure to double-check all the info you get from it before getting into a trade to avoid losing money by a sudden mistake or even a bug. Keep in mind you will need to take all the responsibility with your capital or any potential loss while using this tool.
If you get anything wrong while using it, please leave some comments bellow, all of your ideas or suggestions will be taken seriously.
Thank you in advance!
(It is not possible to explain all the settings or features within the description, If you have questions, please leave comment, I will answer to help you to get familiar with the tool.)
Divergence Indicator Screener [Trading Solutions]It's been a while since the last publication on the platform. We've been studying the charts and developing some interesting strategies and indicators, so we'll be posting some ideas in the near future.
Overview
This indicator allows you to find divergences between the price action and the classic RSI. It has the ability to anticipate trend changes.
Highs and Lows are determined using Pivot Points, wich can be adjusted in settings.
You can use this indicator to find two kind of divergences, Regular and Hidden:
Regular is when price makes a higher high, but the RSI makes a lower high
Hidden is when price makes a lower high, but the RSI makes a higher high
The opposite case for Bearish Divergence
The most important functionality of this indicator is that we can be alerted when a divergence occurs in different trading pairs, without the necessity of checking different charts at the same time, and seize opportunities offered by the market. You only have to go to Alerts Tab , click on Create Alert , select Divergence Indicator Screener and wait for the Notification in your favorite device.
You can choose any ticker to be plotted on chart and even add a new one.
Settings
To get everything started with this indicator, here are the different inputs:
RSI Settings: Period y Source
Pivot Point: Left and Right lookback bars
Filter Divergences: Regular and Hidden and max and min distance from the pivot points to consider a valid divergence
Draw table and Filter how much bars to look for a divergence in the past and plot it in the table: The fewer bars, less divergences shown
We hope you can take the most of this tool, and helps improve your day to day trading. Feel free to comment and make suggestions. We will be updating soon
Auto Trend Lines Breakouts and Bounces Signals and AlertsAuto Trend Lines Breakout with Confirmation Bounce Signals and Alerts
This indicator draws trend lines automatically based on the 2 pivot points, which are calculated based on the specified number of bars (length), which is of course customizable. The indicator then shows you when these trend lines get touched (potential bounce) or “almost touched” (Yes! The script can do that as well!) by the current price of the instrument or broken and then confirmed by the “after break come back touch” – classic! Everything is shown on the chart, and for everything - alarms can be set up with just a few clicks!
Now there are 2 modes here (you can hide all signals as well and just use the trend lines):
1) Current/recent trend lines only: will only show 2 current upper/lower trend lines as well as previous 2 for reference.
2) All time (historical) trend lines: will show 2 current upper/lower trend lines as well as the historical lines from the past and these lines are often very respected by the price!
Besides that, you can set the indicator to show you exactly what you want: Just the trend lines touches/bounces, breaks with confirmation touches/bounces or BOTH.
In addition to that, you can set the indicator to only show you these touches/bounces and breaks with additional confirmations, only if confirmed by :
- Moving Average (customizable length): LONG signals based off the trend lines will only be shown if above EMA, SHORT if below.
- Signals where the candle color confirms the direction of the trade, but the candle type is opposite (like a green colored bearish hammer for example) will be avoided (such candles can be very uncertain/deceptive)
- Signals where the signal candle is doji will be avoided (uncertain)
- Signals will only be shown if supported by the trend line slope (for example, with this feature turned on, if there is an upper line trend line, but the line is actually above, touching the top of the candles and the price touches/crosses it or it gets broken – there will be no signal as even though the trend line is an upper line above candles, it’s slope is positive (going up), if the slope would be down, like a classical down/bearish trend line and the price touches/bounces off it or the line gets broken, only then the indicator will show the signal/alert.
- OFFSET: this one is really cool! With this feature you can hunt these conditions when the price comes very near the trend line, but never touches it. With this setting turned on, with a correct offset amount – you will be able to catch these! You will need to play around with the offset amount, depending on the timeframe/instrument, be quick-n-easy!
The indicator also includes Round Number lines on the chart, which are customizable for any instrument. As you know round numbers are appreciated by the price and can be very nicely used with this indicator looking for combos or using trend lines for signals, while round numbers as partial profit price targets or stop-loss areas.
Important economic events are also shown on the chart as red vertical lines (during these events, volatility can suddenly spike, so it’s best to stay away from trading!)
This is a very powerful indicator with plenty of customizations to find the best approaches, can be used for any instrument and on any timeframe! Awesome for scalping and could be used with swing trading as well! Enjoy!
To add the alerts
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Auto Trend Lines Breakout with Confirmation Bounce Signals and Alerts
-Alert name: DO NOT TOUCH THIS
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
A few strategies how this indicator can be used (these were actually tested and showed awesome results!):
1) Bounce Scalping: Simply hunting bounces off the trend lines. Often the price will slightly cross the trend line and then immediately bounces from it for nice little price move, which is great for scalping or if you for example take 2/3s off the position and leave the remaining, often with such bounces – the price may reverse from the trend line and go in the opposite direction considerably.
2) Break-Bounce-Confirm: this is the “Breaks with Confirmation Bounce” option of the script which fully automates the classical trend lines break confirmation, where the trend line is broken (which could be a fake out), so you wait for a touch/bounce of that trend line back from the initial break and open the position right there or wait and see if after the touch/bounce back, the price once again goes into the direction of the break.
For stop-loss and take-profit areas, you can use:
1) Pivots (these are marked with red and green crosses on the chart), which are used to draw the actual trend lines.
2) The actual trend lines themselves (if one gets broken + confirmation, you can set your stop-loss if that same line gets broken again in the opposite direction | similar for take-profit, you can take profit or partial profit at next trend line on the chart if the price reaches it.
3) Use the Round Numbers included, for example: use the closest round number as a visual soft stop-loss and the furthest one away as a visual soft take-profit.
You can try combining this indicator with divergence, stochastic, Bollinger bands, pretty much anything!
If you wish to try this out for a week or so – please reach out and I will give you access.