AGAIG Chart Setup Modifications

rajaodu1

New member
VIP
Hi script gurus, Here is my shared chart. I am using these indicators on regular basis and they are super helpful. Can I request for the following modification. I tried but failed to change.

https://tos.mx/!BvXf8ZxQ

1. Shared_AsGoodAsitGets_indicator, shows Long and short. Sometimes that clogs the view of the candle.
(a) Can a input be added as Input_showbubble = yes; and based on that I can turn off and on the long and short messages.
(b) On the chart, is it possible to move those Long and short message a bit upper /lower to the candles or even little bit to left / right

2. In the ORB indicator, can you add an option to show ORB lines and ORB bubbles as input. It would be great, if there is an option where I can toggle with (a) Show lines and bubbles (b) Show lines only (c) Do not show line and bubble.


3. SR_renko_alert_pivot_point. Is it possible to extend those support and resistance lines? Possible give an option of how much length to be drawn as input.

4. SR_Fib_recentPivot. Fib lines are created based on recent pivot. Can you create fib lines based on session high and session low (between 9.30 AM - 4 PM - EST).

Thanks for all your help and time
uTS2.JPG

uTS.JPG
 
Last edited by a moderator:
Hi script gurus, Here is my shared chart. I am using these indicators on regular basis and they are super helpful. Can I request for the following modification. I tried but failed to change.

https://tos.mx/!BvXf8ZxQ

1. Shared_AsGoodAsitGets_indicator, shows Long and short. Sometimes that clogs the view of the candle.
(a) Can a input be added as Input_showbubble = yes; and based on that I can turn off and on the long and short messages.
(b) On the chart, is it possible to move those Long and short message a bit upper /lower to the candles or even little bit to left / right

2. In the ORB indicator, can you add an option to show ORB lines and ORB bubbles as input. It would be great, if there is an option where I can toggle with (a) Show lines and bubbles (b) Show lines only (c) Do not show line and bubble.


3. SR_renko_alert_pivot_point. Is it possible to extend those support and resistance lines? Possible give an option of how much length to be drawn as input.

4. SR_Fib_recentPivot. Fib lines are created based on recent pivot. Can you create fib lines based on session high and session low (between 9.30 AM - 4 PM - EST).

Thanks for all your help and time
View attachment 23148
View attachment 23147

The following link includes modifications to the indicators you requested:
https://tos.mx/!4q0gNik1

1. a and b controlled by
input showbubbles = yes;
input bubble_offset = 6;
2. controlled by:
input Display_lines_bubbles = {default "Lines and Bubbles", "Lines Only", None};
3. It would need a separate plot for each line. Can be done but too much coding at this time.
4, controlled by:
input Fib_basis = {default Pivot, RTHours};
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

View attachment 23155
HI @SleepyZ Thats amazing. Thank you for your help. It works great. Can I ask another addition please. Can you add bubbles on fib lines (just like ORB 5 Hi) and also have an option to turn the bubble off / on. Again thank you

Here are optional, movable sideways fib bubbles added to the script:

Code:
#fib_peaks_latest

#https://usethinkscript.com/threads/fib-retracement-based-on-the-high-low-from-market-open-close.19588/
#fib retracement based on the high / low from market open / close

#https://usethinkscript.com/threads/zigzag-high-low-with-supply-demand-zones-for-thinkorswim.172/#post-7048
#post10
#robert

input Fib_basis = {default Pivot, RTHours};
def rth = SecondsFromTime(0930) >= 0 and SecondsFromTime(1600) <= 0;

def na = Double.NaN;
def bn = BarNumber();

#def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def lastbn = HighestAll(if IsNaN(close) then 0 else bn);
def lastbar = bn == lastbn;
#def lastbar = (!isnan(close) and isnan(close[-1]));

def highx = high;
def lowx  = low;
input length = 7;

def offset = Min(length - 1, lastbn - bn);
def peak = highx > Highest(highx[1], length - 1) and highx == GetValue(Highest(highx, length), -offset);
def valley = lowx < Lowest(lowx[1], length - 1) and lowx == GetValue(Lowest(lowx, length), -offset);

input arrows = no;
plot zhi = if arrows and peak then high * 1.001 else na;
plot zlo = if arrows and valley then low * 0.999 else na;

zlo.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
zlo.SetDefaultColor(Color.RED);
zlo.SetLineWeight(1);
zlo.HideBubble();

zhi.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
zhi.SetDefaultColor(Color.GREEN);
zhi.SetLineWeight(1);
zhi.HideBubble();


# identify the very last peak point
def lastpeakbn = HighestAll(if peak then bn else 0);
def lastpeakvalue = if bn == lastpeakbn then high else lastpeakvalue[1];
#plot hi1 = if bn < lastpeakbn then Double.NaN else lastpeakvalue;
#hi1.SetDefaultColor(Color.green);


# identify the very last valley point
def lastvalleybn = HighestAll(if valley then bn else 0);
def lastvalleyvalue = if bn == lastvalleybn then low else lastvalleyvalue[1];
#plot low1 = if bn < lastvalleybn then Double.NaN else lastvalleyvalue;
#low1.SetDefaultColor(Color.RED);

def diag1 = if bn == 1 then na
 else if bn == lastpeakbn then high
 else if bn == lastvalleybn then low
 else na;
plot zdiag1 = diag1;
zdiag1.EnableApproximation();
zdiag1.SetDefaultColor(Color.YELLOW);
#zdiag1.setlineweight(1);
zdiag1.HideBubble();
zdiag1.SetStyle(Curve.MEDIUM_DASH);

def dir = if lastpeakbn > lastvalleybn then -1
 else if lastpeakbn < lastvalleybn then 1
 else 0;

def lastpvbn = Max(lastpeakbn, lastvalleybn);

#High/Low defined using Volumeprofile data
def bars = 100000;

def period = bn - 1;
def count  = CompoundValue(1,
if rth and period != period[1]
then (count[1] + period - period[1]) % bars
else count[1], 0);
def cond = count < count[1] + period - period[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = bars, "pricePerRow" = PricePerRow.TICKSIZE , "value area percent" = 0);

def hProfile = if rth and IsNaN(vol.GetHighest())
               then hProfile[1]
               else vol.GetHighest();
def lProfile = if rth and IsNaN(vol.GetLowest())
               then lProfile[1]
               else vol.GetLowest();

def RTH_high = if rth then hProfile else na;
def RTH_low  = if rth then lProfile else na;

plot hi = if Fib_basis == Fib_basis.RTHours then RTH_high else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastpeakvalue else na;
plot lo = if Fib_basis == Fib_basis.RTHours then RTH_low else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastvalleyvalue else na;
hi.SetDefaultColor(Color.WHITE);
lo.SetDefaultColor(Color.WHITE);


def c0 = 0.000;
def c1 = 0.236;
def c2 = 0.382;
def c3 = 0.500;
def c4 = 0.618;
def c5 = 0.786;
def c6 = 1.000;


def rng = hi - lo;

def f1;
def f2;
def f3;
def f4;
def f5;
if dir > 0
then {
    f1 = lo + (rng * c1);
    f2 = lo + (rng * c2);
    f3 = lo + (rng * c3);
    f4 = lo + (rng * c4);
    f5 = lo + (rng * c5);
} else {
    f1 = hi - (rng * c1);
    f2 = hi - (rng * c2);
    f3 = hi - (rng * c3);
    f4 = hi - (rng * c4);
    f5 = hi - (rng * c5);
}


plot zf1 = f1;
plot zf2 = f2;
plot zf3 = f3;
plot zf4 = f4;
plot zf5 = f5;

zf1.SetDefaultColor(Color.GRAY);
zf2.SetDefaultColor(Color.ORANGE);
zf3.SetDefaultColor(Color.MAGENTA);
zf4.SetDefaultColor(Color.ORANGE);
zf5.SetDefaultColor(Color.GRAY);

input show_bubbles = yes;
input bubblemover  = 2;
def b  = bubblemover;
def b1 = b + 1;

AddChartBubble(show_bubbles and !IsNaN(zf1[b1]) and IsNaN(zf1 [b] ) , zf1[b1], c1, zf1.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and !IsNaN(zf2[b1]) and IsNaN(zf2 [b] ) , zf2[b1], c2, zf2.TakeValueColor());
zf2.HideBubble();
AddChartBubble(show_bubbles and !IsNaN(zf3[b1]) and IsNaN(zf3 [b] ) , zf3[b1], c3, zf3.TakeValueColor());
zf3.HideBubble();
AddChartBubble(show_bubbles and !IsNaN(zf4[b1]) and IsNaN(zf4 [b] ) , zf4[b1], c4, zf4.TakeValueColor());
zf4.HideBubble();
AddChartBubble(show_bubbles and !IsNaN(zf5[b1]) and IsNaN(zf5 [b] ) , zf5[b1], c5, zf5.TakeValueColor());
zf5.HideBubble();
#
 
1729205748386.png

1729205833976.png

@SleepyZ Thanks for your time to look into this. The fib numbers are correct when there is a downtrend (17 october). However when the price goes to uptrend (16th October) the fib numbers do not match. Can you please help to look here. Again thanks for all the awesome support.
 
View attachment 23161
View attachment 23162
@SleepyZ Thanks for your time to look into this. The fib numbers are correct when there is a downtrend (17 october). However when the price goes to uptrend (16th October) the fib numbers do not match. Can you please help to look here. Again thanks for all the awesome support.

This modifies 'def dir', which determines the Fib order, to include logic for RTHours option that was not in the above post.
As I was coding after RTHours, I also missed that the bubbles did not plot on the last day during RTHours, so this was also fixed.

Code:
#fib_peaks_latest

#https://usethinkscript.com/threads/fib-retracement-based-on-the-high-low-from-market-open-close.19588/
#fib retracement based on the high / low from market open / close

#https://usethinkscript.com/threads/zigzag-high-low-with-supply-demand-zones-for-thinkorswim.172/#post-7048
#post10
#robert

input Fib_basis = {default Pivot, RTHours};
def rth = SecondsFromTime(0930) >= 0 and SecondsFromTime(1600) <= 0;

def na = Double.NaN;
def bn = BarNumber();

#def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def lastbn = HighestAll(if IsNaN(close) then 0 else bn);
def lastbar = bn == lastbn;
#def lastbar = (!isnan(close) and isnan(close[-1]));

def highx = high;
def lowx  = low;
input length = 7;

def offset = Min(length - 1, lastbn - bn);
def peak = highx > Highest(highx[1], length - 1) and highx == GetValue(Highest(highx, length), -offset);
def valley = lowx < Lowest(lowx[1], length - 1) and lowx == GetValue(Lowest(lowx, length), -offset);

input arrows = no;
plot zhi = if arrows and peak then high * 1.001 else na;
plot zlo = if arrows and valley then low * 0.999 else na;

zlo.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
zlo.SetDefaultColor(Color.RED);
zlo.SetLineWeight(1);
zlo.HideBubble();

zhi.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
zhi.SetDefaultColor(Color.GREEN);
zhi.SetLineWeight(1);
zhi.HideBubble();


# identify the very last peak point
def lastpeakbn = HighestAll(if peak then bn else 0);
def lastpeakvalue = if bn == lastpeakbn then high else lastpeakvalue[1];
#plot hi1 = if bn < lastpeakbn then Double.NaN else lastpeakvalue;
#hi1.SetDefaultColor(Color.green);


# identify the very last valley point
def lastvalleybn = HighestAll(if valley then bn else 0);
def lastvalleyvalue = if bn == lastvalleybn then low else lastvalleyvalue[1];
#plot low1 = if bn < lastvalleybn then Double.NaN else lastvalleyvalue;
#low1.SetDefaultColor(Color.RED);

def diag1 = if bn == 1 then na
 else if bn == lastpeakbn then high
 else if bn == lastvalleybn then low
 else na;
plot zdiag1 = diag1;
zdiag1.EnableApproximation();
zdiag1.SetDefaultColor(Color.YELLOW);
#zdiag1.setlineweight(1);
zdiag1.HideBubble();
zdiag1.SetStyle(Curve.MEDIUM_DASH);

def lastpvbn = Max(lastpeakbn, lastvalleybn);

#High/Low defined using Volumeprofile data
def bars = 100000;

def period = bn - 1;
def count  = CompoundValue(1,
if rth and period != period[1]
then (count[1] + period - period[1]) % bars
else count[1], 0);
def cond = count < count[1] + period - period[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = bars, "pricePerRow" = PricePerRow.TICKSIZE , "value area percent" = 0);

def hProfile = if rth and IsNaN(vol.GetHighest())
               then hProfile[1]
               else vol.GetHighest();
def lProfile = if rth and IsNaN(vol.GetLowest())
               then lProfile[1]
               else vol.GetLowest();

def RTH_high = if rth then hProfile else na;
def RTH_low  = if rth then lProfile else na;

plot hi = if Fib_basis == Fib_basis.RTHours then RTH_high else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastpeakvalue else na;
plot lo = if Fib_basis == Fib_basis.RTHours then RTH_low else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastvalleyvalue else na;
hi.SetDefaultColor(Color.WHITE);
lo.SetDefaultColor(Color.WHITE);

def hibar = if high == HighestAll(RTH_high) then bn else hibar[1];
def lobar = if low == HighestAll(RTH_low) then bn else lobar[1];

def c0 = 0.000;
def c1 = 0.236;
def c2 = 0.382;
def c3 = 0.500;
def c4 = 0.618;
def c5 = 0.786;
def c6 = 1.000;


def rng = hi - lo;

def f1;
def f2;
def f3;
def f4;
def f5;

def dir = if Fib_basis == Fib_basis.RTHours
then if lobar < hibar
then -1
else 1
else if Fib_basis == Fib_basis.Pivot
then if lastpeakbn > lastvalleybn
then -1
else  1
else dir[1];
#addchartBubble(1,low,hibar+"\n"+lobar+"\n"+dir,color.white,no);

if dir > 0
then {
    f1 = lo + (rng * c1);
    f2 = lo + (rng * c2);
    f3 = lo + (rng * c3);
    f4 = lo + (rng * c4);
    f5 = lo + (rng * c5);
} else {
    f1 = hi - (rng * c1);
    f2 = hi - (rng * c2);
    f3 = hi - (rng * c3);
    f4 = hi - (rng * c4);
    f5 = hi - (rng * c5);
}


plot zf1 = f1;
plot zf2 = f2;
plot zf3 = f3;
plot zf4 = f4;
plot zf5 = f5;

zf1.SetDefaultColor(Color.GRAY);
zf2.SetDefaultColor(Color.ORANGE);
zf3.SetDefaultColor(Color.MAGENTA);
zf4.SetDefaultColor(Color.ORANGE);
zf5.SetDefaultColor(Color.GRAY);

input show_bubbles = yes;
input bubblemover  = 2;
def b  = bubblemover;
def b1 = b + 1;

AddChartBubble(show_bubbles and (IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf1[b1]) and IsNaN(zf1 [b] )) , zf1[b1], c1, zf1.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf2[b1]) and IsNaN(zf2 [b] )) , zf2[b1], c2, zf2.TakeValueColor());
zf2.HideBubble();
AddChartBubble(show_bubbles and (IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf3[b1]) and IsNaN(zf3 [b] )) , zf3[b1], c3, zf3.TakeValueColor());
zf3.HideBubble();
AddChartBubble(show_bubbles and (IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf4[b1]) and IsNaN(zf4 [b] )) , zf4[b1], c4, zf4.TakeValueColor());
zf4.HideBubble();
AddChartBubble(show_bubbles and (IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf5[b1]) and IsNaN(zf5 [b] )) , zf5[b1], c5, zf5.TakeValueColor());
zf5.HideBubble();
#
 
Thanks Again. Hopefully last request. (1) The lines before and after is getting clogged the workspace. Is it possible to remove the Fib lines from the left after the daily high or low changes his direction. (2) is it possible to put a bubble with bubble mover for High and Low.

Thanks again for all the great work and knowledge


1729273048934.png
 
Thanks Again. Hopefully last request. (1) The lines before and after is getting clogged the workspace. Is it possible to remove the Fib lines from the left after the daily high or low changes his direction. (2) is it possible to put a bubble with bubble mover for High and Low.

Thanks again for all the great work and knowledge


View attachment 23172

This should now flip the fibs according to the direction.
The high/low bubble has been added and will display as either 1 or 0 depending on direction

Code:
#fib_peaks_latest

#https://usethinkscript.com/threads/fib-retracement-based-on-the-high-low-from-market-open-close.19588/
#fib retracement based on the high / low from market open / close

#https://usethinkscript.com/threads/zigzag-high-low-with-supply-demand-zones-for-thinkorswim.172/#post-7048
#post10
#robert

input Fib_basis = {default Pivot, RTHours};
def rth = SecondsFromTime(0930) >= 0 and SecondsFromTime(1600) <= 0;

def na = Double.NaN;
def bn = BarNumber();

#def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def lastbn = HighestAll(if IsNaN(close) then 0 else bn);
def lastbar = bn == lastbn;
#def lastbar = (!isnan(close) and isnan(close[-1]));

def highx = high;
def lowx  = low;
input length = 7;

def offset = Min(length - 1, lastbn - bn);
def peak = highx > Highest(highx[1], length - 1) and highx == GetValue(Highest(highx, length), -offset);
def valley = lowx < Lowest(lowx[1], length - 1) and lowx == GetValue(Lowest(lowx, length), -offset);

input arrows = no;
plot zhi = if arrows and peak then high * 1.001 else na;
plot zlo = if arrows and valley then low * 0.999 else na;

zlo.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
zlo.SetDefaultColor(Color.RED);
zlo.SetLineWeight(1);
zlo.HideBubble();

zhi.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
zhi.SetDefaultColor(Color.GREEN);
zhi.SetLineWeight(1);
zhi.HideBubble();


# identify the very last peak point
def lastpeakbn = HighestAll(if peak then bn else 0);
def lastpeakvalue = if bn == lastpeakbn then high else lastpeakvalue[1];
#plot hi1 = if bn < lastpeakbn then Double.NaN else lastpeakvalue;
#hi1.SetDefaultColor(Color.green);


# identify the very last valley point
def lastvalleybn = HighestAll(if valley then bn else 0);
def lastvalleyvalue = if bn == lastvalleybn then low else lastvalleyvalue[1];
#plot low1 = if bn < lastvalleybn then Double.NaN else lastvalleyvalue;
#low1.SetDefaultColor(Color.RED);

def diag1 = if bn == 1 then na
 else if bn == lastpeakbn then high
 else if bn == lastvalleybn then low
 else na;
plot zdiag1 = diag1;
zdiag1.EnableApproximation();
zdiag1.SetDefaultColor(Color.YELLOW);
#zdiag1.setlineweight(1);
zdiag1.HideBubble();
zdiag1.SetStyle(Curve.MEDIUM_DASH);

def lastpvbn = Max(lastpeakbn, lastvalleybn);

#High/Low defined using Volumeprofile data
def bars = 100000;

def period = bn - 1;
def count  = CompoundValue(1,
if rth and period != period[1]
then (count[1] + period - period[1]) % bars
else count[1], 0);
def cond = count < count[1] + period - period[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = bars, "pricePerRow" = PricePerRow.TICKSIZE , "value area percent" = 0);

def hProfile = if rth and IsNaN(vol.GetHighest())
               then hProfile[1]
               else vol.GetHighest();
def lProfile = if rth and IsNaN(vol.GetLowest())
               then lProfile[1]
               else vol.GetLowest();

def RTH_high = if rth then hProfile else na;
def RTH_low  = if rth then lProfile else na;

plot hi = if Fib_basis == Fib_basis.RTHours then RTH_high else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastpeakvalue else na;
plot lo = if Fib_basis == Fib_basis.RTHours then RTH_low else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastvalleyvalue else na;
hi.SetDefaultColor(Color.WHITE);
lo.SetDefaultColor(Color.WHITE);

def hh = if GetDay() == GetLastDay() and SecondsFromTime(0930) == 0 then high else if rth and high > hh[1] then high else  hh[1];
def ll = if GetDay() != GetLastDay() and SecondsFromTime(0930) == 0 then low else if rth and low < ll[1] then low else ll[1];
def hibar = if high == (hh) then bn else hibar[1];
def lobar = if low == (ll) then bn else lobar[1];

#AddChartBubble(1, low, bn + "\n" + hibar + "\n" + lobar, Color.WHITE, no);
def c0 = 0.000;
def c1 = 0.236;
def c2 = 0.382;
def c3 = 0.500;
def c4 = 0.618;
def c5 = 0.786;
def c6 = 1.000;

def rng = hi - lo;

def f1;
def f2;
def f3;
def f4;
def f5;


def dir = if Fib_basis == Fib_basis.RTHours
then if lobar < hibar
then -1
else 1
else if Fib_basis == Fib_basis.Pivot
then if lastpeakbn > lastvalleybn
then -1
else  1
else dir[1];

if dir > 0
then {

    f1 = lo + (rng * c1);
    f2 = lo + (rng * c2);
    f3 = lo + (rng * c3);
    f4 = lo + (rng * c4);
    f5 = lo + (rng * c5);

} else {

    f1 = hi - (rng * c1);
    f2 = hi - (rng * c2);
    f3 = hi - (rng * c3);
    f4 = hi - (rng * c4);
    f5 = hi - (rng * c5);
}

plot zf1 = if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f1
else if Fib_basis == Fib_basis.Pivot
then f1
else na;
plot zf2 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f2
else if Fib_basis == Fib_basis.Pivot
then f2
else na;
plot zf3 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f3
else if Fib_basis == Fib_basis.Pivot
then f3
else na;
plot zf4 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f4
else if Fib_basis == Fib_basis.Pivot
then f4
else na;
plot zf5 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f5
else if Fib_basis == Fib_basis.Pivot
then f5
else na;
zf1.SetDefaultColor(Color.GRAY);
zf2.SetDefaultColor(Color.ORANGE);
zf3.SetDefaultColor(Color.MAGENTA);
zf4.SetDefaultColor(Color.ORANGE);
zf5.SetDefaultColor(Color.GRAY);

input show_bubbles = yes;
input bubblemover  = 2;
def b  = bubblemover;
def b1 = b + 1;

AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(hi[b1]) and IsNaN(hi [b] )) , hi[b1], if dir[b1] < 0 then 0 else 1, hi.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(lo[b1]) and IsNaN(lo [b] )) , lo[b1], if dir[b1] < 0 then 1 else 0, lo.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf1[b1]) and IsNaN(zf1 [b] )) , zf1[b1], c1, zf1.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf2[b1]) and IsNaN(zf2 [b] )) , zf2[b1], c2, zf2.TakeValueColor());
zf2.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf3[b1]) and IsNaN(zf3 [b] )) , zf3[b1], c3, zf3.TakeValueColor());
zf3.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf4[b1]) and IsNaN(zf4 [b] )) , zf4[b1], c4, zf4.TakeValueColor());
zf4.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf5[b1]) and IsNaN(zf5 [b] )) , zf5[b1], c5, zf5.TakeValueColor());
zf5.HideBubble();

#
 
@SleepyZ Today I was trying to add the fib script to renko charts. The fib lines are working fine, however is it possible to remove the fib lines on the left (as you helped on candle charts) from the renko. Thanks in advance




1729521966815.png
 
@SleepyZ Today I was trying to add the fib script to renko charts. The fib lines are working fine, however is it possible to remove the fib lines on the left (as you helped on candle charts) from the renko. Thanks in advance




View attachment 23192

The fib indicator should now work with time and renko charts to limit the fib line plots
It also should fix the issue you posted while I was working on this.

Code:
#fib_peaks_latest

#https://usethinkscript.com/threads/fib-retracement-based-on-the-high-low-from-market-open-close.19588/
#fib retracement based on the high / low from market open / close

#https://usethinkscript.com/threads/zigzag-high-low-with-supply-demand-zones-for-thinkorswim.172/#post-7048
#post10
#robert

input Fib_basis = {default Pivot, RTHours};
def rth = SecondsFromTime(0930) >= 0 and SecondsFromTime(1600) <= 0;

def na = Double.NaN;
def bn = BarNumber();

#def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def lastbn = HighestAll(if IsNaN(close) then 0 else bn);
def lastbar = bn == lastbn;
#def lastbar = (!isnan(close) and isnan(close[-1]));

def highx = high;
def lowx  = low;
input length = 7;

def offset = Min(length - 1, lastbn - bn);
def peak = highx > Highest(highx[1], length - 1) and highx == GetValue(Highest(highx, length), -offset);
def valley = lowx < Lowest(lowx[1], length - 1) and lowx == GetValue(Lowest(lowx, length), -offset);

input arrows = no;
plot zhi = if arrows and peak then high * 1.001 else na;
plot zlo = if arrows and valley then low * 0.999 else na;

zlo.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
zlo.SetDefaultColor(Color.RED);
zlo.SetLineWeight(1);
zlo.HideBubble();

zhi.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
zhi.SetDefaultColor(Color.GREEN);
zhi.SetLineWeight(1);
zhi.HideBubble();


# identify the very last peak point
def lastpeakbn = HighestAll(if peak then bn else 0);
def lastpeakvalue = if bn == lastpeakbn then high else lastpeakvalue[1];

# identify the very last valley point
def lastvalleybn = HighestAll(if valley then bn else 0);
def lastvalleyvalue = if bn == lastvalleybn then low else lastvalleyvalue[1];

def diag1 = if bn == 1 then na
 else if bn == lastpeakbn then high
 else if bn == lastvalleybn then low
 else na;
plot zdiag1 = diag1;
zdiag1.EnableApproximation();
zdiag1.SetDefaultColor(Color.YELLOW);
zdiag1.HideBubble();
zdiag1.SetStyle(Curve.MEDIUM_DASH);

def lastpvbn = Max(lastpeakbn, lastvalleybn);

#High/Low defined using Volumeprofile data
def bars = 100000;

def period = bn - 1;
def count  = CompoundValue(1,
if rth and period != period[1]
then (count[1] + period - period[1]) % bars
else count[1], 0);
def cond = count < count[1] + period - period[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = bars, "pricePerRow" = PricePerRow.TICKSIZE , "value area percent" = 0);

def hProfile = if rth and IsNaN(vol.GetHighest())
               then hProfile[1]
               else vol.GetHighest();
def lProfile = if rth and IsNaN(vol.GetLowest())
               then lProfile[1]
               else vol.GetLowest();

def RTH_high = if getday() == getlastday() and rth then hProfile else na;
def RTH_low  = if getday() == getlastday() and rth then lProfile else na;

plot hi = if Fib_basis == Fib_basis.RTHours then RTH_high else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastpeakvalue else na;
plot lo = if Fib_basis == Fib_basis.RTHours then RTH_low else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastvalleyvalue else na;
hi.SetDefaultColor(Color.WHITE);
lo.SetDefaultColor(Color.WHITE);

def hibar = if high == rth_high then bn else na;
def lobar = if low  == rth_low  then bn else na;

def c0 = 0.000;
def c1 = 0.236;
def c2 = 0.382;
def c3 = 0.500;
def c4 = 0.618;
def c5 = 0.786;
def c6 = 1.000;

def rng = hi - lo;

def f1;
def f2;
def f3;
def f4;
def f5;


def dir = if Fib_basis == Fib_basis.RTHours
then if highestall(lobar) < highestall(hibar)
then -1
else 1
else if Fib_basis == Fib_basis.Pivot
then if lastpeakbn > lastvalleybn
then -1
else  1
else dir[1];

if dir > 0
then {

    f1 = lo + (rng * c1);
    f2 = lo + (rng * c2);
    f3 = lo + (rng * c3);
    f4 = lo + (rng * c4);
    f5 = lo + (rng * c5);

} else {

    f1 = hi - (rng * c1);
    f2 = hi - (rng * c2);
    f3 = hi - (rng * c3);
    f4 = hi - (rng * c4);
    f5 = hi - (rng * c5);
}

plot zf1 = if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f1
else if Fib_basis == Fib_basis.Pivot
then f1
else na;
plot zf2 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f2
else if Fib_basis == Fib_basis.Pivot
then f2
else na;
plot zf3 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f3
else if Fib_basis == Fib_basis.Pivot
then f3
else na;
plot zf4 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f4
else if Fib_basis == Fib_basis.Pivot
then f4
else na;
plot zf5 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f5
else if Fib_basis == Fib_basis.Pivot
then f5
else na;
zf1.SetDefaultColor(Color.GRAY);
zf2.SetDefaultColor(Color.ORANGE);
zf3.SetDefaultColor(Color.MAGENTA);
zf4.SetDefaultColor(Color.ORANGE);
zf5.SetDefaultColor(Color.GRAY);

input show_bubbles = yes;
input bubblemover  = 2;
def b  = bubblemover;
def b1 = b + 1;

AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(hi[b1]) and IsNaN(hi [b] )) , hi [b1], if dir[b1] < 0 then 0 else 1, hi.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(lo[b1]) and IsNaN(lo [b] )) , lo [b1], if dir[b1] < 0 then 1 else 0, lo.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf1[b1]) and IsNaN(zf1 [b] )) , zf1[b1], c1, zf1.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf2[b1]) and IsNaN(zf2 [b] )) , zf2[b1], c2, zf2.TakeValueColor());
zf2.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf3[b1]) and IsNaN(zf3 [b] )) , zf3[b1], c3, zf3.TakeValueColor());
zf3.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf4[b1]) and IsNaN(zf4 [b] )) , zf4[b1], c4, zf4.TakeValueColor());
zf4.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(close[b]) and !IsNaN(close[b1]) or !IsNaN(zf5[b1]) and IsNaN(zf5 [b] )) , zf5[b1], c5, zf5.TakeValueColor());
zf5.HideBubble();

#

Also, in case you want to hide some of the Long/Short bubbles, this adds an
input limit_bubbles = yes;
input bubble_limit = 10;
Code:
#CSR Buy/Sell Arrows with Short/LongHaulFilter Bubbles
#Developed 4-9-22 First Edition

declare upper;

input showbubbles   = yes;
input bubble_offset = 6;
input limit_bubbles = yes;
input bubble_limit  = 10;

input atrreversal = 2.0;#Hint atrreversal: Turn down for more entries, up for less entries. Purple signal indicates low point reversal and close approaching Kijun. Orange signal indicates the price is crossing the Kijun. Green signal indicates the low of the candle holds over the Kijun. Red signal means reversal at a high point.   
def priceh = MovingAverage(AverageType.EXPONENTIAL, high, 5);
def pricel = MovingAverage(AverageType.EXPONENTIAL, low, 5);

def EIL = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = .01, "absolute reversal" = .05, "atr length" = 5, "atr reversal" = atrreversal).lastL;
def EIH = ZigZagHighLow("price h" = priceh, "price l" = pricel, "percentage reversal" = .01, "absolute reversal" = .05, "atr length" = 5, "atr reversal" = atrreversal).lastH;

def tenkan_period = 9;
def kijun_period = 26;
def Kijun = (Highest(high, kijun_period) + Lowest(low, kijun_period)) / 2;
def avgPerc = ((Kijun - close) / Kijun) * 100;

plot signal = !isNaN(EIL) within 15 bars and low < Kijun and avgPerc < 15 and avgPerc > 0 and avgPerc[1] < avgPerc;
signal.setDefaultColor(color.white);

plot KijunCross = signal within 10 bars and Crosses(close, kijun, CrossingDirection.ABOVE);
kijuncross.setDefaultColor(color.white);

def overKijun = (kijunCross within 10 bars or overKijun[1] == 1) and low > kijun;
plot overKijun1 = overKijun;
overKijun1.setDefaultcolor(color.white);

plot signaldown = !isNAN(EIH);
signaldown.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_down); AddLabel(!isNAN(EIH),"Short",color.white);
plot signalrevBot = !isNaN(EIL);

def count = if !isnan(close) and (signaldown or signalrevbot) then count[1] + 1 else count[1];
def cond  = highestall(count) - count + 1;

AddChartBubble(showbubbles and SignalDown, if limit_bubbles and cond > bubble_limit then double.nan else high + ticksize() * bubble_offset,"Short", Color.white, yes);
AddChartBubble(showbubbles and Signalrevbot, if limit_bubbles and cond > bubble_limit then double.nan else low - ticksize() * bubble_offset, "Long", Color.White, no);


AddLabel(!isNan(EIL), "LONG", Color.GREEN);

input usealerts = yes;
alert(usealerts and signaldown[1] == 1, "Short", alert.bar, sound.ring);
alert(usealerts and signalrevbot[1] == 1, "Long", alert.bar, sound.ring);
 
Any thoughts, why I am seeing double bubbles?


View attachment 23199

Edited at 3:20 pm.

It looks like a part of the code used early on when the last day was not the only day displayed as it is now.

So hopefully this works!

Code:
#fib_peaks_latest

#https://usethinkscript.com/threads/fib-retracement-based-on-the-high-low-from-market-open-close.19588/
#fib retracement based on the high / low from market open / close

#https://usethinkscript.com/threads/zigzag-high-low-with-supply-demand-zones-for-thinkorswim.172/#post-7048
#post10
#robert

input Fib_basis = {default Pivot, RTHours};
def rth = SecondsFromTime(0930) >= 0 and SecondsFromTime(1600) <= 0;

def na = Double.NaN;
def bn = BarNumber();

#def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def lastbn = HighestAll(if IsNaN(close) then 0 else bn);
def lastbar = bn == lastbn;
#def lastbar = (!isnan(close) and isnan(close[-1]));

def highx = high;
def lowx  = low;
input length = 7;

def offset = Min(length - 1, lastbn - bn);
def peak = highx > Highest(highx[1], length - 1) and highx == GetValue(Highest(highx, length), -offset);
def valley = lowx < Lowest(lowx[1], length - 1) and lowx == GetValue(Lowest(lowx, length), -offset);

input arrows = no;
plot zhi = if arrows and peak then high * 1.001 else na;
plot zlo = if arrows and valley then low * 0.999 else na;

zlo.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
zlo.SetDefaultColor(Color.RED);
zlo.SetLineWeight(1);
zlo.HideBubble();

zhi.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
zhi.SetDefaultColor(Color.GREEN);
zhi.SetLineWeight(1);
zhi.HideBubble();


# identify the very last peak point
def lastpeakbn = HighestAll(if peak then bn else 0);
def lastpeakvalue = if bn == lastpeakbn then high else lastpeakvalue[1];

# identify the very last valley point
def lastvalleybn = HighestAll(if valley then bn else 0);
def lastvalleyvalue = if bn == lastvalleybn then low else lastvalleyvalue[1];

def diag1 = if bn == 1 then na
 else if bn == lastpeakbn then high
 else if bn == lastvalleybn then low
 else na;
plot zdiag1 = diag1;
zdiag1.EnableApproximation();
zdiag1.SetDefaultColor(Color.YELLOW);
zdiag1.HideBubble();
zdiag1.SetStyle(Curve.MEDIUM_DASH);

def lastpvbn = Max(lastpeakbn, lastvalleybn);

#High/Low defined using Volumeprofile data
def bars = 100000;

def period = bn - 1;
def count  = CompoundValue(1,
if rth and period != period[1]
then (count[1] + period - period[1]) % bars
else count[1], 0);
def cond = count < count[1] + period - period[1];
profile vol = VolumeProfile("startNewProfile" = cond, "onExpansion" = no, "numberOfProfiles" = bars, "pricePerRow" = PricePerRow.TICKSIZE , "value area percent" = 0);

def hProfile = if rth and IsNaN(vol.GetHighest())
               then hProfile[1]
               else vol.GetHighest();
def lProfile = if rth and IsNaN(vol.GetLowest())
               then lProfile[1]
               else vol.GetLowest();

def RTH_high = if getday() == getlastday() and rth then hProfile else na;
def RTH_low  = if getday() == getlastday() and rth then lProfile else na;

plot hi = if Fib_basis == Fib_basis.RTHours then RTH_high else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastpeakvalue else na;
plot lo = if Fib_basis == Fib_basis.RTHours then RTH_low else if Fib_basis == Fib_basis.Pivot and bn > lastpvbn then lastvalleyvalue else na;
hi.SetDefaultColor(Color.WHITE);
lo.SetDefaultColor(Color.WHITE);

def hibar = if high == rth_high then bn else na;
def lobar = if low  == rth_low  then bn else na;

def c0 = 0.000;
def c1 = 0.236;
def c2 = 0.382;
def c3 = 0.500;
def c4 = 0.618;
def c5 = 0.786;
def c6 = 1.000;

def rng = hi - lo;

def f1;
def f2;
def f3;
def f4;
def f5;


def dir = if Fib_basis == Fib_basis.RTHours
then if highestall(lobar) < highestall(hibar)
then -1
else 1
else if Fib_basis == Fib_basis.Pivot
then if lastpeakbn > lastvalleybn
then -1
else  1
else dir[1];

if dir > 0
then {

    f1 = lo + (rng * c1);
    f2 = lo + (rng * c2);
    f3 = lo + (rng * c3);
    f4 = lo + (rng * c4);
    f5 = lo + (rng * c5);

} else {

    f1 = hi - (rng * c1);
    f2 = hi - (rng * c2);
    f3 = hi - (rng * c3);
    f4 = hi - (rng * c4);
    f5 = hi - (rng * c5);
}

plot zf1 = if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f1
else if Fib_basis == Fib_basis.Pivot
then f1
else na;
plot zf2 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f2
else if Fib_basis == Fib_basis.Pivot
then f2
else na;
plot zf3 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f3
else if Fib_basis == Fib_basis.Pivot
then f3
else na;
plot zf4 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f4
else if Fib_basis == Fib_basis.Pivot
then f4
else na;
plot zf5 =  if Fib_basis == Fib_basis.RTHours
then if GetDay() != GetLastDay() or  bn < Max(HighestAll(hibar), HighestAll(lobar))
then na
else f5
else if Fib_basis == Fib_basis.Pivot
then f5
else na;
zf1.SetDefaultColor(Color.GRAY);
zf2.SetDefaultColor(Color.ORANGE);
zf3.SetDefaultColor(Color.MAGENTA);
zf4.SetDefaultColor(Color.ORANGE);
zf5.SetDefaultColor(Color.GRAY);

input show_bubbles = yes;
input bubblemover  = 2;
def b  = bubblemover;
def b1 = b + 1;

AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else  IsNaN(hi[b]) and !IsNaN(hi[b1])) , hi [b1], if dir[b1] < 0 then 0 else 1, hi.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(lo[b]) and !IsNaN(lo[b1])) , lo [b1], if dir[b1] < 0 then 1 else 0, lo.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(zf1[b]) and !IsNaN(zf1[b1])) , zf1[b1], c1, zf1.TakeValueColor());
zf1.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(zf2[b]) and !IsNaN(zf2[b1])) , zf2[b1], c2, zf2.TakeValueColor());
zf2.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(zf3[b]) and !IsNaN(zf3[b1])) , zf3[b1], c3, zf3.TakeValueColor());
zf3.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(zf4[b]) and !IsNaN(zf4[b1])) , zf4[b1], c4, zf4.TakeValueColor());
zf4.HideBubble();
AddChartBubble(show_bubbles and (if Fib_basis == Fib_basis.Pivot then bn == HighestAll(bn - bubblemover) else IsNaN(zf5[b]) and !IsNaN(zf5[b1])) , zf5[b1], c5, zf5.TakeValueColor());
zf5.HideBubble();

#
 
Last edited:

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
410 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top