► Timeframe selection
— The higher timeframe (HTF) can be selected in 3 different ways:
• By steps (15 min., 60 min., 4H, 1D, 3D, 1W, 1M, 1Y). This setting is the default.
• As a multiple of the current chart's resolution, which can be fractional, so 3.5 will work.
— The HTF used can be displayed near the last bar (default).
— Note that using the HTF is not mandatory. If it is disabled, the indicator will calculate on the chart's resolution.
— Non-repainting or repainting mode can be selected. This has no impact on the display of historical bars, but when no repainting is selected, detection in the realtime bar will be delayed by one chart bar (not one bar at the HTF).
— Three color schemes are provided: green/red, aqua/pink and coral/violet (the default).
— Both the thickness and brightness of lines can be controlled separately for the hi and lo .
— The visibility of the last hi/lo can be enhanced.
— Prices can be displayed on lines and the text's size and color can be adjusted.
— The number of bars required for the left/right legs can be controlled (the default is 4).
— The source can be selected individually for hi and lo (the default is hlc3 and low.
— The mean of the hi/lo values of the last few thousand chart bars can be displayed. having lasted longer during the mean's period will weigh more in the calculation. The mean can be displayed in running mode and/or only showing its last level as a long horizontal line. I don't find it very useful; maybe others will.
► Markers and Alerts
— Markers can be configured on breaches of either the last hi/lo levels, or the hi/lo mean. Crossovers and crossunders are controlled separately.
— Alerts can be configured using any of the marker combinations. As is usual for my indicators, only one alert is used. It will trigger on the markers that are active when you create your alert. Once your markers are set up the way you want, create your alert from the chart/timeframe you want the alert to run on, and be sure to use the “Once Per Bar Close” triggering condition. Use an alert message that will remind you of the combination of markers used when creating the alert. If you use multiple markers to trigger one alert, then having the indicator show those markers will be important to help you figure out which marker triggered the alert when it fired.
A quick look at the pattern of these markers will hopefully convince you that using them as entry/exit signals would be perilous, as they are prone to whipsaw. I have included them because some traders may use the markers as reminders.
These can be used in a few different ways:
— When using the high/low sources they will show extreme levels, breaches of which should be more significant.
— Another way to use them is with hlc3 (the average of the high, low and close) for hi and low for the lo . This accounts for my personal mythology to the effect that drops typically reach previous lows more easily than rallies make newer highs.
— Using low for hi and high for lo (so backward) can be a useful way to set stops or to detect weakness in movements.
You will usually be better served by if you consider them as denoting regions rather than precise levels. The flexibility in the display options of this indicator will help you adapt it to the way you use your . To indicate areas rather than levels, for example, try using a brightness of 1 with a line thickness of 30. The cloud effect generated this way will show areas better than fine lines.
Realize that these lines are positioned in the past, and so they are drawn after the fact because a given number of bars need to elapse before calculations determine a has occurred. You will thus never see a top, for example, identified on the realtime bar. To detect a , it takes a number of bars corresponding to the dilation of the higher timeframe in the current one, multiplied by the number of bars you use for your pivots' right leg. Also note that the Pine native function used to detect in this indicator considers a summit to be a top when the number of bars in each leg are lower or equal to that top. Bars in legs do not need to be progressively lower on each side of the for a to be detected.
If you program in Pine
— See the Pinecoders MTF Selection Framework for an explanation of the functions used in this script to provide the selection mechanism for the higher timeframe.
— This code uses the Pine Script Coding Conventions.
— To the Pine coders asking questions in the Pine Script chat on TV; your questions got me to write this indicator.
• You can now define the number of last pivots to display.
• Price values display with tick precision.
• The mean or median of the number of pivots displayed can be plotted as a running value. You can also highlight the last value.
• Pivot crosses detect a cross of any of the last n pivots displayed.
Tools and ideas for all Pine coders: http://www.pinecoders.com
I did modify to find the pivot points - not using a for loop and delta - this is the code snippet if you are interested
// In case a pivot is found, find the offset to the bar matching its level [these functions need to be called on each bar]. Only send pivot value when one is found, so loop isn't executed on every bar. len_1 = chartBarsOffset_r len_2 = int(len_1+chartBarsOffset_l) pH_condition = nz(highest(high,len_1),high) == nz(highest(high,len_2),high) and not(htf_do_not_calc) pL_condition = nz(lowest(low,len_1),low) == nz(lowest(low,len_2),low) and not(htf_do_not_calc) var PivH=high var PivL=low PivH := not(pH_condition) and pH_condition? nz(high[len_1+1]):PivH PivL := not(pL_condition) and pL_condition? nz(low[len_1+1]):PivL new_ph = PivH!=PivH new_pl = PivL!=PivL
.. when that equality fails to hold then a pivot exists and use the offset to find the high and low using a direct historical reference.. high
.. new one is when what is found is not the same as the last found etc..
the htf_do_not_calc uses your maxbars criteria
i also avoid using the security function