Automatic Long and Short Fibonacci Level Indicators for ThinkorSwim

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

All other Automatic Fib indicators look at the past, measure a previous high and previous low and give you levels. This indicator looks into the future and gives you possible high and low price levels. The Automatic Fibonacci Levels are two indicators, one for long positions and one for short positions. Up and Down arrows show entry signals when price crosses the 78.6% level. Entry signal alerts are included. This can be used for both swing trading and day trading based on the timeframe of your chart.

If price continues and breaks the 100% level, a new set of lines will be automatically drawn. Note, no guarantee price will hit the target.

Here are some examples.

Long position in /RTY 4 hr.
TIpDhV0.jpg


Long position in WMT daily.
gEGf6ry.jpg


Long position in JNJ daily.
mjvPGHG.jpg


Short position in /SI daily.
bIETPeg.jpg


Short position in HRZN 4 hr.
pGZPUTM.jpg


Shareable Link:
Long position:

http://tos.mx/AyuB4pQ

Short position:
http://tos.mx/1IJ4a4L

Long Position Code:
Code:
#Automatic Fibonacci Long Levels
#based on Mobius's Fractal Pivot Strategy
#developed by Chewie76 on 8/27/2021

# User Inputs
input n = 20;
input FractalEnergyLength = 8;
input FractalEnergyThreshold = .68;
input AtrMult = .70;
input nATR = 4;
input AvgType = AverageType.HULL;
input LabelsOn = yes;
input AlertsOn = yes;

# Variables
def o = open;
def h = high;
def l = low;
def c = close;
def bar = BarNumber();
def TS = TickSize();
def nan = double.nan;
def ATR = Round((MovingAverage(AvgType, TrueRange(h, c, l), nATR)) / TS, 0) * TS;
def risk = if Between(c, 0, 1500)
           then ATR
           else if Between(c, 1500, 3500)
           then 2
           else if Between(c, 3500, 5500)
                then 4
           else 6;
def FE = Log(Sum((Max(h, c[1]) - Min(l, c[1])), FractalEnergyLength) /
        (Highest(h, FractalEnergyLength) - Lowest(l, FractalEnergyLength)))
            / Log(FractalEnergyLength);
# Parent Aggregation Pivot High
# Pivot High Variables
def p_hh = fold i = 1 to n + 1
           with p = 1
           while p
           do h > GetValue(h, -1);
def p_PivotH = if (bar > n and
                   h == Highest(h, n) and
                   p_hh)
               then h
               else NaN;
def p_PHValue = if !IsNaN(p_PivotH)
                then p_PivotH
                else p_PHValue[1];
def p_PHBar = if !IsNaN(p_PivotH)
                    then bar
                    else nan;
# Pivot High and Pivot High Exit Variables
# Pivot High Variables
def hh = fold ii = 1 to n + 1
         with pp = 1
         while pp
         do h > GetValue(h, -1);
def PivotH = if (bar > n and
                 h == Highest(h, n) and
                 hh)
            then h
            else Double.NaN;
def PHValue = if !IsNaN(PivotH)
              then PivotH
              else PHValue[1];
def PHBar = if !IsNaN(PivotH)
                  then bar
                  else nan;
# Pivot High Exit Variables
def PHExit = if (bar > n and
              h == Highest(h, n) and
              hh)
             then if l[1] < l
                  then l[1]
                  else fold r = 0 to 20
                       with a = NaN
                       while IsNaN(a)
                       do if GetValue(l[1], r) < l
                          then GetValue(l[1], r)
                          else NaN
            else Double.NaN;
def PHExitValue = if !IsNaN(PHExit)
                  then PHExit
                  else PHExitValue[1];
def PHExitBar = if (bar > n and
                    h == Highest(h, n) and
                    hh)
                then if l[1] < l
                then bar - 1
                else fold d = 0 to 20
                     with y = NaN
                     while IsNaN(y)
                     do if GetValue(l[1], d) < l
                        then GetValue(bar - 1, d)
                        else NaN
                else NaN;
# Pivot Low and Pivot Low Entry Variables
# Parent Pivot Low Variables
def p_ll = fold j = 1 to n + 1
           with q = 1
           while q
           do l < GetValue(l, -1);
def p_PivotL = if (bar > n and
                 l == Lowest(l, n) and
                 p_ll)
             then l
             else NaN;
def p_PLValue = if !IsNaN(p_PivotL)
              then p_PivotL
              else p_PLValue[1];
def p_PLBar = if !IsNaN(p_PivotL)
              then bar
              else nan;
# Pivot Low Variables
def ll = fold jj = 1 to n + 1
         with qq = 1
         while qq
         do l < GetValue(l, -1);
def PivotL = if (bar > n and
                 l == Lowest(l, n) and
                 ll)
             then l
             else NaN;
def PLValue = if !IsNaN(PivotL)
              then PivotL
              else PLValue[1];
def PLBar = if !IsNaN(PivotL)
            then bar
            else nan;
# Pivot Low Entry Variables
def PLEntry = if (bar > n and
                  l == Lowest(l, n) and
                  ll)
              then if h[1] > h
              then h[1]
              else fold t = 0 to 20
                   with w = NaN
                   while IsNaN(w)
                   do if GetValue(h[1], t) > h
                      then GetValue(h[1], t)
                      else NaN
              else NaN;
def PLEntryValue = if !IsNaN(PLEntry)
                   then PLEntry
                   else PLEntryValue[1];
def PLEntryBar =  if (bar > n and
                  l == Lowest(l, n) and
                  ll)
                  then if h[1] > h
                       then bar - 1
                       else fold u = 0 to 20
                            with z = NaN
                            while IsNaN(z)
                            do if GetValue(h[1], u) > h
                               then GetValue(bar - 1, u)
                               else NaN
              else NaN;
# Plots

plot F_100 =  if bar >= HighestAll(PLBar)
          then HighestAll(if isNaN(c[-1])
                          then PLValue
                          else nan)
          else nan;
F_100.SetDefaultColor(Color.dark_red);
F_100.SetLineWeight(2);
def F_0100 =(if isNaN(F_100[1]) then F_100 else Double.NaN);
addchartBubble(LabelsOn and F_100, F_0100,"100%",color.dark_red);

plot F_786 = if bar >= HighestAll(PLEntryBar)
                    then HighestAll(if isNaN(c[-1])
                                    then PLEntryValue
                                    else nan)
                    else nan;
F_786.SetDefaultColor(Color.light_red);
F_786.SetLineWeight(2);
def F_0786 =(if isNaN(F_786[1]) then F_786 else Double.NaN);
addchartBubble(LabelsOn and F_786, F_0786,"78.6%",color.light_red);

plot priceLine = HighestAll(if IsNaN(c[-1])
                            then c
                            else Double.NaN);
priceLine.SetStyle(Curve.SHORT_DASH);
priceLine.SetLineWeight(1);
priceLine.SetDefaultColor(Color.CYAN);
plot UpArrow = if c crosses above F_786 and FE > .5
               then l
               else Double.NaN;
UpArrow.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
UpArrow.SetLineWeight(5);
UpArrow.SetDefaultColor(Color.GREEN);

#Fib levels

plot F_0 = (F_786-F_100) * 4.673 + F_100;
F_0.setdefaultcolor(color.red);
F_0.setlineweight(2);
def F_00 =(if isNaN(F_0[1]) then F_0 else Double.NaN);
addchartBubble(LabelsOn and F_0, F_00,"0%: " + asDollars(F_00),color.red);

plot F_124 = (F_0 - F_100)/1.14155+ F_100;
F_124.setdefaultcolor(color.dark_orange);
F_124.setlineweight(2);
def F_0124 =(if isNaN(F_124[1]) then F_124 else Double.NaN);
addchartBubble(LabelsOn and F_124, F_0124,"12.4%",color.dark_orange);

plot F_236 = (F_0 - F_100)/1.3089+ F_100;
F_236.setdefaultcolor(color.plum);
F_236.setlineweight(2);
def F_0236 = (if isNaN(F_236[1]) then F_236 else Double.NaN);
addchartBubble(LabelsOn and F_236, F_0236,"23.6%",color.plum);

plot F_382 = (F_0 - F_100)/1.618+ F_100;
F_382.setdefaultcolor(color.cyan);
F_382.setlineweight(2);
def F_0382 =(if isNaN(F_382[1]) then F_382 else Double.NaN);
addchartBubble(LabelsOn and F_382, F_0382,"38.2%",color.cyan);

plot F_50 = (F_0 - F_100)/2 + F_100;
F_50.setdefaultcolor(color.green);
F_50.setlineweight(2);
def F_050 =(if isNaN(F_50[1]) then F_50 else Double.NaN);
addchartBubble(LabelsOn and F_50, F_050,"50%",color.green);

plot F_618 = (F_0 - F_100)/2.618+ F_100;
F_618.setdefaultcolor(color.yellow);
F_618.setlineweight(2);
def F_0618 =(if isNaN(F_618[1]) then F_618 else Double.NaN);
addchartBubble(LabelsOn and F_618, F_0618,"61.8%",color.yellow);

plot F_886 = (F_786 - F_100)/1.88+ F_100;
F_886.setdefaultcolor(color.violet);
F_886.setlineweight(2);
def F_0886 =(if isNaN(F_886[1]) then F_886 else Double.NaN);
addchartBubble(LabelsOn and F_886, F_0886,"88.6%",color.violet);

plot FE_272 = (F_0 - F_100)*1.272 + F_100;
FE_272.setdefaultcolor(color.yellow);
FE_272.SetStyle(Curve.LONG_DASH);
FE_272.setlineweight(2);
def F_0272 =(if isNaN(FE_272[1]) then FE_272 else Double.NaN);
addchartBubble(LabelsOn and FE_272, F_0272,"-27.2%",color.yellow);

plot FE_50 = (F_0 - F_100)*1.5 + F_100;
FE_50.setdefaultcolor(color.GREEN);
FE_50.SetStyle(Curve.LONG_DASH);
FE_50.setlineweight(2);
def FE_050 =(if isNaN(FE_50[1]) then FE_50 else Double.NaN);
addchartBubble(LabelsOn and FE_50, FE_050,"-50%",color.GREEN);

# Alerts
Alert(AlertsOn and UpArrow, " ", Alert.Bar, Sound.ding);

Short Position Code:
Code:
#Automatic Fibonacci Short Levels
#based on Mobius's Fractal Pivot Strategy
#developed by Chewie76 on 8/27/2021

# User Inputs
input n = 20;
input FractalEnergyLength = 8;
input FractalEnergyThreshold = .68;
input AtrMult = .70;
input nATR = 4;
input AvgType = AverageType.HULL;
input LabelsOn = yes;
input AlertsOn = yes;

# Variables
def o = open;
def h = high;
def l = low;
def c = close;
def bar = BarNumber();
def TS = TickSize();
def nan = double.nan;
def ATR = Round((MovingAverage(AvgType, TrueRange(h, c, l), nATR)) / TS, 0) * TS;
def risk = if Between(c, 0, 1500)
           then ATR
           else if Between(c, 1500, 3500)
           then 2
           else if Between(c, 3500, 5500)
                then 4
           else 6;
def FE = Log(Sum((Max(h, c[1]) - Min(l, c[1])), FractalEnergyLength) /
        (Highest(h, FractalEnergyLength) - Lowest(l, FractalEnergyLength)))
            / Log(FractalEnergyLength);
# Parent Aggregation Pivot High
# Pivot High Variables
def p_hh = fold i = 1 to n + 1
           with p = 1
           while p
           do h > GetValue(h, -1);
def p_PivotH = if (bar > n and
                   h == Highest(h, n) and
                   p_hh)
               then h
               else NaN;
def p_PHValue = if !IsNaN(p_PivotH)
                then p_PivotH
                else p_PHValue[1];
def p_PHBar = if !IsNaN(p_PivotH)
                    then bar
                    else nan;
# Pivot High and Pivot High Exit Variables
# Pivot High Variables
def hh = fold ii = 1 to n + 1
         with pp = 1
         while pp
         do h > GetValue(h, -1);
def PivotH = if (bar > n and
                 h == Highest(h, n) and
                 hh)
            then h
            else Double.NaN;
def PHValue = if !IsNaN(PivotH)
              then PivotH
              else PHValue[1];
def PHBar = if !IsNaN(PivotH)
                  then bar
                  else nan;
# Pivot High Exit Variables
def PHExit = if (bar > n and
              h == Highest(h, n) and
              hh)
             then if l[1] < l
                  then l[1]
                  else fold r = 0 to 20
                       with a = NaN
                       while IsNaN(a)
                       do if GetValue(l[1], r) < l
                          then GetValue(l[1], r)
                          else NaN
            else Double.NaN;
def PHExitValue = if !IsNaN(PHExit)
                  then PHExit
                  else PHExitValue[1];
def PHExitBar = if (bar > n and
                    h == Highest(h, n) and
                    hh)
                then if l[1] < l
                then bar - 1
                else fold d = 0 to 20
                     with y = NaN
                     while IsNaN(y)
                     do if GetValue(l[1], d) < l
                        then GetValue(bar - 1, d)
                        else NaN
                else NaN;
# Pivot Low and Pivot Low Entry Variables
# Parent Pivot Low Variables
def p_ll = fold j = 1 to n + 1
           with q = 1
           while q
           do l < GetValue(l, -1);
def p_PivotL = if (bar > n and
                 l == Lowest(l, n) and
                 p_ll)
             then l
             else NaN;
def p_PLValue = if !IsNaN(p_PivotL)
              then p_PivotL
              else p_PLValue[1];
def p_PLBar = if !IsNaN(p_PivotL)
              then bar
              else nan;
# Pivot Low Variables
def ll = fold jj = 1 to n + 1
         with qq = 1
         while qq
         do l < GetValue(l, -1);
def PivotL = if (bar > n and
                 l == Lowest(l, n) and
                 ll)
             then l
             else NaN;
def PLValue = if !IsNaN(PivotL)
              then PivotL
              else PLValue[1];
def PLBar = if !IsNaN(PivotL)
            then bar
            else nan;
# Pivot Low Entry Variables
def PLEntry = if (bar > n and
                  l == Lowest(l, n) and
                  ll)
              then if h[1] > h
              then h[1]
              else fold t = 0 to 20
                   with w = NaN
                   while IsNaN(w)
                   do if GetValue(h[1], t) > h
                      then GetValue(h[1], t)
                      else NaN
              else NaN;
def PLEntryValue = if !IsNaN(PLEntry)
                   then PLEntry
                   else PLEntryValue[1];
def PLEntryBar =  if (bar > n and
                  l == Lowest(l, n) and
                  ll)
                  then if h[1] > h
                       then bar - 1
                       else fold u = 0 to 20
                            with z = NaN
                            while IsNaN(z)
                            do if GetValue(h[1], u) > h
                               then GetValue(bar - 1, u)
                               else NaN
              else NaN;
# Plots

plot S_100 = if bar >= HighestAll(PHBar) then HighestAll(if isNaN(close[-1]) then PHValue  else nan) else nan;
S_100.SetDefaultColor(Color.dark_red);
S_100.SetLineWeight(1);
def S_0100 =(if isNaN(S_100[1]) then S_100 else Double.NaN);
addchartBubble(LabelsOn and S_100, S_0100,"100%",color.dark_red);

plot S_786 = if bar >= HighestAll(PHexitBar) then HighestAll(if isNaN(close[-1]) then PHExitValue  else nan)  else nan;
S_786.SetDefaultColor(Color.red);
def S_0786 =(if isNaN(S_786[1]) then S_786 else Double.NaN);
addchartBubble(LabelsOn and S_786, S_0786,"78.6%",color.light_red);

plot priceLine = HighestAll(if IsNaN(c[-1])
                            then c
                            else Double.NaN);
priceLine.SetStyle(Curve.SHORT_DASH);
priceLine.SetLineWeight(1);
priceLine.SetDefaultColor(Color.CYAN);

plot DnArrow = if c crosses below S_786 and ((FE > .618)
                or (FE < .382))
               then h
               else Double.NaN;
DnArrow.SetPaintingStrategy(PaintingStrategy.ARROW_DOWN);
DnArrow.SetLineWeight(5);
DnArrow.SetDefaultColor(Color.RED);

#Fib levels

plot S_0 = (S_100-S_786) * -4.673 + S_100;
S_0.setdefaultcolor(color.red);
S_0.setlineweight(1);
def S_00 =(if isNaN(S_0[1]) then S_0 else Double.NaN);
addchartBubble(LabelsOn and S_0, S_00,"0%: " + asDollars(S_00),color.red);

plot S_124 = (S_100-S_0)/-1.14155 + S_100;
S_124.setdefaultcolor(color.dark_orange);
S_124.setlineweight(1);
def S_0124 =(if isNaN(S_124[1]) then S_124 else Double.NaN);
addchartBubble(LabelsOn and S_124, S_0124,"12.4%",color.dark_orange);

plot S_236 = (S_100-S_0)/-1.3089+ S_100;
S_236.setdefaultcolor(color.plum);
S_236.setlineweight(1);
def S_0236 = (if isNaN(S_236[1]) then S_236 else Double.NaN);
addchartBubble(LabelsOn and S_236, S_0236,"23.6%",color.plum);

plot S_382 = (S_100-S_0)/-1.618+ S_100;
S_382.setdefaultcolor(color.cyan);
S_382.setlineweight(1);
def S_0382 =(if isNaN(S_382[1]) then S_382 else Double.NaN);
addchartBubble(LabelsOn and S_382, S_0382,"38.2%",color.cyan);

plot S_50 = (S_100-S_0)/-2 + S_100;
S_50.setdefaultcolor(color.green);
S_50.setlineweight(1);
def S_050 =(if isNaN(S_50[1]) then S_50 else Double.NaN);
addchartBubble(LabelsOn and S_50, S_050,"50%",color.green);

plot S_618 = (S_100-S_0)/-2.618+ S_100;
S_618.setdefaultcolor(color.yellow);
S_618.setlineweight(1);
def S_0618 =(if isNaN(S_618[1]) then S_618 else Double.NaN);
addchartBubble(LabelsOn and S_618, S_0618,"61.8%",color.yellow);

plot S_886 = (S_100-S_786)/-1.88+ S_100;
S_886.setdefaultcolor(color.violet);
S_886.setlineweight(1);
def S_0886 =(if isNaN(S_886[1]) then S_886 else Double.NaN);
addchartBubble(LabelsOn and S_886, S_0886,"88.6%",color.violet);

plot SE_272 = (S_100-S_0)*-1.272 + S_100;
SE_272.setdefaultcolor(color.yellow);
SE_272.SetStyle(Curve.LONG_DASH);
SE_272.setlineweight(2);
def S_0272 =(if isNaN(SE_272[1]) then SE_272 else Double.NaN);
addchartBubble(LabelsOn and SE_272, S_0272,"-27.2%",color.yellow);

plot SE_50 = (S_100-S_0)*-1.5 + S_100;
SE_50.setdefaultcolor(color.GREEN);
SE_50.SetStyle(Curve.LONG_DASH);
SE_50.setlineweight(1);
def SE_050 =(if isNaN(SE_50[1]) then SE_50 else Double.NaN);
addchartBubble(LabelsOn and SE_50, SE_050,"-50%",color.GREEN);

# Alerts
Alert(AlertsOn and DnArrow, " ", Alert.Bar, Sound.ding);
@chewie76 : Thank you for this wonderful study. I'm looking for some automation of fib confluence levels. The idea is as below

1. Draw prior day high to low or low to high fib levels
2. Draw pre-market high to low or low to high fib levels
3. Draw extension projections ( high to low or low to high )
4. Keep only the co-efficients where the price almost meets ( confluence )
5. If price is near confluence area and 5/13 ema cross over to downside then short or vice versa.

Please see the idea in the follow graph along with some notes. Is this possible to do automated fashion or atleast draw the fib levels and i can clean up the non-confluence areas.
 
Last edited by a moderator:
@chewie76 : Thank you for this wonderful study. I'm looking for some automation of fib confluence levels. The idea is as below

1. Draw prior day high to low or low to high fib levels
2. Draw pre-market high to low or low to high fib levels
3. Draw extension projections ( high to low or low to high )
4. Keep only the co-efficients where the price almost meets ( confluence )
5. If price is near confluence area and 5/13 ema cross over to downside then short or vice versa.

Please see the idea in the follow graph along with some notes. Is this possible to do automated fashion or atleast draw the fib levels and i can clean up the non-confluence areas.


jiqw4xV.png
This indicator shows shorts and long positions, so it may be the closest thing you'll find. Not sure how to get it to what you manually drew. May have to keep searching or draw manually.
 
hey @chewie76 this looks great! Do you notice any timeframes work better on this than others? Should it be used with extended hours off? I put it on my chart towards the end of the day today.. any idea why a down arrow didn't appear on SPY around 3:45 PM? Do I need to change something in my settings? It showed the zscore down arrow but no fib arrow. Just noticed the same on NVDA today, 1 day 5 minute chart.. there was no up or down arrow

 
hey @chewie76 this looks great! Do you notice any timeframes work better on this than others? Should it be used with extended hours off? I put it on my chart towards the end of the day today.. any idea why a down arrow didn't appear on SPY around 3:45 PM? Do I need to change something in my settings? It showed the zscore down arrow but no fib arrow. Just noticed the same on NVDA today, 1 day 5 minute chart.. there was no up or down arrow

I'm not sure why it didn't show an arrow when it broke lower on both tickers. I have noticed that sometimes it doesn't show. It did hit the target though on SPY. I would keep testing different time settings as you see fit based on your trading style. I use extended hours on.
 
I'm not sure why it didn't show an arrow when it broke lower on both tickers. I have noticed that sometimes it doesn't show. It did hit the target though on SPY. I would keep testing different time settings as you see fit based on your trading style. I use extended hours on.

Thanks! Looking forward to trying it on Monday. Do you ever try to time the reversal and buy calls/puts when it gets near 100% and hope it doesn't break, or do you typically wait until it breaks 78.6%?
 
Thanks! Looking forward to trying it on Monday. Do you ever try to time the reversal and buy calls/puts when it gets near 100% and hope it doesn't break, or do you typically wait until it breaks 78.6%?
I wait till it breaks. You can set an order in advance if you want.
 
Does this work for /ES futures as well? May I know why short arrow is not generated on the 1 minute timeframe after the price breached 78.6

Also, may I know why/when the fresh long fib's will be drawn?

Please check the below link to the chart that I'm referring.
http://tos.mx/5e06U18
 
Last edited:
why is it that only some buys/sells get the arrows on the cross of 78.6 but others don't?
 
Last edited:
How can I increase length of fib lines which are close to price axis? I have all level bubbles covering candles. Thank you
 
All other Automatic Fib indicators look at the past, measure a previous high and previous low and give you levels. This indicator looks into the future and gives you possible high and low price levels. The Automatic Fibonacci Levels are two indicators, one for long positions and one for short positions. Up and Down arrows show entry signals when price crosses the 78.6% level. Entry signal alerts are included. This can be used for both swing trading and day trading based on the t

Shareable Link:
Long position:

http://tos.mx/AyuB4pQ

Short position:
http://tos.mx/1IJ4a4L
@chewie76

I know the post is old but if you're still here I am curious what is the best way to determine whether it should be set up long or short or are you using both studies together and watching the trend line and dominate contacts? I ask because TOS has canned Fib and they automatically decide whether you should be short or long based on criteria they've input I don't know how they decide this but it seems to be more accurate than just deciding if I should be long or short. I know that most traders are not even aware that you flip the Fibonacci over depending on which way you're trading. other than a visual confirmation of trend and pivot points I'm curious if there is something I was missing here.

TOS has been incredibly accurate but they're limited in the adjustment of study. For starters, the bubbles sit right over the moving candles. Nice job btw this is the one I've been using now you obviously saw their issues. For now to simplify and save time I use the canned TOS auto fib to determine long or short strategy first and then I delete it and use these beautiful fibs, Thanks
 
Last edited:
How long does it take for something on the 30min to play out in your experience?

Also, is there a way to extend the fib lines further out because it blocks the price at the moment.
 
Last edited:
@chewie76

I know the post is old but if you're still here I am curious what is the best way to determine whether it should be set up long or short or are you using both studies together and watching the trend line and dominate contacts? I ask because TOS has canned Fib and they automatically decide whether you should be short or long based on criteria they've input I don't know how they decide this but it seems to be more accurate than just deciding if I should be long or short. I know that most traders are not even aware that you flip the Fibonacci over depending on which way you're trading. other than a visual confirmation of trend and pivot points I'm curious if there is something I was missing here.

TOS has been incredibly accurate but they're limited in the adjustment of study. For starters, the bubbles sit right over the moving candles. Nice job btw this is the one I've been using now you obviously saw their issues. For now to simplify and save time I use the canned TOS auto fib to determine long or short strategy first and then I delete it and use these beautiful fibs, Thanks
I've used both on the chart at the same time.
 
Hey @chewie76 , I've been using this indicator the past few days and I really like it so far for swings! One question that I've been trying to discern from the code though is, is this study giving signals based off the retest of the .786 fib after each pivot high/low? And if so, is there a way that you could adjust this to fire off of a .618 fib test (or any of the fib values)?

Thanks so much for your work on this!
 

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
390 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