SMA- Ashish SinghSMA
This script implements a Simple Moving Average (SMA) crossover strategy using three SMAs: 200-day, 50-day, and 20-day, with buy and sell signals triggered based on specific conditions involving these moving averages. The indicator is overlaid on the price chart, providing visual cues for potential buy and sell opportunities based on moving average crossovers.
Key Features:
Moving Averages:
The 200-day, 50-day, and 20-day SMAs are calculated and plotted on the price chart. These are key levels that traders use to assess trends.
The 200-day SMA represents the long-term trend, the 50-day SMA is used for medium-term trends, and the 20-day SMA is for short-term analysis.
Buy Signal:
A buy signal is triggered when the price is below all three moving averages (200 SMA, 50 SMA, 20 SMA) and the SMAs are in a specific downward trend (200 SMA > 50 SMA > 20 SMA). This is an indication of a potential upward reversal.
The buy signal is marked with a green triangle below the price bar.
Sell Signal:
A sell signal is triggered when the price is above all three moving averages and the SMAs are in a specific upward trend (200 SMA < 50 SMA < 20 SMA). This signals a potential downward reversal.
The sell signal is marked with a red triangle above the price bar.
Trade Information:
After a buy signal, the buy price, bar index, and timestamp are recorded. When a sell signal occurs, the percentage gain or loss is calculated along with the number of days between the buy and sell signals.
The script automatically displays a label on the chart showing the gain or loss percentage along with the number of days the trade lasted. Green labels represent gains, and red labels represent losses.
User-friendly Visuals:
The buy and sell signals are plotted as small triangles directly on the chart for easy identification.
Detailed trade information is provided with well-formatted labels to highlight the profit or loss after each trade.
How It Works:
This strategy helps traders to identify trend reversals by leveraging long-term and short-term moving averages.
A single buy or sell signal is triggered based on price movement relative to the SMAs and their order.
The tool is designed to help traders quickly spot buying and selling opportunities with clear visual indicators and gain/loss metrics.
This indicator is ideal for traders looking to implement a systematic SMA-based strategy with well-defined buy/sell points and automatic performance tracking for each trade.
Disclaimer: The information provided here is for educational and informational purposes only. It is not intended as financial advice or as a recommendation to buy or sell any stocks. Please conduct your own research or consult a financial advisor before making any investment decisions. ProfitLens does not guarantee the accuracy, completeness, or reliability of any information presented.
Komut dosyalarını "20日线角度大于0的股票" için ara
Autotable█ OVERVIEW
The library allows to automatically draw a table based on a string or float matrix (or both) controlling all of the parameters of the table (including merging cells) with parameter matrices (like, e.g. matrix of cell colors).
All things you would normally do with table.new() and table.cell() are now possible using respective parameters of library's main function, autotable() (as explained further below).
Headers can be supplied as arrays.
Merging of the cells is controlled with a special matrix of "L" and "U" values which instruct a cell to merged with the cell to the left or upwards (please see examples in the script and in this description).
█ USAGE EXAMPLES
The simplest and most straightforward:
mxF = matrix.new(3,3, 3.14)
mxF.autotable(bgcolor = color.rgb(249, 209, 29)) // displays float matrix as a table in the top right corner with defalult settings
mxS = matrix.new(3,3,"PI")
// displays string matrix as a table in the top right corner with defalult settings
mxS.autotable(Ypos = "bottom", Xpos = "right", bgcolor = #b4d400)
// displays matrix displaying a string value over a float value in each cell
mxS.autotable(mxF, Ypos = "middle", Xpos = "center", bgcolor = color.gray, text_color = #86f62a)
Draws this:
Tables with headers:
if barstate.islast
mxF = matrix.new(3,3, 3.14)
mxS = matrix.new(3,3,"PI")
arColHeaders = array.from("Col1", "Col2", "Col3")
arRowHeaders = array.from("Row1", "Row2", "Row3")
// float matrix with col headers
mxF.autotable(
bgcolor = #fdfd6b
, arColHeaders = arColHeaders
)
// string matrix with row headers
mxS.autotable(arRowHeaders = arRowHeaders, Ypos = "bottom", Xpos = "right", bgcolor = #b4d400)
// string/float matrix with both row and column headers
mxS.autotable(mxF
, Ypos = "middle", Xpos = "center"
, arRowHeaders = arRowHeaders
, arColHeaders = arColHeaders
, cornerBgClr = #707070, cornerTitle = "Corner\ncell", cornerTxtClr = #ffdc13
, bgcolor = color.gray, text_color = #86f62a
)
Draws this:
█ FUNCTIONS
One main function is autotable() which has only one required argument mxValS, a string matrix.
Please see below the description of all of the function parameters:
The table:
tbl (table) (Optional) If supplied, this table will be deleted.
The data:
mxValS (matrix ) (Required) Cell text values
mxValF (matrix) (Optional) Numerical part of cell text values. Is concatenated to the mxValS values via `string_float_separator` string (default "\n")
Table properties, have same effect as in table.new() :
defaultBgColor (color) (Optional) bgcolor to be used if mxBgColor is not supplied
Ypos (string) (Optional) "top", "bottom" or "center"
Xpos (string) (Optional) "left", "right", or "center"
frame_color (color) (Optional) frame_color like in table.new()
frame_width (int) (Optional) frame_width like in table.new()
border_color (color) (Optional) border_color like in table.new()
border_width (int) (Optional) border_width like in table.new()
force_overlay (simple bool) (Optional) If true draws table on main pane.
Cell parameters, have same effect as in table.cell() ):
mxBgColor (matrix) (Optional) like bgcolor argument in table.cell()
mxTextColor (matrix) (Optional) like text_color argument in table.cell()
mxTt (matrix) (Optional) like tooltip argument in table.cell()
mxWidth (matrix) (Optional) like width argument in table.cell()
mxHeight (matrix) (Optional) like height argument in table.cell()
mxHalign (matrix) (Optional) like text_halign argument in table.cell()
mxValign (matrix) (Optional) like text_valign argument in table.cell()
mxTextSize (matrix) (Optional) like text_size argument in table.cell()
mxFontFamily (matrix) (Optional) like text_font_family argument in table.cell()
Other table properties:
tableWidth (float) (Optional) Overrides table width if cell widths are non zero. E.g. if there are four columns and cell widths are 20 (either as set via cellW or via mxWidth) then if tableWidth is set to e.g. 50 then cell widths will be 50 * (20 / 80), where 80 is 20*4 = total width of all cells. Works simialar for widths set via mxWidth - determines max sum of widths across all cloumns of mxWidth and adjusts cell widths proportionally to it. If cell widths are 0 (i.e. auto-adjust) tableWidth has no effect.
tableHeight (float) (Optional) Overrides table height if cell heights are non zero. E.g. if there are four rows and cell heights are 20 (either as set via cellH or via mxHeight) then if tableHeigh is set to e.g. 50 then cell heights will be 50 * (20 / 80), where 80 is 20*4 = total height of all cells. Works simialar for heights set via mxHeight - determines max sum of heights across all cloumns of mxHeight and adjusts cell heights proportionally to it. If cell heights are 0 (i.e. auto-adjust) tableHeight has no effect.
defaultTxtColor (color) (Optional) text_color to be used if mxTextColor is not supplied
text_size (string) (Optional) text_size to be used if mxTextSize is not supplied
font_family (string) (Optional) cell text_font_family value to be used if a value in mxFontFamily is no supplied
cellW (float) (Optional) cell width to be used if a value in mxWidth is no supplied
cellH (float) (Optional) cell height to be used if a value in mxHeight is no supplied
halign (string) (Optional) cell text_halign value to be used if a value in mxHalign is no supplied
valign (string) (Optional) cell text_valign value to be used if a value in mxValign is no supplied
Headers parameters:
arColTitles (array) (Optional) Array of column titles. If not na a header row is added.
arRowTitles (array) (Optional) Array of row titles. If not na a header column is added.
cornerTitle (string) (Optional) If both row and column titles are supplied allows to set the value of the corner cell.
colTitlesBgColor (color) (Optional) bgcolor for header row
colTitlesTxtColor (color) (Optional) text_color for header row
rowTitlesBgColor (color) (Optional) bgcolor for header column
rowTitlesTxtColor (color) (Optional) text_color for header column
cornerBgClr (color) (Optional) bgcolor for the corner cell
cornerTxtClr (color) (Optional) text_color for the corner cell
Cell merge parameters:
mxMerge (matrix) (Optional) A matrix determining how cells will be merged. "L" - cell merges to the left, "U" - upwards.
mergeAllColTitles (bool) (Optional) Allows to print a table title instead of column headers, merging all header row cells and leaving just the value of the first cell. For more flexible options use matrix arguments leaving header/row arguments na.
mergeAllRowTitles (bool) (Optional) Allows to print one text value merging all header row cells and leaving just the value of the first cell. For more flexible options use matrix arguments leaving header/row arguments na.
Format:
string_float_separator (string) (Optional) A string used to separate string and float parts of cell values (mxValS and mxValF). Default is "\n"
format (string) (Optional) format string like in str.format() used to format numerical values
nz (string) (Optional) Determines how na numerical values are displayed.
The only other available function is autotable(string,... ) with a string parameter instead of string and float matrices which draws a one cell table.
█ SAMPLE USE
E.g., CSVParser library demo uses Autotable's for generating complex tables with merged cells.
█ CREDITS
The library was inspired by @kaigouthro's matrixautotable . A true master. Many thanks to him for his creative, beautiful and very helpful libraries.
ADX + Volume Strategy### Strategy Description: ADX and Volume-Based Trading Strategy
This strategy is designed to identify strong market trends using the **Average Directional Index (ADX)** and confirm trading signals with **Volume**. The idea behind the strategy is to enter trades only when the market shows a strong trend (as indicated by ADX) and when the price movement is supported by high trading volume. This combination helps filter out weaker signals and provides more reliable entries into positions.
### Key Indicators:
1. **ADX (Average Directional Index)**:
- **Purpose**: ADX is a technical indicator that measures the strength of a trend, regardless of its direction (up or down).
- **Usage**: The strategy uses ADX to determine whether the market is trending strongly. If ADX is above a certain threshold (default is 25), it indicates that a strong trend is present.
- **Directional Indicators**:
- **DI+ (Directional Indicator Plus)**: Indicates the strength of the upward price movement.
- **DI- (Directional Indicator Minus)**: Indicates the strength of the downward price movement.
- ADX does not indicate the direction of the trend but confirms that a trend exists. DI+ and DI- are used to determine the direction.
2. **Volume**:
- **Purpose**: Volume is a key indicator for confirming the strength of a price movement. High volume suggests that a large number of market participants are supporting the movement, making it more likely to continue.
- **Usage**: The strategy compares the current volume to the 20-period moving average of the volume. The trade signal is confirmed if the current volume is greater than the average volume by a specified **Volume Multiplier** (default multiplier is 1.5). This ensures that the trade is supported by strong market participation.
### Strategy Logic:
#### **Entry Conditions:**
1. **Long Position** (Buy):
- **ADX** is above the threshold (default is 25), indicating a strong trend.
- **DI+ > DI-**, signaling that the market is trending upward.
- The **current volume** is greater than the 20-period average volume multiplied by the **Volume Multiplier** (e.g., 1.5), indicating that the upward price movement is backed by sufficient market activity.
2. **Short Position** (Sell):
- **ADX** is above the threshold (default is 25), indicating a strong trend.
- **DI- > DI+**, signaling that the market is trending downward.
- The **current volume** is greater than the 20-period average volume multiplied by the **Volume Multiplier** (e.g., 1.5), indicating that the downward price movement is backed by strong selling activity.
#### **Exit Conditions**:
- Positions are closed when the opposite signal appears:
- **For long positions**: Close when the short conditions are met (ADX still above the threshold, DI- > DI+, and the volume condition holds).
- **For short positions**: Close when the long conditions are met (ADX still above the threshold, DI+ > DI-, and the volume condition holds).
### Parameters:
- **ADX Period**: The period used to calculate ADX (default is 14). This controls how sensitive the ADX is to price movements.
- **ADX Threshold**: The minimum ADX value required for the strategy to consider the market trend as strong (default is 25). Higher values focus on stronger trends.
- **Volume Multiplier**: This parameter adjusts how much higher the current volume needs to be compared to the 20-period moving average for the signal to be valid. A value of 1.5 means the current volume must be 50% higher than the average volume.
### Example Trade Flow:
1. **Long Trade Example**:
- ADX > 25, confirming a strong trend.
- DI+ > DI-, confirming that the trend direction is upward.
- The current volume is 50% higher than the 20-period average volume (multiplied by 1.5).
- **Action**: Enter a long position.
2. **Short Trade Example**:
- ADX > 25, confirming a strong trend.
- DI- > DI+, confirming that the trend direction is downward.
- The current volume is 50% higher than the 20-period average volume.
- **Action**: Enter a short position.
### Strengths of the Strategy:
- **Trend Filtering**: The strategy ensures that trades are only taken when the market is trending strongly (confirmed by ADX) and that the price movement is supported by high volume, reducing the likelihood of false signals.
- **Volume Confirmation**: Using volume as confirmation provides an additional layer of reliability, as volume spikes often accompany sustained price moves.
- **Dual Signal Confirmation**: Both trend strength (ADX) and volume conditions must be met for a trade, making the strategy more robust.
### Weaknesses of the Strategy:
- **Limited Effectiveness in Range-Bound Markets**: Since the strategy relies on strong trends, it may underperform in sideways or non-trending markets where ADX stays below the threshold.
- **Lagging Nature of ADX**: ADX is a lagging indicator, which means that it may confirm the trend after it has already begun, potentially leading to late entries.
- **Volume Requirement**: In low-volume markets, the volume multiplier condition may not be met often, leading to fewer trade opportunities.
### Customization:
- **Adjust the ADX Threshold**: You can raise the threshold if you want to focus only on very strong trends, or lower it to capture moderate trends.
- **Adjust the Volume Multiplier**: You can change the multiplier to be more or less strict. A higher multiplier (e.g., 2.0) will require a stronger volume spike to confirm the signal, while a lower multiplier (e.g., 1.2) will allow more trades with weaker volume confirmation.
### Summary:
This ADX and Volume strategy is ideal for traders who want to follow strong trends while ensuring that the trend is supported by high trading volume. By combining a trend strength filter (ADX) and volume confirmation, the strategy aims to increase the probability of entering profitable trades while reducing the number of false signals. However, it may underperform in range-bound markets or in markets with low volume.
PubLibTrendLibrary "PubLibTrend"
trend, multi-part trend, double trend and multi-part double trend conditions for indicator and strategy development
rlut()
return line uptrend condition
Returns: bool
dt()
downtrend condition
Returns: bool
ut()
uptrend condition
Returns: bool
rldt()
return line downtrend condition
Returns: bool
dtop()
double top condition
Returns: bool
dbot()
double bottom condition
Returns: bool
rlut_1p()
1-part return line uptrend condition
Returns: bool
rlut_2p()
2-part return line uptrend condition
Returns: bool
rlut_3p()
3-part return line uptrend condition
Returns: bool
rlut_4p()
4-part return line uptrend condition
Returns: bool
rlut_5p()
5-part return line uptrend condition
Returns: bool
rlut_6p()
6-part return line uptrend condition
Returns: bool
rlut_7p()
7-part return line uptrend condition
Returns: bool
rlut_8p()
8-part return line uptrend condition
Returns: bool
rlut_9p()
9-part return line uptrend condition
Returns: bool
rlut_10p()
10-part return line uptrend condition
Returns: bool
rlut_11p()
11-part return line uptrend condition
Returns: bool
rlut_12p()
12-part return line uptrend condition
Returns: bool
rlut_13p()
13-part return line uptrend condition
Returns: bool
rlut_14p()
14-part return line uptrend condition
Returns: bool
rlut_15p()
15-part return line uptrend condition
Returns: bool
rlut_16p()
16-part return line uptrend condition
Returns: bool
rlut_17p()
17-part return line uptrend condition
Returns: bool
rlut_18p()
18-part return line uptrend condition
Returns: bool
rlut_19p()
19-part return line uptrend condition
Returns: bool
rlut_20p()
20-part return line uptrend condition
Returns: bool
rlut_21p()
21-part return line uptrend condition
Returns: bool
rlut_22p()
22-part return line uptrend condition
Returns: bool
rlut_23p()
23-part return line uptrend condition
Returns: bool
rlut_24p()
24-part return line uptrend condition
Returns: bool
rlut_25p()
25-part return line uptrend condition
Returns: bool
rlut_26p()
26-part return line uptrend condition
Returns: bool
rlut_27p()
27-part return line uptrend condition
Returns: bool
rlut_28p()
28-part return line uptrend condition
Returns: bool
rlut_29p()
29-part return line uptrend condition
Returns: bool
rlut_30p()
30-part return line uptrend condition
Returns: bool
dt_1p()
1-part downtrend condition
Returns: bool
dt_2p()
2-part downtrend condition
Returns: bool
dt_3p()
3-part downtrend condition
Returns: bool
dt_4p()
4-part downtrend condition
Returns: bool
dt_5p()
5-part downtrend condition
Returns: bool
dt_6p()
6-part downtrend condition
Returns: bool
dt_7p()
7-part downtrend condition
Returns: bool
dt_8p()
8-part downtrend condition
Returns: bool
dt_9p()
9-part downtrend condition
Returns: bool
dt_10p()
10-part downtrend condition
Returns: bool
dt_11p()
11-part downtrend condition
Returns: bool
dt_12p()
12-part downtrend condition
Returns: bool
dt_13p()
13-part downtrend condition
Returns: bool
dt_14p()
14-part downtrend condition
Returns: bool
dt_15p()
15-part downtrend condition
Returns: bool
dt_16p()
16-part downtrend condition
Returns: bool
dt_17p()
17-part downtrend condition
Returns: bool
dt_18p()
18-part downtrend condition
Returns: bool
dt_19p()
19-part downtrend condition
Returns: bool
dt_20p()
20-part downtrend condition
Returns: bool
dt_21p()
21-part downtrend condition
Returns: bool
dt_22p()
22-part downtrend condition
Returns: bool
dt_23p()
23-part downtrend condition
Returns: bool
dt_24p()
24-part downtrend condition
Returns: bool
dt_25p()
25-part downtrend condition
Returns: bool
dt_26p()
26-part downtrend condition
Returns: bool
dt_27p()
27-part downtrend condition
Returns: bool
dt_28p()
28-part downtrend condition
Returns: bool
dt_29p()
29-part downtrend condition
Returns: bool
dt_30p()
30-part downtrend condition
Returns: bool
ut_1p()
1-part uptrend condition
Returns: bool
ut_2p()
2-part uptrend condition
Returns: bool
ut_3p()
3-part uptrend condition
Returns: bool
ut_4p()
4-part uptrend condition
Returns: bool
ut_5p()
5-part uptrend condition
Returns: bool
ut_6p()
6-part uptrend condition
Returns: bool
ut_7p()
7-part uptrend condition
Returns: bool
ut_8p()
8-part uptrend condition
Returns: bool
ut_9p()
9-part uptrend condition
Returns: bool
ut_10p()
10-part uptrend condition
Returns: bool
ut_11p()
11-part uptrend condition
Returns: bool
ut_12p()
12-part uptrend condition
Returns: bool
ut_13p()
13-part uptrend condition
Returns: bool
ut_14p()
14-part uptrend condition
Returns: bool
ut_15p()
15-part uptrend condition
Returns: bool
ut_16p()
16-part uptrend condition
Returns: bool
ut_17p()
17-part uptrend condition
Returns: bool
ut_18p()
18-part uptrend condition
Returns: bool
ut_19p()
19-part uptrend condition
Returns: bool
ut_20p()
20-part uptrend condition
Returns: bool
ut_21p()
21-part uptrend condition
Returns: bool
ut_22p()
22-part uptrend condition
Returns: bool
ut_23p()
23-part uptrend condition
Returns: bool
ut_24p()
24-part uptrend condition
Returns: bool
ut_25p()
25-part uptrend condition
Returns: bool
ut_26p()
26-part uptrend condition
Returns: bool
ut_27p()
27-part uptrend condition
Returns: bool
ut_28p()
28-part uptrend condition
Returns: bool
ut_29p()
29-part uptrend condition
Returns: bool
ut_30p()
30-part uptrend condition
Returns: bool
rldt_1p()
1-part return line downtrend condition
Returns: bool
rldt_2p()
2-part return line downtrend condition
Returns: bool
rldt_3p()
3-part return line downtrend condition
Returns: bool
rldt_4p()
4-part return line downtrend condition
Returns: bool
rldt_5p()
5-part return line downtrend condition
Returns: bool
rldt_6p()
6-part return line downtrend condition
Returns: bool
rldt_7p()
7-part return line downtrend condition
Returns: bool
rldt_8p()
8-part return line downtrend condition
Returns: bool
rldt_9p()
9-part return line downtrend condition
Returns: bool
rldt_10p()
10-part return line downtrend condition
Returns: bool
rldt_11p()
11-part return line downtrend condition
Returns: bool
rldt_12p()
12-part return line downtrend condition
Returns: bool
rldt_13p()
13-part return line downtrend condition
Returns: bool
rldt_14p()
14-part return line downtrend condition
Returns: bool
rldt_15p()
15-part return line downtrend condition
Returns: bool
rldt_16p()
16-part return line downtrend condition
Returns: bool
rldt_17p()
17-part return line downtrend condition
Returns: bool
rldt_18p()
18-part return line downtrend condition
Returns: bool
rldt_19p()
19-part return line downtrend condition
Returns: bool
rldt_20p()
20-part return line downtrend condition
Returns: bool
rldt_21p()
21-part return line downtrend condition
Returns: bool
rldt_22p()
22-part return line downtrend condition
Returns: bool
rldt_23p()
23-part return line downtrend condition
Returns: bool
rldt_24p()
24-part return line downtrend condition
Returns: bool
rldt_25p()
25-part return line downtrend condition
Returns: bool
rldt_26p()
26-part return line downtrend condition
Returns: bool
rldt_27p()
27-part return line downtrend condition
Returns: bool
rldt_28p()
28-part return line downtrend condition
Returns: bool
rldt_29p()
29-part return line downtrend condition
Returns: bool
rldt_30p()
30-part return line downtrend condition
Returns: bool
dut()
double uptrend condition
Returns: bool
ddt()
double downtrend condition
Returns: bool
dut_1p()
1-part double uptrend condition
Returns: bool
dut_2p()
2-part double uptrend condition
Returns: bool
dut_3p()
3-part double uptrend condition
Returns: bool
dut_4p()
4-part double uptrend condition
Returns: bool
dut_5p()
5-part double uptrend condition
Returns: bool
dut_6p()
6-part double uptrend condition
Returns: bool
dut_7p()
7-part double uptrend condition
Returns: bool
dut_8p()
8-part double uptrend condition
Returns: bool
dut_9p()
9-part double uptrend condition
Returns: bool
dut_10p()
10-part double uptrend condition
Returns: bool
dut_11p()
11-part double uptrend condition
Returns: bool
dut_12p()
12-part double uptrend condition
Returns: bool
dut_13p()
13-part double uptrend condition
Returns: bool
dut_14p()
14-part double uptrend condition
Returns: bool
dut_15p()
15-part double uptrend condition
Returns: bool
dut_16p()
16-part double uptrend condition
Returns: bool
dut_17p()
17-part double uptrend condition
Returns: bool
dut_18p()
18-part double uptrend condition
Returns: bool
dut_19p()
19-part double uptrend condition
Returns: bool
dut_20p()
20-part double uptrend condition
Returns: bool
dut_21p()
21-part double uptrend condition
Returns: bool
dut_22p()
22-part double uptrend condition
Returns: bool
dut_23p()
23-part double uptrend condition
Returns: bool
dut_24p()
24-part double uptrend condition
Returns: bool
dut_25p()
25-part double uptrend condition
Returns: bool
dut_26p()
26-part double uptrend condition
Returns: bool
dut_27p()
27-part double uptrend condition
Returns: bool
dut_28p()
28-part double uptrend condition
Returns: bool
dut_29p()
29-part double uptrend condition
Returns: bool
dut_30p()
30-part double uptrend condition
Returns: bool
ddt_1p()
1-part double downtrend condition
Returns: bool
ddt_2p()
2-part double downtrend condition
Returns: bool
ddt_3p()
3-part double downtrend condition
Returns: bool
ddt_4p()
4-part double downtrend condition
Returns: bool
ddt_5p()
5-part double downtrend condition
Returns: bool
ddt_6p()
6-part double downtrend condition
Returns: bool
ddt_7p()
7-part double downtrend condition
Returns: bool
ddt_8p()
8-part double downtrend condition
Returns: bool
ddt_9p()
9-part double downtrend condition
Returns: bool
ddt_10p()
10-part double downtrend condition
Returns: bool
ddt_11p()
11-part double downtrend condition
Returns: bool
ddt_12p()
12-part double downtrend condition
Returns: bool
ddt_13p()
13-part double downtrend condition
Returns: bool
ddt_14p()
14-part double downtrend condition
Returns: bool
ddt_15p()
15-part double downtrend condition
Returns: bool
ddt_16p()
16-part double downtrend condition
Returns: bool
ddt_17p()
17-part double downtrend condition
Returns: bool
ddt_18p()
18-part double downtrend condition
Returns: bool
ddt_19p()
19-part double downtrend condition
Returns: bool
ddt_20p()
20-part double downtrend condition
Returns: bool
ddt_21p()
21-part double downtrend condition
Returns: bool
ddt_22p()
22-part double downtrend condition
Returns: bool
ddt_23p()
23-part double downtrend condition
Returns: bool
ddt_24p()
24-part double downtrend condition
Returns: bool
ddt_25p()
25-part double downtrend condition
Returns: bool
ddt_26p()
26-part double downtrend condition
Returns: bool
ddt_27p()
27-part double downtrend condition
Returns: bool
ddt_28p()
28-part double downtrend condition
Returns: bool
ddt_29p()
29-part double downtrend condition
Returns: bool
ddt_30p()
30-part double downtrend condition
Returns: bool
Keltner Channel+EMA with Buy/Sell SignalsIndicator Name: Double Keltner Channel with EMA (Buy/Sell Signals)
Description:
This indicator is designed to help traders identify potential trend reversals and generate buy/sell signals in volatile markets. It combines two Keltner Channels with different sensitivities (multipliers of 2.6 and 3.8) to visualize dynamic support and resistance levels. The addition of a 20-period EMA helps confirm trend direction and filter out potential false signals.
How the Indicator Works:
• Keltner Channels: These bands dynamically adjust to changing market volatility, offering a visual representation of potential price ranges. The 2.6 multiplier Keltner Channel (KC) is more sensitive to price changes, potentially highlighting short-term reversals, while the 3.8 multiplier KC focuses on broader trend shifts.
• 20-period EMA: This widely used trend indicator helps smooth out price fluctuations and identify the underlying direction of the market.
• Buy Signals: Generated when a candle's low touches or crosses below either Keltner Channel's lower band, and within the next 6 candles, that same candle closes above the 20 EMA. This combination suggests a potential rejection of lower prices (support) and a possible resumption of the uptrend.
• Sell Signals: Mirror the buy signal logic but are triggered when the candle's high touches or crosses above either Keltner Channel's upper band and then closes below the 20 EMA within the next 6 candles. This indicates a potential rejection of higher prices (resistance) and a possible shift to a downtrend.
How to Use the Indicator:
1. Identify the Trend: Use the 20 EMA to determine the overall trend direction. Look for buy signals primarily in uptrends and sell signals in downtrends.
2. Confirm with RSI : While not included in this indicator, consider using a separate Relative Strength Index (RSI) with a length of 10, SMA type, MA length of 14, and standard deviation of 2. Look for oversold conditions (RSI below 20) to confirm buy signals and overbought conditions (RSI above 80) to confirm sell signals.
3.Apply Risk Management: Always use appropriate risk management techniques, such as stop-loss orders, to protect your capital.
Key Points:
• This indicator is most effective in trending markets.
• It is not a standalone trading system and should be used in conjunction with other analysis tools and confirmation.
• The Keltner Channel multiplier values can be adjusted to suit your trading style and risk tolerance.
Important Disclaimer:
This indicator is a modification of the original Keltner Channel code and is intended for educational and informational purposes only.
It does not constitute financial advice. Always conduct your own research and consult with a qualified financial advisor before making any investment decisions.
Auto-magnifier / quantifytools- Overview
Auto-magnifier shows a lower timeframe view of candles and volume bars inside any main timeframe candle by zooming into it. Candles and volume bars as they develop are shown chronologically from left to right. By default, magnifier is triggered when less than 3 candles are visible on the chart.
By default, 20 lower timeframe candles are displayed by splitting main timeframe into 20 parts. The amount of candles displayed is a target rate, meaning the script will use a lower timeframe that has the closest match to 20 candles and therefore will vary a bit. Users can override automatic timeframe calculation and opt in to display any specific lower timeframe or adjust amount of candles shown (e.g. 20 -> 30 candles) per each main timeframe candle.
Example
Main timeframe set to 30 minute, candles displayed set to 20 -> Magnifying using 2 minute candles (30 minute/20 candles = 1.5 min, rounded to 2 min)
Main timeframe set to 30 minute, override set to 5 minutes -> Displaying 5 minute candles
Size of volume bars is calculated using relative volume (volume relative to volume SMA20), lowest bar representing relative volume values of under or equal to 1x the moving average and from there onwards progressively growing.
- Limitations and considerations
Amount of candles shown might flow over from the background on smaller screen sizes, in which case you would want to decrease the amount shown. Opposite is true for bigger screens, this value can be increased as more candles fit.
This indicator involves a lot of tricks with text elements to make it work automatically by zooming in. Size of wicks, bodies and volume bars are calculated by adding more text elements on big candles and less text elements on smaller candles. This means the displayed candles won't be a 100% match, but a rather a fair representation of the view, e.g. candle is green = lower timeframe candle is green, candle has a big wick = lower timeframe candle has a big wick (but not a 100% match).
Example
Magnified lower timeframe chart vs. Actual lower timeframe chart
Most mismatch will be found on the price levels where lower timeframe candles are shown, which is sacrificed for the sake of getting a better readability on the overall shape of lower timeframe price action. Users can alternatively optimize calculations for more accuracy, giving a better representation of the price levels where candles truly originated. This typically comes with the cost of worse readability however.
Example
Optimized for readability vs. Optimized for accuracy
- Visuals
All visual elements are fully customizable.
Christmas Toolkit [LuxAlgo]It's that time of the year... and what would be more appropriate than displaying Christmas-themed elements on your chart?
The Christmas Toolkit displays a tree containing elements affected by various technical indicators. If you're lucky, you just might also find a precious reindeer trotting toward the tree, how fancy!
🔶 USAGE
Each of the 7 X-mas balls is associated with a specific condition.
Each ball has a color indicating:
lime: very bullish
green: bullish
blue: holding the same position or sideline
red: bearish
darkRed: very bearish
From top to bottom:
🔹 RSI (length 14)
rsi < 20 - lime (+2 points)
rsi < 30 - green (+1 point)
rsi > 80 - darkRed (-2 points)
rsi > 70 - red (-1 point)
else - blue
🔹 Stoch (length 14)
stoch < 20 - lime (+2 points)
stoch < 30 - green (+1 point)
stoch > 80 - darkRed (-2 points)
stoch > 70 - red (-1 point)
else - blue
🔹 close vs. ema (length 20)
close > ema 20 - green (+1 point)
else - red (-1 point)
🔹 ema (length 20)
ema 20 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 50)
ema 50 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 100)
ema 100 rises - green (+1 point)
else - red (-1 point)
🔹 ema (length 200)
ema 200 rises - green (+1 point)
else - red (-1 point)
The above information can also be found on the right side of the tree.
You'll see the conditions associated with the specific X-mas ball and the meaning of color changes. This can also be visualized by hovering over the labels.
All values are added together, this result is used to color the star at the top of the tree, with a specific color indicating:
lime: very bullish (> 6 points)
green: bullish (6 points)
blue: holding the same position or sideline
red: bearish (-6 points)
darkRed: very bearish (< -6 points)
Switches to green/lime or red/dark red can be seen by the fallen stars at the bottom.
The Last Switch indicates the latest green/lime or red/dark red color (not blue)
🔶 ANIMATION
Randomly moving snowflakes are added to give it a wintry character.
There are also randomly moving stars in the tree.
Garland rotations, style, and color can be adjusted, together with the width and offset of the tree, put your tree anywhere on your chart!
Disabling the "static tree" setting will make the needles 'move'.
Have you happened to see the precious reindeer on the right? This proud reindeer moves towards the most recent candle. Who knows what this reindeer might be bringing to the tree?
🔶 SETTINGS
Width: Width of tree.
Offset: Offset of the tree.
Garland rotations: Amount of rotations, a high number gives other styles.
Color/Style: sets the color & style of garland stars.
Needles: sets the needle color.
Static Tree: Allows the tree needles to 'move' with each tick.
Reindeer Speed: Controls how fast the deer moves toward the most recent bar.
🔶 MESSAGE FROM THE LUXALGO TEAM
It has been an honor to contribute to the TradingView community and we are always so happy to see your supportive messages on our scripts.
We have posted a total of 78 script publications this year, which is no small feat & was only possible thanks to our team of Wizard developers @alexgrover + @dgtrd + @fikira , the development team behind Pine Script, and of course to the support of our legendary community.
Happy Holidays to you all, and we'll see ya next year! ☃️
SMA Comparison with Buy and Sell Signals ShrutIndicator Name: SMA Comparison with Buy and Sell Signals
Overlay: Enabled (Indicator is displayed on the main price chart)
Description:
The "SMA Comparison with Buy and Sell Signals" indicator is designed to identify potential buying and selling opportunities in a financial instrument by comparing three Simple Moving Averages (SMAs) – the 20-day SMA, 50-day SMA, and 200-day SMA.
Features:
Simple Moving Averages (SMAs):
Calculates and displays three SMAs based on the closing price: SMA-20, SMA-50, and SMA-200.
Buy and Sell Conditions:
Buy Condition : Triggered when the 200-day SMA is greater than the 50-day SMA, the 50-day SMA is greater than the 20-day SMA, and the current closing price is lower than the 20-day SMA.
Sell Condition: Triggered when the 200-day SMA is less than the 50-day SMA, the 50-day SMA is less than the 20-day SMA, and the current closing price is higher than the 20-day SMA.
Signal Generation:
Generates buy and sell signals on the chart based on the identified conditions.
Implements a 15-day cooldown period between consecutive buy or sell signals to prevent frequent signals in volatile market conditions.
Signal Display:
Displays buy signals as green triangle shapes below the price bars.
Displays sell signals as red triangle shapes above the price bars.
Usage:
Buy Signals: Considered when the green triangle shapes (buy signals) appear below the price bars, indicating a potential buying opportunity based on the defined SMA conditions.
Sell Signals: Considered when the red triangle shapes (sell signals) appear above the price bars, indicating a potential selling opportunity based on the defined SMA conditions.
Notes:
This indicator is customizable and can be adjusted by modifying the conditions based on specific trading strategies and preferences.
Traders should consider additional analysis and risk management strategies before making trading decisions based solely on the indicator signals.
A_Traders_Edge__LibraryLibrary "A_Traders_Edge__Library"
- A Trader's Edge (ATE)_Library was created to assist in constructing Market Overview Scanners (MOS)
LabelLocation(_firstLocation)
This function is used when there's a desire to print an assets ALERT LABELS at a set location on the scale that will
NOT change throughout the progression of the script. This is created so that if a lot of alerts are triggered, they
will stay relatively visible and not overlap each other. Ex. If you set your '_firstLocation' parameter as 1, since
there are a max of 40 assets that can be scanned, the 1st asset's location is assigned the value in the '_firstLocation' parameter,
the 2nd asset's location is the (1st asset's location+1)...and so on. If your first location is set to 81 then
the 1st asset is 81 and 2nd is 82 and so on until the 40th location = 120(in this particular example).
Parameters:
_firstLocation (simple int) : (simple int)
Optional(starts at 1 if no parameter added).
Location that you want the first asset to print its label if is triggered to do so.
ie. loc2=loc1+1, loc3=loc2+1, etc.
Returns: Returns 40 output variables each being a different location to print the labels so that an asset is asssigned to
a particular location on the scale. Regardless of if you have the maximum amount of assets being screened (40 max), this
function will output 40 locations… So there needs to be 40 variables assigned in the tuple in this function. What I
mean by that is you need to have 40 output location variables within your tuple (ie. between the ' ') regarless of
if your scanning 40 assets or not. If you only have 20 assets in your scripts input settings, then only the first 20
variables within the ' ' Will be assigned to a value location and the other 20 will be assigned 'NA', but their
variables still need to be present in the tuple.
SeparateTickerids(_string)
You must form this single tickerID input string exactly as described in the scripts info panel (little gray 'i' that
is circled at the end of the settings in the settings/input panel that you can hover your cursor over this 'i' to read the
details of that particular input). IF the string is formed correctly then it will break up this single string parameter into
a total of 40 separate strings which will be all of the tickerIDs that the script is using in your MO scanner.
Parameters:
_string (simple string) : (string)
A maximum of 40 Tickers (ALL joined as 1 string for the input parameter) that is formulated EXACTLY as described
within the tooltips of the TickerID inputs in my MOS Scanner scripts:
assets = input.text_area(tIDset1, title="TickerID (MUST READ TOOLTIP)", tooltip="Accepts 40 TICKERID's for each
copy of the script on the chart. TEXT FORMATTING RULES FOR TICKERID'S:
(1) To exclude the EXCHANGE NAME in the Labels, de-select the next input option.
(2) MUST have a space (' ') AFTER each TickerID.
(3) Capitalization in the Labels will match cap of these TickerID's.
(4) If your asset has a BaseCurrency & QuoteCurrency (ie. ADAUSDT ) BUT you ONLY want Labels
to show BaseCurrency(ie.'ADA'), include a FORWARD SLASH ('/') between the Base & Quote (ie.'ADA/USDT')", display=display.none)
Returns: Returns 40 output variables of the different strings of TickerID's (ie. you need to output 40 variables within the
tuple ' ' regardless of if you were scanning using all possible (40) assets or not.
If your scanning for less than 40 assets, then once the variables are assigned to all of the tickerIDs, the rest
of the 40 variables in the tuple will be assigned "NA".
TickeridForLabelsAndSecurity(_includeExchange, _ticker)
This function accepts the TickerID Name as its parameter and produces a single string that will be used in all of your labels.
Parameters:
_includeExchange (simple bool) : (bool)
Optional(if parameter not included in function it defaults to false ).
Used to determine if the Exchange name will be included in all labels/triggers/alerts.
_ticker (simple string) : (string)
For this parameter, input the varible named '_coin' from your 'f_main()' function for this parameter. It is the raw
Ticker ID name that will be processed.
Returns: ( )
Returns 2 output variables:
1st ('_securityTickerid') is to be used in the 'request.security()' function as this string will contain everything
TV needs to pull the correct assets data.
2nd ('lblTicker') is to be used in all of the labels in your MOS as it will only contain what you want your labels
to show as determined by how the tickerID is formulated in the MOS's input.
InvalidTID(_tablePosition, _stackVertical, _close, _securityTickerid, _invalidArray)
This is to add a table in the middle right of your chart that prints all the TickerID's that were either not formulated
correctly in the '_source' input or that is not a valid symbol and should be changed.
Parameters:
_tablePosition (simple string) : (string)
Optional(if parameter not included, it defaults to position.middle_right). Location on the chart you want the table printed.
Possible strings include: position.top_center, position.top_left, position.top_right, position.middle_center,
position.middle_left, position.middle_right, position.bottom_center, position.bottom_left, position.bottom_right.
_stackVertical (simple bool) : (bool)
Optional(if parameter not included, it defaults to true). All of the assets that are counted as INVALID will be
created in a list. If you want this list to be prited as a column then input 'true' here.
_close (float) : (float)
If you want them printed as a single row then input 'false' here.
This should be the closing value of each of the assets being tested to determine in the TickerID is valid or not.
_securityTickerid (string) : (string)
Throughout the entire charts updates, if a '_close' value is never regestered then the logic counts the asset as INVALID.
This will be the 1st TickerID varible (named _securityTickerid) outputted from the tuple of the TickeridForLabels()
function above this one.
_invalidArray (string ) : (array string)
Input the array from the original script that houses all of the invalidArray strings.
Returns: (na)
Returns a table with the screened assets Invalid TickerID's. Table draws automatically if any are Invalid, thus,
no output variable to deal with.
LabelSizes(_barCnt, _lblSzRfrnce)
This function sizes your Alert Trigger Labels according to the amount of Printed Bars the chart has printed within
a set time period, while also keeping in mind the smallest relative reference size you input in the 'lblSzRfrnceInput'
parameter of this function. A HIGHER % of Printed Bars(aka...more trades occurring for that asset on the exchange),
the LARGER the Name Label will print, potentially showing you the better opportunities on the exchange to avoid
exchange manipulation liquidations.
*** SHOULD NOT be used as size of labels that are your asset Name Labels next to each asset's Line Plot...
if your MOS includes these as you want these to be the same size for every asset so the larger ones dont cover the
smaller ones if the plots are all close to each other ***
Parameters:
_barCnt (float) : (float)
Get the 1st variable('barCnt') from the 'PrintedBarCount' function's tuple and input it as this functions 1st input
parameter which will directly affect the size of the 2nd output variable ('alertTrigLabel') outputted by this function.
_lblSzRfrnce (string) : (string)
Optional(if parameter not included, it defaults to size.small). This will be the size of the 1st variable outputted
by this function ('assetNameLabel') BUT also affects the 2nd variable outputted by this function.
Returns: ( )
Returns 2 variables:
1st output variable ('AssetNameLabel') is assigned to the size of the 'lblSzRfrnceInput' parameter.
2nd output variable('alertTrigLabel') can be of variying sizes depending on the 'barCnt' parameter...BUT the smallest
size possible for the 2nd output variable ('alertTrigLabel') will be the size set in the 'lblSzRfrnceInput' parameter.
AssetColor()
This function is used to assign 40 different colors to 40 variables to be used for the different labels/plots.
Returns: Returns 40 output variables each with a different color assigned to them to be used in your plots & labels.
Regardless of if you have the maximum amount of assets your scanning(40 max) or less,
this function will assign 40 colors to 40 variables that you have between the ' '.
PrintedBarCount(_time, _barCntLength, _barCntPercentMin)
The Printed BarCount Filter looks back a User Defined amount of minutes and calculates the % of bars that have printed
out of the TOTAL amount of bars that COULD HAVE been printed within the same amount of time.
Parameters:
_time (int) : (int)
The time associated with the chart of the particular asset that is being screened at that point.
_barCntLength (int) : (int)
The amount of time (IN MINUTES) that you want the logic to look back at to calculate the % of bars that have actually
printed in the span of time you input into this parameter.
_barCntPercentMin (int) : (int)
The minimum % of Printed Bars of the asset being screened has to be GREATER than the value set in this parameter
for the output variable 'bc_gtg' to be true.
Returns: ( )
Returns 2 outputs:
1st is the % of Printed Bars that have printed within the within the span of time you input in the '_barCntLength' parameter.
2nd is true/false according to if the Printed BarCount % is above the threshold that you input into the '_barCntPercentMin' parameter.
RCI(_rciLength, _source, _interval)
You will see me using this a lot. DEFINITELY my favorite oscillator to utilize for SO many different things from
timing entries/exits to determining trends.Calculation of this indicator based on Spearmans Correlation.
Parameters:
_rciLength (int) : (int)
Amount of bars back to use in RCI calculations.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). RCI calculation groups bars by this amount and then will.
rank these groups of bars.
Returns: (float)
Returns a single RCI value that will oscillates between -100 and +100.
RCIAVG(firstLength, _amtBtLengths, _rciSMAlen, _source, _interval)
20 RCI's are averaged together to get this RCI Avg (Rank Correlation Index Average). Each RCI (of the 20 total RCI)
has a progressively LARGER Lookback Length. Though the RCI Lengths are not individually adjustable,
there are 2 factors that ARE:
(1) the Lookback Length of the 1st RCI and
(2) the amount of values between one RCI's Lookback Length and the next.
*** If you set 'firstLength' to it's default of 200 and '_amtBtLengths' to it's default of 120 (aka AMOUNT BETWEEN LENGTHS=120)...
then RCI_2 Length=320, RCI_3 Length=440, RCI_4 Length=560, and so on.
Parameters:
firstLength (int) : (int)
Optional(if parameter is not included when the function is called, then it defaults to 200).
This parameter is the Lookback Length for the 1st RCI used in the RCI Avg.
_amtBtLengths (int) : (int)
Optional(if parameter not included when the function is called, then it defaults to 120).
This parameter is the value amount between each of the progressively larger lengths used for the 20 RCI's that
are averaged in the RCI Avg.
***** BEWARE ***** Too large of a value here will cause the calc to look back too far, causing an error(thus the value must be lowered)
_rciSMAlen (int) : (int)
Unlike the Single RCI Function, this function smooths out the end result using an SMA with a length value that is this parameter.
_source (float) : (float)
Source to use in RCI calculations (can use ANY source series. Ie, open,close,high,low,etc).
_interval (int) : (int)
Optional(if parameter not included, it defaults to 3). Within the RCI calculation, bars next to each other are grouped together
and then these groups are Ranked against each other. This parameter is the number of adjacent bars that are grouped together.
Returns: (float)
Returns a single RCI value that is the Avg of many RCI values that will oscillate between -100 and +100.
PercentChange(_startingValue, _endingValue)
This is a quick function to calculate how much % change has occurred between the '_startingValue' and the '_endingValue'
that you input into the function.
Parameters:
_startingValue (float) : (float)
The source value to START the % change calculation from.
_endingValue (float) : (float)
The source value to END the % change caluclation from.
Returns: Returns a single output being the % value between 0-100 (with trailing numbers behind a decimal). If you want only
a certain amount of numbers behind the decimal, this function needs to be put within a formatting function to do so.
Rescale(_source, _oldMin, _oldMax, _newMin, _newMax)
Rescales series with a known '_oldMin' & '_oldMax'. Use this when the scale of the '_source' to
rescale is known (bounded).
Parameters:
_source (float) : (float)
Source to be normalized.
_oldMin (int) : (float)
The known minimum of the '_source'.
_oldMax (int) : (float)
The known maximum of the '_source'.
_newMin (int) : (float)
What you want the NEW minimum of the '_source' to be.
_newMax (int) : (float)
What you want the NEW maximum of the '_source' to be.
Returns: Outputs your previously bounded '_source', but now the value will only move between the '_newMin' and '_newMax'
values you set in the variables.
Normalize_Historical(_source, _minimumLvl, _maximumLvl)
Normalizes '_source' that has a previously unknown min/max(unbounded) determining the max & min of the '_source'
FROM THE ENTIRE CHARTS HISTORY. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns your same '_source', but now the value will MOSTLY stay between the minimum and maximum values you set in the
'_minimumLvl' and '_maximumLvl' variables (ie. if the source you input is an RSI...the output is the same RSI value but
instead of moving between 0-100 it will move between the maxand min you set).
Normailize_Local(_source, _length, _minimumLvl, _maximumLvl)
Normalizes series with previously unknown min/max(unbounded). Much like the Normalize_Historical function above this one,
but rather than using the Highest/Lowest Values within the ENTIRE charts history, this on looks for the Highest/Lowest
values of '_source' within the last ___ bars (set by user as/in the '_length' parameter. ]
Parameters:
_source (float) : (float)
Source to be normalized.
_length (int) : (float)
The amount of bars to look back to determine the highest/lowest '_source' value.
_minimumLvl (int) : (float)
The Lower Boundary Level.
_maximumLvl (int) : (float)
The Upper Boundary Level.
Returns: Returns a single output variable being the previously unbounded '_source' that is now normalized and bound between
the values used for '_minimumLvl'/'_maximumLvl' of the '_source' within the user defined lookback period.
ICT TGIF_V2 [MK]The ICT T.G.I.F (Thank God Its Friday) works on the following strategy:
1. Friday makes the High/Low of the Week.
2. The Weekly High/Low range is used to calculate 20-30% levels. (see chart above)
3. Trades are taken in the Friday PM session (NY EST) with the idea that price may retrace to the 20-30% level.
The indicator plots the following levels:
1. Week High
2. Week Low
3. Week Open
3. 20-30% level in upper part of weekly range (only shows if Friday has made the high of the week)
4. 20-30% level in lower part of weekly range (only shows if Friday has made the low of the week)
It is possible to show all historical levels listed above for the purpose of back-testing the TGIF strategy.
Also it is possible to disable all the historical and current levels, in which case only the 20-30% levels will show when Friday has made the Week High/Low (the 20-30% level only shows from 1200-1600 on Friday to keep charts as clean as possible.
Users of this script, and any script for that matter, should always do proper back-testing before taking any trades.
Many thanks should be given to ICT (The Inner Circle Trader) for bringing this strategy to the trading community.
Below shows indicator with all levels turned ON
Below shows indicator with all levels turned OFF (this allows for cleaner charts)
Turtle Soup IndicatorTurtle Soup Indicator plots a shape when we have a 20-period high or 20-period low.
Turtle Soup Setup
The Turtle Soup setup was published in the book Street Smarts by Laurence A Connors and Linda Raschke. You can learn about it there. It is a great setup for false breakouts or breakdowns in the group failure tests.
Going long
1) We have a new 20-period low
2) that must have occured at least four trading sessions earlier <- this is very important
Then we place a buy stop above 5-10 ticks or 5 to 10 cents above the previous 20-period low.
If filled immediately place a good til cancelled sell stop one tick or one cent below todays low.
Turtle Soup Plus One
Similar to above but occurs one day later. It should close at/below previous 20-period low.
Buy stop at earlier 20 day low. Cancel fi not filled on day 2.
Take partials within 2-6 bars on this one and trail stop rest of position.
Going short
Reverse
Time frames
Works on all timeframes. Only adjust stoplosses accordingly to chosen timeframe.
Settings
You can change the color, shape and placement of the indicator shape. I actually prefer a grey color for both highs and lows as the color actually doesn't add much information. The placement says it all but it is up to you to change this as you like.
Trendlines Boll Ichi S1 by GammaprodI. How to use this indicator :
------------------------------
I.1. Set your teadingview theme to dark theme.
I.2. Gammaprod indicator is valid for forex, stock and but more valid for crypto.
I.3. Use three timeframe for more validation (choose between those, that fit to your trading style) :
- Timeframe 1m, 5m, and 15m for Scalping
- Timeframe 30m, 1h and 4h for Intraday
- Timeframe 4h, 1D and 1W for Swing Trading
I.4 Always use THREE INDICATORS FROM GAMMAPROD, those three indicators is back to back each other, by the way, I only made those three indicators only (for now) :
- Trendlines Boll Ichi S1 by Gammaprod
- MACD Volume S2 by Gammaprod
- Stoch RSI Divs Zone S2 by Gammaprod
============================================================================
II. How to setting :
--------------------
II.1. Trendlines Boll Ichi Crypto by Gammaprod
II.1.A. Support and Resistance
- Well if you familiar with this indicator you can add it, but recommended for Timeframe 30m or more
II.1.B. Trendlines Primary or Trendlines Secondary
- Timeframe 1m you DON'T NEED Trendlines Primary or Trendlines Secondary
- Timeframe 5m you DON'T NEED Trendlines Secondary, but you CAN ADD Trendlines Primary if you fell it helpful (for me, it is helpful to find where the candles start or the end trend or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 15m you DON'T NEED Trendlines Secondary, DEFENITELY add Trendlines Primary it will help to find where the candles stop or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 30m or more, DEFENITELY NEED BOTH Trendlines Primary and Secondary Trendlines, it will help to find where the candle stop or consolidation or where the candle will surpass a resistance or support).
II.1.C. Bollinger, Ichimoku Cloud and Lagging Span
- Please DON'T CHANGE IT at all, it's really helpful to know when and where to make an entry decesion or a trend or a consolidation, if you don't understand how to read it, you better to learn it first (on "how to read" section and "How to OPEN position" the section below)
II.2. Stoch RSI Divs Zone Crypto by Gammaprod (DON'T CHANGE IT)
II.3. MACD Volume Crypto by Gammaprod (DON'T CHANGE IT)
============================================================================
III. How to read :
------------------
III.1. Sell or Buy Priority :
III.1.A. Sell Priority
- Color background on macd and stoch rsi is pink or purple sell is the priority, (if you're not sure to buy, just wait until the best moment to sell)
III.1.B. Buy Priority
- Color background on macd and stoch rsi Teal or light green buy is the priority, (if you're not sure to sell, just wait until the best moment to buy)
III.1.C. Indecision / Golden Moment
- Color background on stoch rsi yellow is indecision / golden moment of reversal pattern (wait until it formed background only on Stoch RSI), please be careful at this moment.
III.2. Trend / Consolidation :
III.2.A. BULLISH trend
- When Stoch RSI and MACD have teal or light green background that's means BULLISH trend, better to confirm by the candle is above green cloud and lagging span (red line) is also above the candle.
III.2.B. BEARISH trend
- When Stoch RSI and MACD have the Pink or purple background that's means BEARISH trend, better to confirm by the candle is above purple cloud and lagging span (red line) is also below the candle.
III.2.C. CONSOLIDATION
- When Stoch RSI have the mix background that's means CONSOLIDATION, better to confirm by the candle is in or near to green / purple cloud and lagging span (red line) is also on the candle.
III.3. Special Mark
III.3.A. Ideal Bullish :
- Near line 20 and green / teal background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for buy
III.3.B. Not an Ideal Bullish :
- Near line 80 and green / teal background = if this happens make sure you know what happen, it could be a false signal or bullish continual pattern
III.3.C. Ideal Bearish :
- Near line 80 and pink / purple background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for sell position.
III.3.D. Not an Ideal Bearish:
- Near line 20 and pink / purple background = if this happens make sure you know what happen, it could be a false signal or bearish continual pattern
III.3.E. The Beginning of Reversal (from BEARISH to BULLISH) :
- When Stoch RSI line shaping GREEN position is near 20.
- MACD lines still PINK, position lines is UNDER the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL PINK (light pink) and the BACKGROUND still PINK / PURPLE.
- Position CANDLES NEAR BLUE line, NEAR PURPLE CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
III.3.F. The Beginning of Reversal (from BULLISH to BEARISH) :
- When Stoch RSI line shaping PINK position is near 80.
- MACD lines still GREEN, position lines is ABOVE the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL GREEN (light green) and the BACKGROUND still TEAL / GREEN.
- Position CANDLES NEAR WHITE line, NEAR TEAL CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
III.3.G. False Signals, or It could be a Golden Moment (better to see it on TF 15 or bigger):
- Near line 20 or 80 and yellow background = When Stoch RSI have the char R / H on color label, that's means divergence or hidden divergence for buy / sell position, if you not see this label that's means just a standard confirmation for buy / sell depends on where the Stoch RSI line if near 20 that's means buy, near 80 means sell
============================================================================
IV. How to OPEN position:
-------------------------
IV.1. Bullish
IV.1.A. Trendlines Boll Ichi S1 by Gammaprod
- The candles above the green cloud.
- Lagging span (red line) above the candles.
- then open buy near yellow line (the first option) / blue line (the second option) (always confirm the position with two other indicators below).
IV.1.B. MACD Volume S2 by Gammaprod
- Teal or Green background.
- The lines is shaped or shaping green.
- Better if at the green histogram.
IV.1.C. Stoch RSI Divs Zone S3 by Gammaprod
- Teal or Green background.
- The lines is shaping green.
- Better if on the bottom (at a range 20).
IV.2. Bearish
IV.2.A. Trendlines Boll Ichi S1 by Gammaprod
- The candles below the purple cloud.
- Lagging span (red line) below the candles.
- then open buy near yellow line (the first option) / white line (the second option) (always confirm the position with two other indicators below).
IV.2.B. MACD Volume S2 by Gammaprod
- Pink or purple background.
- The lines are shaped or shaping green.
- Better if at the pink histogram.
IV.2.C. Stoch RSI Divs Zone S3 by Gammaprod
- Pink or purple background.
- The lines are shaping pink.
- Better if the line on the top (at a range 80).
IV.3. Consolidation
IV.3.A. Trendlines Boll Ichi S1 by Gammaprod
- The candles on the cloud (green or purple).
- Lagging span (red line) on the candles.
- then open buy near the white or blue line (always confirm the position with two other indicators below).
IV.3.B. MACD Volume S2 by Gammaprod
- Changing the background.
- The line is near the middle line.
- Have small Histogram.
IV.3.C. Stoch RSI Divs Zone S3 by Gammaprod
- Mix background specially on a timeframe 15m or more.
- The line move fast up and down.
- Better if on the bottom or the top of the lines (at a range 20 or 80).
============================================================================
>> The secret ingredient is comparing the timeframe :
The example scalping (Timeframe 1m, 5m and 15m)
- TF 1m is for making an open position.
- TF 5m is for making a judgement of the trend market.
- TF 15m is to confirm that judgement from TF 5m, be careful if it not similar then it used to be a consolidation or the beginning of the reversal.
There's a lot a way to open the position than above information that i gave it to you, but consider there are a limit chars on this column, I hope it will help your trading and make a more profit on it.
MACD Volume S2 By Gammaprod>> How to use this indicator :
1. Set your teadingview theme to dark theme.
2. My indicator is valid for forex, stock and but more valid for crypto.
3. Use three timeframe for more validation (choose between those, that fit to your trading style) :
- Timeframe 1m, 5m, and 15m for Scalping
- Timeframe 30m, 1h and 4h for Intraday
- Timeframe 4h, 1D and 1W for Swing Trading
4 . Always use THREE INDICATORS FROM GAMMAPROD, those three indicators is back to back each other, by the way, I only made those three indicators only (for now) :
- Trendlines Boll Ichi Crypto by Gammaprod
- Stoch RSI Divs Zone Crypto by Gammaprod
- MACD Volume Crypto by Gammaprod
>> How to setting :
1. Trendlines Boll Ichi Crypto by Gammaprod
A. Support and Resistence
- Well if you familiar with this indicator you can add it, but recommended for Timeframe 30m or more
B. Trendlines Primary or Trendlines Secondary
- Timeframe 1m you DON'T NEED Trendlines Primary or Trendlines Secondary
- Timeframe 5m you DON'T NEED Trendlines Secondary, but you CAN ADD Trendlines Primary if you fell it helpful (for me, it is helpful to find where the candles start or the end trend or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 15m you DON'T NEED Trendlines Secondary, DEFENITELY add Trendlines Primary it will help to find where the candles stop or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 30m or more, DEFENITELY NEED BOTH Trendlines Primary and Secondary Trendlines, it will help to find where the candle stop or consolidation or where the candle will surpass a resistance or support).
C. Bolinger, Ichimoku Cloud and Lagging Span
- Please DON'T CHANGE IT at all, it's really helpful to know when and where to make an entry decesion or a trend or a consolidation, if you don't understand how to read it, you better to learn it first (on "how to read" section and "How to OPEN position" the section below)
2. Stoch RSI Divs Zone Crypto by Gammaprod (DON'T CHANGE IT)
3. MACD Volume Crypto by Gammaprod (DON'T CHANGE IT)
>> How to read :
1. Sell or Buy Priority :
A. Buy Priority
- Color background on macd and stoch rsi is pink or purple sell is the priority, (if you're not sure to buy, just wait until the best moment to sell)
B. Buy Priority
- Color background on macd and stoch rsi Teal or light green buy is the priority, (if you're not sure to sell, just wait until the best moment to buy)
C. Indecision / Golden Moment
- Color background on stoch rsi yellow is indecision / golden moment of reversal pattern (wait until it formed background only on Stoch RSI), please becareful at this moment.
2. Trend / Consolidation :
A. BULLISH trend
- When Stoch RSI and MACD have teal or light green background that's means BULLISH trend, better to confirm by the candle is above green cloud and lagging span (red line) is also above the candle.
B. BEARISH trend
- When Stoch RSI and MACD have the Pink or purple background that's means BEARISH trend, better to confirm by the candle is above purple cloud and lagging span (red line) is also below the candle.
C. CONSOLIDATION
- When Stoch RSI have the mix background that's means CONSOLIDATION, better to confirm by the candle is in or near to green / purple cloud and lagging span (red line) is also on the candle.
3. Special Mark
A. Ideal Bullish :
- Near line 20 and green / teal background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for buy
B. Not an Ideal Bullish :
- Near line 80 and green / teal background = if this happens make sure you know what happen, it could be a false signal or bullish continual pattern
C. Ideal Bearish :
- Near line 80 and pink / purple background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for sell position.
D. Not an Ideal Bearish:
- Near line 20 and pink / purple background = if this happens make sure you know what happen, it could be a false signal or bearish continual pattern
E. The Beginning of Reversal (from BEARISH to BULLISH) :
- When Stoch RSI line shaping GREEN position is near 20.
- MACD lines still PINK, position lines is UNDER the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL PINK (light pink) and the BACKGROUND still PINK / PURPLE.
- Position CANDLES NEAR BLUE line, NEAR PURPLE CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
F. The Beginning of Reversal (from BULLISH to BEARISH) :
- When Stoch RSI line shaping PINK position is near 80.
- MACD lines still GREEN, position lines is ABOVE the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL GREEN (light green) and the BACKGROUND still TEAL / GREEN.
- Position CANDLES NEAR WHITE line, NEAR TEAL CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
G. False Signals, or It could be a Golden Moment (better to see it on TF 15 or bigger):
- Near line 20 or 80 and yellow background = When Stoch RSI have the char R / H on color label, that's means divergence or hidden divergence for buy / sell position, if you not see this label that's means just a standard confirmation for buy / sell depends on where the Stoch RSI line if near 20 that's means buy, near 80 means sell
>> How to OPEN position:
A. Bullish
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles above the green cloud.
- Lagging span (red line) above the candles.
- then open buy near yellow line (the first option) / blue line (the second option) (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Teal or Green background.
- The lines is shaping green.
- Better if on the bottom (at a range 20).
3. MACD Volume Crypto by Gammaprod
- Teal or Green background.
- The lines is shaped or shaping green.
- Better if at the green histogram.
B. Bearish
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles below the purple cloud.
- Lagging span (red line) below the candles.
- then open buy near yellow line (the first option) / white line (the second option) (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Pink or purple background.
- The lines are shaping pink.
- Better if the line on the top (at a range 80).
3. MACD Volume Crypto by Gammaprod
- Pink or purple background.
- The lines are shaped or shaping green.
- Better if at the pink histogram.
C. Consolidation
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles on the cloud (green or purple).
- Lagging span (red line) on the candles.
- then open buy near the white or blue line (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Mix background specially on a timeframe 15m or more.
- The line move fast up and down.
- Better if on the bottom or the top of the lines (at a range 20 or 80).
3. MACD Volume Crypto by Gammaprod
- Changing the background.
- The line is near the middle line.
- Have small Histogram.
>> The secret ingridient is comparing the timeframe :
The example scalping (Timeframe 1m, 5m and 15m)
- TF 1m is for making an open position.
- TF 5m is for making a judgement of the trend market.
- TF 15m is to confirm that judgement from TF 5m, be careful if it not similar then it used to be a consolidation or the beginning of the reversal.
There's a lot a way to open the position than above information that i gave it to you, but consider there are a limit char on this column, I hope it will help your trading and make a more profit on it.
Stoch RSI, Div, Zone S3 by Gammaprod>> How to use this indicator :
1. Set your teadingview theme to dark theme.
2. My indicator is valid for forex, stock and but more valid for crypto.
3. Use three timeframe for more validation (choose between those, that fit to your trading style) :
- Timeframe 1m, 5m, and 15m for Scalping
- Timeframe 30m, 1h and 4h for Intraday
- Timeframe 4h, 1D and 1W for Swing Trading
4 . Always use THREE INDICATORS FROM GAMMAPROD, those three indicators is back to back each other, by the way, I only made those three indicators only (for now) :
- Trendlines Boll Ichi Crypto by Gammaprod
- Stoch RSI Divs Zone Crypto by Gammaprod
- MACD Volume Crypto by Gammaprod
>> How to setting :
1. Trendlines Boll Ichi Crypto by Gammaprod
A. Support and Resistence
- Well if you familiar with this indicator you can add it, but recommended for Timeframe 30m or more
B. Trendlines Primary or Trendlines Secondary
- Timeframe 1m you DON'T NEED Trendlines Primary or Trendlines Secondary
- Timeframe 5m you DON'T NEED Trendlines Secondary, but you CAN ADD Trendlines Primary if you fell it helpful (for me, it is helpful to find where the candles start or the end trend or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 15m you DON'T NEED Trendlines Secondary, DEFENITELY add Trendlines Primary it will help to find where the candles stop or a consolidation or where the candles will surpass a resistance or a support).
- Timeframe 30m or more, DEFENITELY NEED BOTH Trendlines Primary and Secondary Trendlines, it will help to find where the candle stop or consolidation or where the candle will surpass a resistance or support).
C. Bolinger, Ichimoku Cloud and Lagging Span
- Please DON'T CHANGE IT at all, it's really helpful to know when and where to make an entry decesion or a trend or a consolidation, if you don't understand how to read it, you better to learn it first (on "how to read" section and "How to OPEN position" the section below)
2. Stoch RSI Divs Zone Crypto by Gammaprod (DON'T CHANGE IT)
3. MACD Volume Crypto by Gammaprod (DON'T CHANGE IT)
>> How to read :
1. Sell or Buy Priority :
A. Buy Priority
- Color background on macd and stoch rsi is pink or purple sell is the priority, (if you're not sure to buy, just wait until the best moment to sell)
B. Buy Priority
- Color background on macd and stoch rsi Teal or light green buy is the priority, (if you're not sure to sell, just wait until the best moment to buy)
C. Indecision / Golden Moment
- Color background on stoch rsi yellow is indecision / golden moment of reversal pattern (wait until it formed background only on Stoch RSI), please becareful at this moment.
2. Trend / Consolidation :
A. BULLISH trend
- When Stoch RSI and MACD have teal or light green background that's means BULLISH trend, better to confirm by the candle is above green cloud and lagging span (red line) is also above the candle.
B. BEARISH trend
- When Stoch RSI and MACD have the Pink or purple background that's means BEARISH trend, better to confirm by the candle is above purple cloud and lagging span (red line) is also below the candle.
C. CONSOLIDATION
- When Stoch RSI have the mix background that's means CONSOLIDATION, better to confirm by the candle is in or near to green / purple cloud and lagging span (red line) is also on the candle.
3. Special Mark
A. Ideal Bullish :
- Near line 20 and green / teal background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for buy
B. Not an Ideal Bullish :
- Near line 80 and green / teal background = if this happens make sure you know what happen, it could be a false signal or bullish continual pattern
C. Ideal Bearish :
- Near line 80 and pink / purple background = When Stoch RSI have the char R / H on lime color label, that's means divergence or hidden divergence for buy position, if you not see this label that's means just a standard confirmation for sell position.
D. Not an Ideal Bearish:
- Near line 20 and pink / purple background = if this happens make sure you know what happen, it could be a false signal or bearish continual pattern
E. The Beginning of Reversal (from BEARISH to BULLISH) :
- When Stoch RSI line shaping GREEN position is near 20.
- MACD lines still PINK, position lines is UNDER the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL PINK (light pink) and the BACKGROUND still PINK / PURPLE.
- Position CANDLES NEAR BLUE line, NEAR PURPLE CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
F. The Beginning of Reversal (from BULLISH to BEARISH) :
- When Stoch RSI line shaping PINK position is near 80.
- MACD lines still GREEN, position lines is ABOVE the HISTOGRAM, but the HISTOGRAM start to SHAPE FALL GREEN (light green) and the BACKGROUND still TEAL / GREEN.
- Position CANDLES NEAR WHITE line, NEAR TEAL CLOUD, and lagging span (red line) STILL ON the area candle. (it used to be confirmed with the golden moment).
G. False Signals, or It could be a Golden Moment (better to see it on TF 15 or bigger):
- Near line 20 or 80 and yellow background = When Stoch RSI have the char R / H on color label, that's means divergence or hidden divergence for buy / sell position, if you not see this label that's means just a standard confirmation for buy / sell depends on where the Stoch RSI line if near 20 that's means buy, near 80 means sell
>> How to OPEN position:
A. Bullish
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles above the green cloud.
- Lagging span (red line) above the candles.
- then open buy near yellow line (the first option) / blue line (the second option) (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Teal or Green background.
- The lines is shaping green.
- Better if on the bottom (at a range 20).
3. MACD Volume Crypto by Gammaprod
- Teal or Green background.
- The lines is shaped or shaping green.
- Better if at the green histogram.
B. Bearish
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles below the purple cloud.
- Lagging span (red line) below the candles.
- then open buy near yellow line (the first option) / white line (the second option) (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Pink or purple background.
- The lines are shaping pink.
- Better if the line on the top (at a range 80).
3. MACD Volume Crypto by Gammaprod
- Pink or purple background.
- The lines are shaped or shaping green.
- Better if at the pink histogram.
C. Consolidation
1. Trendlines Boll Ichi Crypto by Gammaprod
- The candles on the cloud (green or purple).
- Lagging span (red line) on the candles.
- then open buy near the white or blue line (always confirm the position with two other indicators below).
2. Stoch RSI Divs Zone Crypto by Gammaprod
- Mix background specially on a timeframe 15m or more.
- The line move fast up and down.
- Better if on the bottom or the top of the lines (at a range 20 or 80).
3. MACD Volume Crypto by Gammaprod
- Changing the background.
- The line is near the middle line.
- Have small Histogram.
>> The secret ingridient is comparing the timeframe :
The example scalping (Timeframe 1m, 5m and 15m)
- TF 1m is for making an open position.
- TF 5m is for making a judgement of the trend market.
- TF 15m is to confirm that judgement from TF 5m, be careful if it not similar then it used to be a consolidation or the beginning of the reversal.
There's a lot a way to open the position than above information that i gave it to you, but consider there are a limit char on this column, I hope it will help your trading and make a more profit on it.
3EMA + Boullinger + PIVOTTRES EMAS + BANDAS DE BOLLINGER + PIVOTE
INDICADOR 1: TRES EMAS (MEDIA MOVIL EXPONENCIAL)
Con este indicador puede visualizar el promedio de precios con mayor peso a los datos mas recientes.
Se calculan y dibujan tres medias móviles exponenciales: 8, 20 y 200 últimas velas.
-Rápida EMA1 = 8
-Media EMA2 = 20
-Lenta EMA 3 = 200
INDICADOR 2: BANDAS DE BOLLINGER
Con este indicador podrá ver la fuerza y la tendencia del mercado, es decir la mide la volatilidad del precio del activo.
Si el precio sobrepasa la banda superior, el activo está sobrecomprado.
Si el precio sobrepasa la banda inferior, el activo está sobrevendido.
Longitud tendencia - BASE = 20, paso = 1
Desviación Estándar - Multiplicador = 2, paso = 0.2
INDICADOR 3: PIVOTE
Este indicador etiqueta los puntos donde el precio es mínimo y máximo, en un rango de velas determinado en el parámetro "Distancia para el Pivote".
Estos 3 indicadores sirven para todo tipo de activos: FOREX, CRIPTO, CFD´s, ETC.
------------------------------------------------------------------------------------------------------------------
THREE EMAS + BOLLINGER BANDS + PIVOT
INDICATOR 1: THREE EMAS ( EXPONENTIAL MOVING AVERAGE )
With this indicator you can visualize the average of prices with greater weight to the most recent data.
Three exponential moving averages are calculated and drawn: 4, 20 and 200 last candles.
-Fast EMA1 = 8
-Average EMA2 = 20
-Slow EMA 3 = 200
INDICATOR 2: BOLLINGER BANDS
With this indicator you can see the strength and trend of the market, that is, it is measured by the volatility of the asset price.
If the price goes above the upper band, the asset is overbought.
If the price goes above the lower band, the asset is oversold.
Trend length - BASE = 20, step = 1
Standard Deviation - Multiplier = 2, step = 0.2
INDICATOR 3: PIVOT
This indicator labels the points where the price is minimum and maximum, in a range of candles determined in the parameter "Distance to Pivot".
These 3 indicators are used for all types of assets: FOREX, CRYPT, CFD's, ETC.
Realtime FootprintThe purpose of this script is to gain a better understanding of the order flow by the footprint. To that end, i have added unusual features in addition to the standard features.
I use "Real Time 5D Profile by LucF" main engine to create basic footprint(profile type) and added some popular features and my favorites.
This script can only be used in realtime, because tradingview doesn't provide historical Bid/Ask date.
Bid/Ask date used this script are up/down ticks.
This script can only be used by time based chart (1m, 5m , 60m and daily etc)
This script use many labels and these are limited max 500, so you can't display many bars.
If you want to display foot print bars longer, turn off the unused sub-display function.
Default setting is footprint is 25 labels, IB count is 1, COT high and Ratio high is 1, COT low and Ratio low is 1 and Delta Box Ratio Volume is 1 , total 29.
plus UA , IB stripes , ladder fading mark use several labels.
///////// General Setting ///////////
Resets on Volume / Range bar
: If you want to use simple time based Resets on, please set Total Volume is 0.
Your timeframe is always the first condition. So if you set Total Volume is 1000, both conditions(Volume >= 1000 and your timeframe start next bar) must be met. (that is, new footprint bar doesn't start at when total volume = exactly 1000).
Ticks per row and Maximum row of Bar
: 1 is minimum size(tick). "Maximum row of Bar" decide the number of rows used in one footprint. 1 row is created from 1 label, so you need to reduce this number to display many footprints (Max label is 500).
Volume Filter and For Calculation and Display
: "Volume Filter" decide minimum size of using volume for this script.
"For Calculation and Display" is used to convert volume to an integer.
This script only use integer to make profile look better (I contained Bid number and Ask number in one row( one label) to saving labels. This require to make no difference in width by the number of digits and this script corresponds integers from 0 to 3 digits).
ex) Symbol average volume size is from 0.0001 to 0.001. You decide only use Volume >= 0.0005 by "Volume Filter".
Next, you convert volume to integer, by setting "For Calculation and Display" is 1000 (0.0005 * 1000 = 5).
If 0.00052 → 5.2 → 5, 0.00058 → 5.8 → 6 (Decimal numbers are rounded off)
This integer is used to all calculation in this script.
//////// Main Display ///////
Footprint, Total, Row Delta, Diagonal Delta and Profile
: "Footprint" display Ask and Bid per row. "Total" display Ask + Bid per row.
"Row Delta" display Ask - Bid per row. "Diagonal Delta" display Ask(row N) - Bid(row N -1) per row.
Profile display Total Volume(Ask + Bid) per row by using Block. Profile Block coloring are decided by Row Delta value(default: positive Row Delta (Ask > Bid) is greenish colors and negative Row Delta (Ask < Bid) is reddish colors.)
Volume per Profile Block, Row Imbalance Ratio and Delta Bull/Bear/Neutral Colors
: "Volume per Profile Block" decide one block contain how many total volume.
ex) When you set 20, Total volume 70 display 3 block.
The maximum number of blocks that can be used per low is 20.
So if you set 20, Total volume 400 is 20 blocks. total volume 800 is 20 blocks too.
"Row Imbalance Ratio" decide block coloring. The row imbalance is that the difference between Ask and Bid (row delta) is large.
default is x3, x2 and x1. The larger the difference, the brighter the color.
ex) Ask 30 Bid 10 is light green. Ask 20 Bid 10 is green. Ask 11 Bid 10 is dark green.
Ask 0 Bid 1 is light red. Ask 1 Bid 2 is red. ask 30 Bid 59 is dark green.
Ask 10 Bid 10 is neutral color(gray)
profile coloring is reflected same row's other elements(Ask, Bid, Total and Delta) too.
It's because one label can only use one text color.
/////// Sub Display ///////
Delta, total and Commitment of Traders
: "Delta" is total Ask - total Bid in one footprint bar. Total is total Ask + total Bid in one footprint bar.
"Commitment of traders" is variation of "Delta". COT High is reset to 0 when current highest is touched. COT Low is opposite.
Basic concept of Delta is to compare price with Delta. Ordinary, when price move up, delta is positive. Price move down is negative delta.
This is because market orders move price and market orders are counted by Delta (although this description is not exactly correct).
But, sometimes prices do not move even though many market orders are putting pressure on price , or conversely, price move strongly without many market orders.
This is key point. Big player absorb market orders by iceberg order(Subdivide large orders and pretend to be small limit orders.
Small limit orders look weak in the order book, but they are added each time you fill, so they are more powerful than they look.), so price don't move.
On the other hand, when the price is moving easily, smart players may be aiming to attract and counterattack to a better price for them.
It's more of a sport than science, and there's always no right response. Pay attention to the relationship between price, volume and delta.
ex) If COT Low is large negative value, it means many sell market orders is coming, but iceberg order is absorbing their attack at limit order.
you should not do buy entry, only this clue. but this is one of the hints.
"Delta, Box Ratio and Total texts is contained same label and its color are "Delta" coloring. Positive Delta is Delta Bull color(green),Negative Delta is Delta Bear Color
and Delta = 0 is Neutral Color(gray). When Delta direction and price direction are opposite is Delta Divergence Color(yellow).
I didn't add the cumulative volume delta because I prefer to display the CVD line on the price chart rather than the number.
Box Ratio , Box Ratio Divisor and Heavy Box Ratio Ratio
: This is not ordinary footprint features, but I like this concept so I added.
Box Ratio by Richard W. Arms is simple but useful tool. calculation is "total volume (one bar) divided by Bar range (highest - lowest)."
When Bull and bear are fighting fiercely this number become large, and then important price move happen.
I made average BR from something like 5 SMA and if current BR exceeds average BR x (Heavy Box Ratio Ratio), BR box mark will be filled.
Box Ratio Divisor is used to good looking display(BR multiplied by Box Ratio Divisor is rounded off and displayed as an integer)
Diagonal Imbalance Count , D IB Mark and D IB Stripes
: Diagonal Imbalance is defined by "Diagonal Imbalance Ratio".
ex) You set 2. When Ask(row N) 30 Bid(row N -1)10, it's 30 > 10*2, so positive Diagonal Imbalance.
When Ask(row N) 4 Bid(row N -1)9, it's 4*2 < 9, so negative Diagonal Imbalance.
This calculation does not use equals to avoid Ask(row N) 0 Bid(row N -1)0 became Diagonal Imbalance.
Ask(row N) 0 Bid(row N -1)0, it's 0 = 0*2, not Diagonal Imbalance. Ask(row N) 10 Bid(row N -1)5, it's 10 = 5*2, not Diagonal Imbalance.
"D IB Mark" emphasize Ask or Bid number which is dominant side(Winner of Diagonal Imbalance calculation), by under line.
"Diagonal Imbalance Count" compare Ask side D IB Mark to Bid side D IB Mark in one footprint.
Coloring depend on which is more aggressive side (it has many IB Mark) and When Aggressive direction and price direction are opposite is Delta Divergence Color(yellow).
"D IB Stripes" is a function that further emphasizes with an arrow Mark, when a DIB mark is added on the same side for three consecutive row. Three consecutive arrow is added at third row.
Unfinished Auction, Ratio Bounds and Ladder fading Mark
: "Unfinished Auction" emphasize highest or lowest row which has both Ask and Bid, by Delta Divergence Color(yellow) XXXXXX mark.
Unfinished Auction sometimes has magnet effect, price may touch and breakout at UA side in the future.
This concept is famous as profit taking target than entry decision.
But, I'm interested in the case that Big player make fake breakout at UA side and trapped retail traders, and then do reversal with retail traders stop-loss hunt.
Anyway, it's not stand alone signal.
"Ratio Bounds" gauge decrease of pressure at extreme price. Ratio Bounds High is number which second highest ask is divided by highest ask.
Ratio Bounds Low is number which second lowest bid is divided by lowest bid. The larger the number, the less momentum the price has.
ex)first footprint bar has Ratio Bounds Low 2, second footprint bar has RBL 4, third footprint bar has RBL 20.
This indicates that the bear's power is gradually diminishing.
"Ladder fading mark" emphasizes the decrease of the value in 3 consecutive row at extreme price. I added two type Marks.
Ask/Bid type(triangle Mark) is Ask/Bid values are decreasing of three consecutive row at extreme price.
Row Imbalance type(Diamond Mark) are row Imbalance values are decreasing of three consecutive row at extreme price.
ex)Third lowest Bid 40, second lowest Bid 10 and lowest Bid 5 have triangle up Mark. That is bear's power is gradually diminishing.
(This Mark only check Bid value at lowest price and Ask value at highest price).
Third highest row delta + 60, second highest row delta + 5, highest delta - 20 have diamond Mark. That is Bull's power is gradually diminishing.
Sub display use Delta colors at bottom of Sub display section.
////// Candle & POC /////////
candle and POC
: Ordinary, "POC" Point of Control is row of largest total volume, but this script'POC is volume weighted average.
This is because the regular POC was visually displayed by the profile ,and I was influenced LucF's ideas.
POC coloring is decided in relation to the previous POC. When current POC is higher than previous POC, color is UP Bar Color(green).
In the opposite case, Down Bar color is used.
POC Divergence Color is used when Current POC is up but current bar close is lower than open (Down price Bar),or in the opposite case.
POC coloring has option also highlight background by Delta Divergence Color(yellow). but bg color is displayed at your time frame current price bar not current footprint bar.
The basic explanation is over.
I add some image to promote understanding basic ideas.
T3 + BB
TRES EMAS + BANDAS DE BOLLINGER
INDICADOR 1: TRES EMAS (MEDIA MOVIL EXPONENCIAL)
Con este indicador puede visualizar el promedio de precios con mayor peso a los datos mas recientes.
Se calculan y dibujan tres medias móviles exponenciales: 4, 20 y 200 últimas velas.
-Rápida EMA1 = 4, paso = 1
-Media EMA2 = 20, paso = 2
-Lenta EMA 3 = 200, paso = 10
INDICADOR 2: BANDAS DE BOLLINGER
Con este indicador podrá ver la fuerza y la tendencia del mercado, es decir la mide la volatilidad del precio del activo.
Si el precio sobrepasa la banda superior, el activo está sobrecomprado.
Si el precio sobrepasa la banda inferior, el activo está sobrevendido.
Longitud tendencia - BASE = 20, paso = 1
Desviación Estándar - Multiplicador = 2, paso = 0.2
Estos 2 indicadores sirven para todo tipo de activos: FOREX, CRIPTO, CFD´s, ETC.
------------------------------------------------------------------------------------------------------------------
THREE EMAS + BOLLINGER BANDS
INDICATOR 1: THREE EMAS (EXPONENTIAL MOVING AVERAGE)
With this indicator you can visualize the average of prices with greater weight to the most recent data.
Three exponential moving averages are calculated and drawn: 4, 20 and 200 last candles.
-Fast EMA1 = 4, step = 1
-Average EMA2 = 20, step = 2
-Slow EMA 3 = 200, step = 10
INDICATOR 2: BOLLINGER BANDS
With this indicator you can see the strength and trend of the market, that is, it is measured by the volatility of the asset price.
If the price goes above the upper band, the asset is overbought.
If the price goes above the lower band, the asset is oversold.
Trend length - BASE = 20, step = 1
Standard Deviation - Multiplier = 2, step = 0.2
These 2 indicators are used for all types of assets: FOREX, CRYPT, CFD's, ETC.
PROFIT INDICATORFirst let me tell you which indicators have been used in this script so that you have the confidence while taking the trade:
(a) Bollinger Band with 20 SMA Inside it - Currently it is off, you can turn it on from settings.
(b) HMA 33, I have added the option of using two HMA's simultaneously. You can use HMA, EMA, SMA as per your settings and it would be color trending.
(c) VWAP- you can turn it on from settings
(d) CPR- you can turn it on from settings
(e) EMA's 20, 50, 200. Currently off, you can turn it on from settings.
(d) SMA's 50 and 200. Currently off, yu can turn it on from settings, if you want to use 20 SMA you can use bollinger band basis that is 20 period SMA.
(f) Trend bar at bottom on the basis of 50 EMA.
(g) Half Trend
(h) Trend strength Detector
(d) EMA 50 high and low to show the pac channel. I am not using this however as per request I have added this. Currently, it is trun on and you can turn it off from settings.
(f) Auto Fib levels
Please use a stick note for few days and mention imp notes before taking trade to check if all the conditions are matching to take the trade.
Buy Condition:-
1. Bolling band should be widely open.
2. Check the support and resistance from CPR. Candle should close above support in green.
3. Check the trend bar at bottom, it should be green, if it is grey in colour dont enter in trade.
4. Candle should be closing above EMA 50 and its upto you if you need additional confirmation, you can use EMA 20, 50, 200 and SMA 50 and 200, this is optional.
5. You can use VWAP as support or resistance and you can turn it on from settings.
6. Trending HMA of 33 should be in green for buy.
7. Half trend Indicator should give buy signal.
8. Trend Strength Indicator for checking the strength of the trend, if the arrow is big upside, you can go for buy.
9. Exit from buy trade when it start showing very small arrow which means trend is about to change.
10.Exit buy trade at 61.8 Fib level
Sell Condition:-
1. Bolling band should be widely open.
2. Check the support and resistance from CPR. Candle should close below resistance in red.
3. Check the trend bar at bottom, it should be red, if it is grey in colour dont enter in trade.
4. Candle should be closing below EMA 50 and its upto you if you need additional confirmation, you can use EMA 20, 50, 200 and SMA 50 and 200, this is optional.
5. You can use VWAP as support or resistance and you can turn it on from settings.
6. Trending HMA of 33 should be in red for sell.
7. Half trend Indicator should give sell signal.
8. Trend Strength Indicator for checking the strength of the trend, if the arrow is big downside, you can go for sell.
9. Exit from sell trade when down arrows start showing very small in size which means trend is about to change.
10.Exit sell trade at 61.8 Fib level
4 SMAs & Inside Bar (Colored)SMAs and Inside Bar strategy is very common as far as Technical analysis is concern. This script is a combination of 10-20-50-200 SMA and Inside Bar Candle Identification.
SMA Crossover:
4 SMAs (10, 20, 50 & 200) are combined here in one single indicator.
Crossover signal for Buy as "B" will be shown in the chart if SMA 10 is above 20 & 50 and SMA 20 is above 50.
Crossover signal for Sell as "S" will be shown in the chart if SMA 10 is below 20 & 50 and SMA 20 is below 50.
Inside Bar Identification:
This is to simply identify if there is a inside bar candle. The logic is very simple - High of the previous candle should be higher than current candle and low of the previous candle should be lower than the current candle.
If the previous candle is red, the following candle would be Yellow - which may give some bullish view in most of the cases but not always
If the previous candle is green, the following candle would be Black - which may give some bearish view in most of the cases but not always
Be Cautious when you see alternate yellow and black candle, it may give move on the both side
Please comment if you have any interesting ideas to improve this indicator.
HYE Combo Market [Strategy] (Vwap Mean Reversion + Trend Hunter)In this strategy, I used a combination of trend hunter and vwap mean reversion strategies that I published before.
Trend Hunter Strategy:
Mean Reversion Vwap Strategy:
The results are quite impressive, especially for bitcoin.
While the hodl return for bitcoin was 13419%, the strategy's return in the same period was about 5 times (65000%) of this.
s3.tradingview.com
In this combo strategy, I made some changes to the original settings of the strategies used together and added some more new features.
Trend Hunter Strategy Settings: (Original / Combo)
- Slow Tenkansen Period : 9 / 9
- Slow Kijunsen Period : 26 / 13
- Fast Tenkansen Period : 5 / 3
- Fast Kijunsen Period : 13 / 7
- BB Length : 20 / 20
- BB Stdev : 2 / 2
- TSV Length : 13 / 20
- TSV Ema Length : 7 / 7
* I also added a "vidya moving average" to be used as a confirmation tool to open a long position. (Candle close must be above the vidya line.)
Vwap Mean Reversion Strategy Settings: (Original / Combo)
- Small Vwap : 2 / 8
- Big Vwap : 5 / 10
- Percent Below to Buy : 3 / 2
- RSI Period : 2 / 2
- RSI Ema Period : 5 / 5
- Maximum RSI Level for Buy : 30
* I also added a "mean vwap line" to be used for exits in this part of the strategy. In the original version, when small vwap crossovers big vwap, we close the position, but in this strategy we will wait for the close above the mean vwap.
TIPS AND WARNINGS
1-) The standard settings of this combo strategy is designed and tested with daily timeframe. For lower timeframes, you should change the strategy settings and find the best value for yourself.
2-) Only the mean vwap line is displayed on the graph. For a detailed view, you can delete the "//" marks from the plot codes in the strategy code.
3-) This is a strategy for educational and experimental purposes. It cannot be considered as investment advice. You should be careful and make your own risk assessment when opening real market trades using this strategy.
________________________________________________________
Bu stratejide, daha önce yayınladığım trend avcısı ve vwap ortalamaya geri dönüş stratejilerinin bir kombinasyonunu kullandım.
Sonuçlar özellikle bitcoin için oldukça etkileyici.
Bitcoin için hodl getirisi %13419 iken, stratejinin aynı dönemdeki getirisi bunun yaklaşık 5 katı (%65000) idi.
Bu kombo stratejide, birlikte kullanılan stratejilerin orijinal ayarlarında bazı değişiklikler yaptım ve bazı yeni özellikler ekledim.
Trend Avcısı Strateji Ayarları: (Orijinal / Combo)
- Yavaş Tenkansen Periyodu : 9 / 9
- Yavaş Kijunsen Periyodu : 26 / 13
- Hızlı Tenkansen Periyodu : 5 / 3
- Hızlı Kijunsen Periyodu : 13 / 7
- BB Uzunluğu : 20 / 20
- BB Standart Sapması : 2 / 2
- TSV Uzunluğu : 13 / 20
- TSV Ema Uzunluğu : 7 / 7
* Ayrıca long pozisyon açmak için onay aracı olarak kullanılmak üzere "vidya hareketli ortalama" ekledim. (Mum kapanışı vidya çizgisinin üzerinde olmalıdır.)
Vwap Ortalamaya Dönüş Stratejisi Ayarları: (Orijinal / Combo)
- Küçük Vwap : 2 / 8
- Büyük Vwap : 5 / 10
- Alış İçin Gerekli Fark Oranı : 3 / 2
- RSI Periyodu : 2 / 2
- RSI Ema Periyodu: 5 / 5
- Alış için gerekli maksimum RSI seviyesi : 30
* Stratejinin bu bölümünde pozisyondan çıkışlar için kullanılacak bir "ortalama vwap çizgisi" de ekledim. Orijinal versiyonda, küçük vwap, büyük vwap'ı yukarı kestiğinde pozisyonu kapatıyoruz, ancak bu stratejide, ortalama vwap'ın üzerindeki kapanışı bekleyeceğiz.
İPUÇLARI VE UYARILAR
1-) Bu birleşik stratejinin standart ayarları, günlük zaman dilimi ile tasarlanmış ve test edilmiştir. Daha düşük zaman dilimleri için strateji ayarlarını değiştirmeli ve kendiniz için en iyi değeri bulmalısınız.
2-) Grafikte sadece ortalama vwap çizgisi görüntülenir. Ayrıntılı bir görünüm için strateji kodundaki "plot" ile başlayan satırlarda grafikte görünmesini istediğiniz özelliğin önündeki "//" işaretlerini silebilirsiniz.
3-) Eğitim ve deneysel amaçlı bir stratejidir. Yatırım tavsiyesi olarak değerlendirilemez. Bu stratejiyi kullanarak gerçek piyasa işlem açarken dikkatli olmalı ve kendi risk değerlendirmenizi yapmalısınız.
Price Distance to its MA by DGTPrices high above the moving average (MA) or low below it are likely to be remedied in the future by a reverse price movement as stated in an Article by Denis Alajbeg, Zoran Bubas and Dina Vasic published in International Journal of Economics, Commerce and Management
Here comes a study to indicate the idea of this article, Price Distance to its Moving Averages (P/MA Ratio)
The analysis expressed in the paper indicates that there is a connection between the distance of the prices to moving averages and subsequent returns : portfolios of stocks with lower prices to moving averages generally outperformed portfolios of stocks with higher prices to moving averages. This “overextended” effect is more pronounced when using shorter moving averages of 20 and 50 days, and is especially strong in short-term holding periods like one and two weeks. The highest annual returns are recorded when buying in the range of 0-5% below shorter moving averages of 20/50 days, and 0-10% below longer moving averages of 100/200 days. However, buying very far below almost all moving averages on almost all holding periods produces the lowest returns.
The concept of this study recognizes three different modes of action.
In a clearly established upward trend traders should be buying when prices are near or below the MA line and selling when prices move too far above the MA.
Conversely, in downward trend stocks should be shorted when reaching or going above the moving average and covered when they drop too far below the MA line.
In a sideways movement traders are advised to buy if the price is too low below the moving average and sell when it goes too far above it
Short-term traders can expect to outperform in a one or two week time window if buying stocks with lower prices compared to their 20 and 50 SMA/EMA, one to two-week holding periods is quite high, ranging from 72,09% to 90,61% for the SMA(20, 50) and 85,03% to 87,5% for the EMA(20, 50). The best results for the SMA 20 and 50, on average, are concentrated in the region of 0-5% below the MA for the majority of holding periods. Buying very far below almost all MA in almost all holding periods turns out to be the worst possible option
Candle patterns, momentum could be used in conjunction with this indicator for better results. Try Colored DMI and Ichimoku colored SuperTrend by DGT
Turtle Trade Channels by KıvanÇ fr3762his trend following system was designed by Dennis Gartman and Bill Eckhart, and relies on breakouts of historical highs and lows to take and close trades: it is the complete opposite to the "buy low and sell high" approach. This trend following system was taught to a group of average and normal individuals, and almost everyone turned into a profitable trader.
The main rule is "Trade an N-day breakout and take profits when an M-day high or low is breached (N must me above M)". Examples:
Buy a 10-day breakout and close the trade when price action reaches a 5-day low.
Go short a 20-day breakout and close the trade when price action reaches a 10-day high.
In this indicator, the red line is the trading line, and the dotted blue line is the exit line. Original system is:
Go long when the trading line crosses below close price
Go short when the trading line rosses above close price
Exit long positions when the price touches the exit line
Exit short positions when the price touches the exit line
Recommended initial stop-loss is ATR * 2 from the opening price. Default system parameters were 20,10 and 55,20.
Original Turtle Rules:
To trade exactly like the turtles did, you need to set up two indicators representing the main and the failsafe system.
Set up the main indicator with TradePeriod = 20 and StopPeriod = 10 (A.k.a S1)
Set up the failsafe indicator with TradePeriod = 55 and StopPeriod = 20 using a different color. (A.k.a S2)
The entry strategy using S1 is as follows
Buy 20-day breakouts using S1 only if last signaled trade was a loss.
Sell 20-day breakouts using S1 only if last signaled trade was a loss.
If last signaled trade by S1 was a win, you shouldn't trade -Irregardless of the direction or if you traded last signal it or not-
The entry strategy using S2 is as follows:
Buy 55-day breakouts only if you ignored last S1 signal and the market is rallying without you
Sell 55-day breakouts only if you ignored last S1 signal and the market is pluging without you
The turtles had a progressive position sizing approach that boosted their winnings. Once a trading decision has been made you should...
Developers: Dennis Gartman and Bill Eckhart
İndikatörü geliştiren: Dennis Gartman and Bill Eckhart
MACD/EMA Long StrategyThis incredibly simple strategy uses a combination of the 20 EMA and bullish/bearish MACD crosses as a low risk method of getting in and out of markets.
Depending on whether the market is above or below the 200 SMA, the script determines if the market is in bullish or bearish territory. Above the 200 SMA, the script will ignore the 20 EMA as a buy condition and buy solely on the confirmation of a bullish MACD cross upon the close of a candle. In this bullish market, the script will only enable the sell condition if both the MACD is bearish AND a close below the 20 EMA occurs. This is to reduce the chances of the script selling prematurely in the event of a bearish MACD cross, if the market is still in overall bullish territory.
When the market is below the 200 SMA, the confirmation occurs in the opposite direction. The buy condition will only be met if both the MACD is bullish AND a close above the 20 EMA occurs. However, the sell condition ignores the 20 EMA and will sell solely on the confirmation of a bearish MACD cross upon the close of the candle.
This strategy can be used in both bullish and bearish markets. This conservative strategy will slightly underperform in a bull market, with the sell condition occasionally being met and then potentially buying back higher. However, it will successfully get you out of a turning market and automatically switch into a more 'risk-off' mentality during a bear market. This strategy is not recommended for sideways markets, as trading around the 20 EMA coupled with a relatively flat MACD profile can cause the strategy to buy the peaks and sell troughs easily.