Indicator

Indicator

Indicator

Zig Zag Channels [LuxAlgo]The Zig Zag indicator is a useful indicator when it comes to visualizing past underlying trends in the price and can make the process of using drawing tools easier. The indicator consists of a series of lines connecting points where the price deviates more than a specific percentage from a maximum/minimum point ultimately connecting local peaks and troughs.
This indicator by its very nature backpaints by default, meaning that the displayed components are offset in the past.
🔶 USAGE
The Zig Zag indicator is commonly used to returns points of references for the usage of specific drawing tools, such as Fibonacci retracements, fans, squares...etc.
The proposed indicator estimates peaks and troughs by using rolling maximums/minimums with a window size determining their significance. This window size approach allows us to have an indicator that works with a certain regularity no matter the scale of the price, something the percentage-based approach struggles with. Additionally, one upper and lower extremity are displayed, highlighting the price point that deviates the most from the Zig Zag lines.
A common usage also includes the easy determination of Elliot wave patterns in the price.
The Zig Zag indicator above highlights a downtrending motive wave.
🔹 Extremities
The novel approach taken by this Zig Zag indicator is the addition of two extremities derived from the distance between the price and the Zig Zag line, thus returning channels. It is uncommon seeing extremities in Zig Zag indicators since the line connecting peaks and troughs has rarely any other utility than seeing trend variations with more clarity and is not meant to provide an accurate estimate of underlying local trends in the price.
This channel can be useful to study the potential relationship between underlying trends and the Zig Zag line. A low width between the Zig Zag and the upper extremity indicates price variations mostly located below the Zig Zag while equal width indicates more linear trends.
When the indicator is extended to the last line, the extremities provide potential support and resistances, thus making this indicator able to forecast price variations.
🔶 SETTINGS
Length: Determines the significance of the detected peaks and troughs.
Extend To Last Bar: Extend the most recent line to the most recent closing price value.
Show Extremities: Displays the extremities.
Show Labels: Display labels highlighting the high/low prices located at peaks and troughs.
🔹 Style
Upper Extremity Color: Color of the upper extremity displayed by the indicator.
Zig Zag Color: Color of the ZigZag lines.
Lower Extremity Color: Color of the lower extremity displayed by the indicator.
Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Logging in Pine ScriptI'm building quite a lot of pretty complicated indicators/strategies in Pine Script. Quite often they don't work from the 1 try so I have to debug them heavily.
In Pine Script there are no fancy debuggers so you have to be creative. You can plot values on your screens, check them in the data window, etc.
If you want to display some textual information, you can plot some info as labels on the screen.
It's not the most convenient way, so with the appearance of tables in Pine Script, I decided to implement a custom logger that will allow me to track some useful information about my indicator over time.
Tables work much better for this kind of thing than labels. They're attached to your screen, you can nicely scale them and you can style them much better.
The idea behind it is very simple. I used few arrays to store the message, bar number, timestamp, and type of the message (you can color messages depend on the type for example).
There is a function log_msg that just append new messages to these arrays.
In the end, for the last bar, I create the table and display the last X messages in it.
In parameters, you can show/hide the entire journal, change the number of messages displayed and choose an offset. With offset, you can basically scroll through the history of messages.
Currently, I implemented 3 types of messages, and I color messages according to these types:
Message - gray
Warning - yellow
Error - red
Of course, it's a pretty simple example, you can create a much fancier way of styling your logs.
What do you think about it? Is it useful for you? What do you use to debug code in Pine Script?
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Indicator

Indicator

CPR, Camarilla & Moving AverageThis script is created primarily for Intraday trading but can also be used for short and long term trading. This is a combination of Central Pivot Range (CPR), Moving Averages and Camarilla Pivot levels (with inner levels). This helps you to combine the strategies of CPR and Moving Averages to identify the best trading opportunities with greater edge. Central Pivot Range and Camarilla pivots are taken from PivotBoss by Franc Ochoa.
Key features:
# Daily CPR levels
# Weekly CPR levels
# Monthly CPR levels
# Previous Day High and Lows
# Previous Week Highs and Lows
# Previous Month Highs and Lows
# Camarilla Pivots with inner Levels
# CPR Levels for the next Day, Week and Month
# 5 Simple moving averages and 5 Exponential Moving Averages
What separates this script from other scripts with CPR and Moving averages?
# One of the few indicators (if not the only one) which combines the 2 types of Moving Averages, CPR and also Camarilla Pivots.
# CPR Levels for not just the next Day, but for next Week(Weekly CPR) and Month(Monthly CPR) also.
# Hide the previous day's levels according to your wish. This is the most unique feature of this indicator. You can set the number of Daily CPR levels you want to load in the chart. This is not just for the Daily CPR but also for the Weekly and Monthly CPR also. This makes the chart less cluttered and prevents the candles from getting buried in the indicators. Please notice how the previous day's CPR levels are hidden in the displayed demo chart on the script page. In the chart, only one trading day's data is shown(by default).
# This script is OPEN SOURCE.
Strategies :
For CPR & Camarilla Strategies for intraday trading and swing trading refer to the book 'Secrets of a Pivot Boss: Revealing Proven Methods for Profiting in the Market' by Franklin O. Ochoa.
Moving averages strategies :
Moving averages can be combined and also used individually for several strategies
* 9 EMA can be used as trailing stop loss for strong moving trends that helps you to catch big moves.
* 20sma can be used not just trailing stop loss but also for taking re-entry to the trend.
* Golden cross - The golden cross occurs when a short-term moving average crosses over a major long-term moving average to the upside. This indicates a bullish turn in the market. Eg: 50 SMA cuts 200 SMA from below.
* Death Cross - The death cross occurs when the short term moving average crosses the long-term average from above. This indicates a bearish turn in the market. Eg: 50 SMA cuts 200 SMA from above.
* When 20 SMA is above 50 SMA and 20 SMA and 50 SMA are angling up like parallel lines, then it denotes bullish strength. If this happens right after Golden Cross, big moves to the upside can be expected.
* When 20 SMA is below 50 SMA and 20 SMA and 50 SMA are angling down like parallel lines, then it denotes bearish strength. If this happens right after Death Cross, big moves to the downside can be expected.
* When 20SMA and 50 SMA are going flat and crossing each other, then it denotes sideways sentiment.
Moving average strategies are taken from the book 'How to Make Money in Intraday Trading' by Ashwani Gujral. For learning more about how to combine CPR and Moving averages in your trading please refer to this book.
Indicator

Strategy

Strategy

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator

Indicator
