Here Double with HHLL script is with you. it calculates 2 simultaneously and draws them, and also it calculates and puts Higher High, Lower Low, Higher Low, Lower High labels. All these are done dynamically, it means last HH/HL/LL/LH can change. if price continues to go up then HL can turn to LL or if price continues to go down then LH can turn to HH. This script can be used for different purposes such trend analysis, levels, breakouts etc.
I tried to make many things optional:
You can set Periods for Zig Zags as you wish
You can set different colors for both Up/Down lines
You have option to show both , one of them or none them
You have option to show both HHLL, one of them or none them
You can set 1 line style as Dashed or Dotted
You can set Line Widths for Zig Zags
"Text Color" option added for the text in labels.
Just so that you understand what I mean - currently the color of the labels is determined by the direction in statement " color = dir1 == 1 ? upcol1 : dncol1 ". This means that the Highs (HH/LH) always use the bullish color and the Lows (HL/LL) use the bearish color. In my analysis I see HH/HL as bullish (--> uptrend) and LH/LL as bearish (--> downtrend).
So by changing the above expression to " color = (hhlltxt == "HH" or hhlltxt == "HL") ? upcol1 : dncol1 ", it would be possible to easily identify uptrend by supsequent bullish colored labels and a downtrend by subsequent bearish colored labels.
But of course this is only personal preference.