# Auto Fib (Fibonacci) Levels Indicator for ThinkorSwim

A

#### alsniper

##### New member
VIP
Guys, can you share how you scan using Fib retracements? i am looking to find the stocks which are at the bottom

L

#### liminal-rider

##### New member
Looking to create a custom fibonacci tool similar to the below image for tos: F

#### fatulexus

##### New member
@BenTen Good evening Mr. Ben, Please if you can help to direct me to the right path. I am looking to build a scanner around fibs levels.........For example I will to be to scan for stocks that the price of the stock is maybe at the 0% or 61.8% level (or other levels) based on the highs and lows of last 5 days (or maybe even a bigger time frame)

I will even like to to see maybe if I can scan for price that is maybe 5% from the 100% fibs level or maybe 3% below the 61.8% fibs levels

Thank you Staff
VIP
B

#### BTExpress

##### New member
I have been playing around with the AutoFib indicator to make it user defined range instead of HighestAll and LowestAll. Nothing paints when I try it. I wonder where I am going wrong.

Below is my code.

Code:
``````#hint: <b>Fibonacci Retracements</b>\nFibonacci retracements use horizontal lines to indicate areas of support or resistance at the key Fibonacci levels before it continues in the original direction. These levels are created by drawing a trendline between two extreme points and then dividing the vertical distance by the key Fibonacci ratios of: 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%.

#hint Price: Price used in the alerts on crossing retracement lines. <b>(Default is Close)</b>

#hint onExpansion: Determines if the retracement lines are projected past the current bar into the right side expansion <b>(Default is Yes)</b>

#hint Extend_to_left: Determines if the retracement lines are extended to the left side of the chart. <b>(Default is No)</b>

#hint Coefficient0: Retracement Line 0: Retracement from the highest high to the lowest low.\n <b>(Default is 0%)</b>

#hint Coefficient_1: Retracement Line 1: Retracement from the highest high to the lowest low.\n <b>(Default is 23.6%)</b>

#hint Coefficient_2: Retracement Line 2: Retracement from the highest high to the lowest low.\n <b>(Default is 38.2%)</b>

#hint Coefficient_3: Retracement Line 3: Retracement from the highest high to the lowest low.\n <b>(Default is 50%)</b>

#hint Coefficient_4: Retracement Line 4: Retracement from the highest high to the lowest low.\n <b>(Default is 61.8%)</b>

#hint Coefficient_5: Retracement Line 5: Retracement from the highest high to the lowest low.\n <b>(Default is 78.6%)</b>

#hint Coefficient_6: Retracement Line 6: Retracement from the highest high to the lowest low.\n <b>(Default is 100%)</b>

#wizard input: Price

#wizard text: Inputs: Price:

#wizard input: onExpansion

#wizard text: onExpansion:

#wizard input: Extend_to_left

#wizard text: Extend_to_left:

#wizard input: Coefficient0

#wizard text: Coefficient0:

#wizard input: Coefficient_1

#wizard text: Coefficient_1:

#wizard input: Coefficient_2

#wizard text: Coefficient_2:

#wizard input: Coefficient_3

#wizard text: Coefficient_3:

#wizard input: Coefficient_4

#wizard text: Coefficient_4:

#wizard input: Coefficient_5

#wizard text: Coefficient_5:

#wizard input: Coefficient_6

#wizard text: Coefficient_6:

input price = close;

input high = high;

input low = low;

input onExpansion = Yes;

input Extend_to_left = no;

input Coefficient0 = 0.000;

input coefficient_1 = .236;

input Coefficient_2 = .382;

input Coefficient_3 = .500;

input Coefficient_4 = .618;

Input Coefficient_5 = .786;

input Coefficient_6 = 1.000;

Def showOnlyCurrent = yes;

Def len = 30;

def a = Highest(high,len);

def b = Lowest(low,len);

def barnumber = barNumber();

def c = if high == a then barnumber else double.nan;

def d = if low == b then barnumber else double.nan;

rec highnumber = compoundValue(1, if IsNaN(c) then highnumber else c, c);

def highnumberall = Highest(highnumber,len);

rec lownumber = compoundValue(1, if IsNaN(d) then lownumber else d, d);

def lownumberall = Lowest(lownumber,len);

def upward = highnumberall > lownumberall;

def downward = highnumberall < lownumberall;

def x = AbsValue(lownumberall - highnumberall );

def slope = (a - b) / x;

def slopelow = (b - a) / x;

def day = getDay();

def month = getMonth();

def year = getYear();

def lastDay = getLastDay();

def lastmonth = getLastMonth();

def lastyear = getLastYear();

def isToday = if(day == lastDay and month == lastmonth and year == lastyear, 1, 0);

def istodaybarnumber = Highest(if isToday then barnumber else double.nan,len);

def line = b + (slope * (barnumber - lownumber));

def linelow = a + (slopelow * (barnumber - highnumber));

def currentlinelow = if barnumber <= lownumberall then linelow else double.nan;

def currentline = if barnumber <= highnumberall then line else double.nan;

Plot FibFan;

Plot Retracement0;

Plot Retracement1;

Plot Retracement2;

Plot Retracement3;

Plot Retracement4;

Plot Retracement5;

Plot Retracement6;

def range = a - b;

if (showOnlyCurrent and !IsNaN(close[-1]) or IsNaN(close))

then {

FibFan = Double.NaN;

Retracement0 = Double.NaN;

Retracement1 = Double.NaN;

Retracement2 = Double.NaN;

Retracement3 = Double.NaN;

Retracement4 = Double.NaN;

Retracement5 = Double.NaN;

Retracement6 = Double.NaN;

} else {

FibFan = if downward then currentlinelow else if upward then currentline else double.nan;

Retracement0 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient0)),len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient0),len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient0)),len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient0),len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient0)),len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient0),len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient0)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient0) ,len) else double.nan;

Retracement1 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_1)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_1) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_1)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_1) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_1)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_1) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_1)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_1) ,len) else double.nan;

Retracement2 =if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_2)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_2) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_2)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_2) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_2)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_2) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_2)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_2) ,len) else double.nan;

Retracement3 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_3)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_3) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_3)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_3) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_3)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_3) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_3)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_3) ,len) else double.nan;

Retracement4 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_4)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_4),len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_4)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_4) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_4)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_4) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_4)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_4) ,len) else double.nan;

Retracement5 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_5)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_5) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_5)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_5) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_5)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_5) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_5)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_5) ,len) else double.nan;

Retracement6 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_6)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_6) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_6)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_6) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_6)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_6) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_6)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_6) ,len) else double.nan;

}

FibFan.SetStyle(Curve.SHORT_DASH);

FibFan.AssignValueColor(color.cyan);

fibfan.hidebubble();

Retracement0.assignvaluecolor(color.cyan);

retracement0.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber +10), retracement0, concat( "\$", round(retracement0, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement0, concat( (coefficient0 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement0, concat( (coefficient0 * 100), "%"), color.cyan, yes);

Retracement1.assignvaluecolor(color.cyan);

retracement1.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement1, concat( "\$", round(retracement1, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.cyan, yes);

Retracement2.assignvaluecolor(color.cyan);

retracement2.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement2, concat( "\$", round(retracement2, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.cyan, yes);

Retracement3.assignvaluecolor(color.cyan);

retracement3.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement3, concat( "\$", round(retracement3, 2)), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

Retracement4.assignvaluecolor(color.cyan);

retracement4.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement4, concat( "\$", round(retracement4, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.cyan, yes);

Retracement5.assignvaluecolor(color.cyan);

retracement5.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement5, concat( "\$", round(retracement5, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.cyan, yes);

Retracement6.assignvaluecolor(color.cyan);

retracement6.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement6, concat( "\$", round(retracement6, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.cyan, yes);

alert((price crosses below Retracement0) , "Price crosses below Retracement Line 0");

alert((price crosses above Retracement0) , "Price crosses above Retracement Line 0");

alert((price crosses below Retracement1) , "Price crosses below Retracement Line 1");

alert((price crosses above Retracement1) , "Price crosses above Retracement Line 1");

alert((price crosses below Retracement2) , "Price crosses below Retracement Line 2");

alert((price crosses above Retracement2) , "Price crosses above Retracement Line 2");

alert((price crosses below Retracement3) , "Price crosses below Retracement Line 3");

alert((price crosses above Retracement3) , "Price crosses above Retracement Line 3");

alert((price crosses below Retracement4) , "Price crosses below Retracement Line 4");

alert((price crosses above Retracement4) , "Price crosses above Retracement Line 4");

alert((price crosses below Retracement5) , "Price crosses below Retracement Line 5");

alert((price crosses above Retracement5) , "Price crosses above Retracement Line 5");

alert((price crosses below Retracement6) , "Price crosses below Retracement Line 6");

alert((price crosses above Retracement6) , "Price crosses above Retracement Line 6");``````

Last edited by a moderator:
B

#### BTExpress

##### New member
I have been playing around with the AutoFib indicator to make it user defined range instead of HighestAll and LowestAll. Nothing paints when I try it. I wonder where I am going wrong.

Below is my code.

Code:
``````#hint: <b>Fibonacci Retracements</b>\nFibonacci retracements use horizontal lines to indicate areas of support or resistance at the key Fibonacci levels before it continues in the original direction. These levels are created by drawing a trendline between two extreme points and then dividing the vertical distance by the key Fibonacci ratios of: 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%.

#hint Price: Price used in the alerts on crossing retracement lines. <b>(Default is Close)</b>

#hint onExpansion: Determines if the retracement lines are projected past the current bar into the right side expansion <b>(Default is Yes)</b>

#hint Extend_to_left: Determines if the retracement lines are extended to the left side of the chart. <b>(Default is No)</b>

#hint Coefficient0: Retracement Line 0: Retracement from the highest high to the lowest low.\n <b>(Default is 0%)</b>

#hint Coefficient_1: Retracement Line 1: Retracement from the highest high to the lowest low.\n <b>(Default is 23.6%)</b>

#hint Coefficient_2: Retracement Line 2: Retracement from the highest high to the lowest low.\n <b>(Default is 38.2%)</b>

#hint Coefficient_3: Retracement Line 3: Retracement from the highest high to the lowest low.\n <b>(Default is 50%)</b>

#hint Coefficient_4: Retracement Line 4: Retracement from the highest high to the lowest low.\n <b>(Default is 61.8%)</b>

#hint Coefficient_5: Retracement Line 5: Retracement from the highest high to the lowest low.\n <b>(Default is 78.6%)</b>

#hint Coefficient_6: Retracement Line 6: Retracement from the highest high to the lowest low.\n <b>(Default is 100%)</b>

#wizard input: Price

#wizard text: Inputs: Price:

#wizard input: onExpansion

#wizard text: onExpansion:

#wizard input: Extend_to_left

#wizard text: Extend_to_left:

#wizard input: Coefficient0

#wizard text: Coefficient0:

#wizard input: Coefficient_1

#wizard text: Coefficient_1:

#wizard input: Coefficient_2

#wizard text: Coefficient_2:

#wizard input: Coefficient_3

#wizard text: Coefficient_3:

#wizard input: Coefficient_4

#wizard text: Coefficient_4:

#wizard input: Coefficient_5

#wizard text: Coefficient_5:

#wizard input: Coefficient_6

#wizard text: Coefficient_6:

input price = close;

input high = high;

input low = low;

input onExpansion = Yes;

input Extend_to_left = no;

input Coefficient0 = 0.000;

input coefficient_1 = .236;

input Coefficient_2 = .382;

input Coefficient_3 = .500;

input Coefficient_4 = .618;

Input Coefficient_5 = .786;

input Coefficient_6 = 1.000;

Def showOnlyCurrent = yes;

Def len = 30;

def a = Highest(high,len);

def b = Lowest(low,len);

def barnumber = barNumber();

def c = if high == a then barnumber else double.nan;

def d = if low == b then barnumber else double.nan;

rec highnumber = compoundValue(1, if IsNaN(c) then highnumber else c, c);

def highnumberall = Highest(highnumber,len);

rec lownumber = compoundValue(1, if IsNaN(d) then lownumber else d, d);

def lownumberall = Lowest(lownumber,len);

def upward = highnumberall > lownumberall;

def downward = highnumberall < lownumberall;

def x = AbsValue(lownumberall - highnumberall );

def slope = (a - b) / x;

def slopelow = (b - a) / x;

def day = getDay();

def month = getMonth();

def year = getYear();

def lastDay = getLastDay();

def lastmonth = getLastMonth();

def lastyear = getLastYear();

def isToday = if(day == lastDay and month == lastmonth and year == lastyear, 1, 0);

def istodaybarnumber = Highest(if isToday then barnumber else double.nan,len);

def line = b + (slope * (barnumber - lownumber));

def linelow = a + (slopelow * (barnumber - highnumber));

def currentlinelow = if barnumber <= lownumberall then linelow else double.nan;

def currentline = if barnumber <= highnumberall then line else double.nan;

Plot FibFan;

Plot Retracement0;

Plot Retracement1;

Plot Retracement2;

Plot Retracement3;

Plot Retracement4;

Plot Retracement5;

Plot Retracement6;

def range = a - b;

if (showOnlyCurrent and !IsNaN(close[-1]) or IsNaN(close))

then {

FibFan = Double.NaN;

Retracement0 = Double.NaN;

Retracement1 = Double.NaN;

Retracement2 = Double.NaN;

Retracement3 = Double.NaN;

Retracement4 = Double.NaN;

Retracement5 = Double.NaN;

Retracement6 = Double.NaN;

} else {

FibFan = if downward then currentlinelow else if upward then currentline else double.nan;

Retracement0 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient0)),len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient0),len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient0)),len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient0),len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient0)),len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient0),len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient0)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient0) ,len) else double.nan;

Retracement1 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_1)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_1) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_1)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_1) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_1)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_1) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_1)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_1) ,len) else double.nan;

Retracement2 =if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_2)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_2) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_2)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_2) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_2)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_2) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_2)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_2) ,len) else double.nan;

Retracement3 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_3)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_3) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_3)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_3) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_3)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_3) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_3)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_3) ,len) else double.nan;

Retracement4 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_4)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_4),len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_4)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_4) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_4)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_4) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_4)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_4) ,len) else double.nan;

Retracement5 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_5)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_5) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_5)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_5) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_5)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_5) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_5)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_5) ,len) else double.nan;

Retracement6 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highest((b + (range * coefficient_6)) ,len) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highest(a - (range * coefficient_6) ,len) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highest((b + (range * coefficient_6)) ,len) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highest(a - (range * coefficient_6) ,len) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highest((b + (range * coefficient_6)) ,len) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highest(a - (range * coefficient_6) ,len) else if downward and onexpansion and extend_to_left then highest((b + (range * coefficient_6)) ,len) else if upward and onexpansion and extend_to_left then highest(a - (range * coefficient_6) ,len) else double.nan;

}

FibFan.SetStyle(Curve.SHORT_DASH);

FibFan.AssignValueColor(color.cyan);

fibfan.hidebubble();

Retracement0.assignvaluecolor(color.cyan);

retracement0.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber +10), retracement0, concat( "\$", round(retracement0, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement0, concat( (coefficient0 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement0, concat( (coefficient0 * 100), "%"), color.cyan, yes);

Retracement1.assignvaluecolor(color.cyan);

retracement1.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement1, concat( "\$", round(retracement1, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.cyan, yes);

Retracement2.assignvaluecolor(color.cyan);

retracement2.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement2, concat( "\$", round(retracement2, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.cyan, yes);

Retracement3.assignvaluecolor(color.cyan);

retracement3.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement3, concat( "\$", round(retracement3, 2)), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.cyan, yes);

Retracement4.assignvaluecolor(color.cyan);

retracement4.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement4, concat( "\$", round(retracement4, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.cyan, yes);

Retracement5.assignvaluecolor(color.cyan);

retracement5.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement5, concat( "\$", round(retracement5, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.cyan, yes);

Retracement6.assignvaluecolor(color.cyan);

retracement6.hidebubble();

#AddChartBubble((barnumber == istodaybarnumber+10), retracement6, concat( "\$", round(retracement6, 2)), color.cyan, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.cyan, yes);

AddChartBubble((upward and barnumber == lownumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.cyan, yes);

alert((price crosses below Retracement0) , "Price crosses below Retracement Line 0");

alert((price crosses above Retracement0) , "Price crosses above Retracement Line 0");

alert((price crosses below Retracement1) , "Price crosses below Retracement Line 1");

alert((price crosses above Retracement1) , "Price crosses above Retracement Line 1");

alert((price crosses below Retracement2) , "Price crosses below Retracement Line 2");

alert((price crosses above Retracement2) , "Price crosses above Retracement Line 2");

alert((price crosses below Retracement3) , "Price crosses below Retracement Line 3");

alert((price crosses above Retracement3) , "Price crosses above Retracement Line 3");

alert((price crosses below Retracement4) , "Price crosses below Retracement Line 4");

alert((price crosses above Retracement4) , "Price crosses above Retracement Line 4");

alert((price crosses below Retracement5) , "Price crosses below Retracement Line 5");

alert((price crosses above Retracement5) , "Price crosses above Retracement Line 5");

alert((price crosses below Retracement6) , "Price crosses below Retracement Line 6");

alert((price crosses above Retracement6) , "Price crosses above Retracement Line 6");``````

• BenTen
S

#### Samus Aran

##### New member
I'm offering \$100 for someone to help me automate Fibonacci Arcs, please! these don't work for my algorithm

E

#### ezrollin

##### Member
VIP
Code:
``````#hint Price: Price used in the alerts on crossing retracement lines. <b>(Default is Close)</b>
#hint onExpansion: Determines if the retracement lines are projected past the current bar into the right side expansion <b>(Default is Yes)</b>
#hint Extend_to_left: Determines if the retracement lines are extended to the left side of the chart. <b>(Default is No)</b>

#hint Coefficient0: Retracement Line 0: Retracement from the highest high to the lowest low.<b>(Default is 0%)</b>
#hint Coefficient_1: Retracement Line 1: Retracement from the highest high to the lowest low.<b>(Default is 23.6%)</b>
#hint Coefficient_2: Retracement Line 2: Retracement from the highest high to the lowest low.<b>(Default is 38.2%)</b>
#hint Coefficient_3: Retracement Line 3: Retracement from the highest high to the lowest low.<b>(Default is 50%)</b>
#hint Coefficient_4: Retracement Line 4: Retracement from the highest high to the lowest low.<b>(Default is 61.8%)</b>
#hint Coefficient_5: Retracement Line 5: Retracement from the highest high to the lowest low.<b>(Default is 78.6%)</b>
#hint Coefficient_6: Retracement Line 6: Retracement from the highest high to the lowest low.<b>(Default is 100%)</b>

#wizard input: Price
#wizard text: Inputs: Price:
#wizard input: onExpansion
#wizard text: onExpansion:
#wizard input: Extend_to_left
#wizard text: Extend_to_left:
#wizard input: Coefficient0
#wizard text: Coefficient0:
#wizard input: Coefficient_1
#wizard text: Coefficient_1:
#wizard input: Coefficient_2
#wizard text: Coefficient_2:
#wizard input: Coefficient_3
#wizard text: Coefficient_3:
#wizard input: Coefficient_4
#wizard text: Coefficient_4:
#wizard input: Coefficient_5
#wizard text: Coefficient_5:
#wizard input: Coefficient_6
#wizard text: Coefficient_6:

input price = close;
input high = high;
input low = low;
input onExpansion = Yes;
input Extend_to_left = no;
input Coefficient0 = 0.000;
input coefficient_1 = .236;
input Coefficient_2 = .382;
input Coefficient_3 = .500;
input Coefficient_4 = .618;
Input Coefficient_5 = .786;
input Coefficient_6 = 1.000;

def a = HighestAll(high);
def b = LowestAll(low);
def barnumber = barNumber();
def c = if high == a then barnumber else double.nan;
def d = if low == b then barnumber else double.nan;
rec highnumber = compoundValue(1, if IsNaN(c) then highnumber else c, c);
def highnumberall = HighestAll(highnumber);
rec lownumber = compoundValue(1, if IsNaN(d) then lownumber else d, d);
def lownumberall = LowestAll(lownumber);

def upward = highnumberall > lownumberall;
def downward = highnumberall < lownumberall;

def x = AbsValue(lownumberall - highnumberall );

def slope = (a - b) / x;
def slopelow = (b - a) / x;

def day = getDay();
def month = getMonth();
def year = getYear();
def lastDay = getLastDay();
def lastmonth = getLastMonth();
def lastyear = getLastYear();
def isToday = if(day == lastDay and month == lastmonth and year == lastyear, 1, 0);
def istodaybarnumber = HighestAll(if isToday then barnumber else double.nan);
def line = b + (slope * (barnumber - lownumber));
def linelow = a + (slopelow * (barnumber - highnumber));
def currentlinelow = if barnumber <= lownumberall then linelow else double.nan;
def currentline = if barnumber <= highnumberall then line else double.nan;

Plot FibFan =  if  downward then currentlinelow else if upward then currentline else double.nan;
FibFan.SetStyle(Curve.SHORT_DASH);
FibFan.AssignValueColor(color.red);
fibfan.hidebubble();

def range =  a - b;

Plot Retracement0 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient0))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient0)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient0))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient0)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient0))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient0)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient0))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient0)) else double.nan;
Retracement0.assignvaluecolor(color.red);
retracement0.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber +10), retracement0, concat( "\$", round(retracement0, 2)), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement0, concat( (coefficient0 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement0, concat( (coefficient0 * 100), "%"), color.red, yes);

Plot Retracement1 =  if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_1))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_1)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_1))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_1)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_1))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_1)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_1))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_1)) else double.nan;
Retracement1.assignvaluecolor(color.red);
retracement1.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement1, concat( "\$", round(retracement1, 2)), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement1, concat( (coefficient_1 * 100), "%"), color.red, yes);

Plot Retracement2 =if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_2))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_2)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_2))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_2)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_2))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_2)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_2))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_2)) else double.nan;
Retracement2.assignvaluecolor(color.red);
retracement2.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement2, concat( "\$", round(retracement2, 2)), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement2, concat( (coefficient_2 * 100), "%"), color.red, yes);

Plot Retracement3 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_3))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_3)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_3))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_3)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_3))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_3)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_3))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_3)) else double.nan;
Retracement3.assignvaluecolor(color.red);
retracement3.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement3, concat( "\$", round(retracement3, 2)), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement3, concat( (coefficient_3 * 100), "%"), color.red, yes);

Plot Retracement4 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_4))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_4)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_4))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_4)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_4))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_4)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_4))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_4)) else double.nan;
Retracement4.assignvaluecolor(color.red);
retracement4.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement4, concat( "\$", round(retracement4, 2)), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement4, concat( (coefficient_4 * 100), "%"), color.red, yes);

Plot Retracement5 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_5))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_5)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_5))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_5)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_5))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_5)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_5))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_5)) else double.nan;
Retracement5.assignvaluecolor(color.red);
retracement5.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement5, concat( "\$", round(retracement5, 2)), color.red, yes);
AddChartBubble((downward and barnumber == highnumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement5, concat( (coefficient_5 * 100), "%"), color.red, yes);

Plot Retracement6 = if downward and !onexpansion and !extend_to_left and barnumber >= highnumberall and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_6))) else if upward and !extend_to_left and !onexpansion and barnumber >= lownumberall and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_6)) else if downward and onexpansion and !extend_to_left and barnumber >= highnumberall then highestall((b + (range *  coefficient_6))) else if upward and onexpansion and barnumber >= lownumberall and !extend_to_left then highestall(a - (range * coefficient_6)) else if downward and !onexpansion and extend_to_left and barnumber <= istodaybarnumber then highestall((b + (range *  coefficient_6))) else if upward and extend_to_left and !onexpansion and barnumber <= istodaybarnumber then highestall(a - (range * coefficient_6)) else if downward and onexpansion and extend_to_left then highestall((b + (range *  coefficient_6))) else if upward and onexpansion and extend_to_left then highestall(a - (range * coefficient_6)) else double.nan;
Retracement6.assignvaluecolor(color.red);
retracement6.hidebubble();
#AddChartBubble((barnumber == istodaybarnumber+10), retracement6, concat( "\$", round(retracement6, 2)), color.red, yes);

AddChartBubble((downward and barnumber == highnumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.red, yes);
AddChartBubble((upward and barnumber == lownumberall), retracement6, concat( (coefficient_6 * 100), "%"), color.red, yes);

alert((price crosses below Retracement0) , "Price crosses below Retracement Line 0");
alert((price crosses above Retracement0) , "Price crosses above Retracement Line 0");
alert((price crosses below Retracement1) , "Price crosses below Retracement Line 1");
alert((price crosses above Retracement1) , "Price crosses above Retracement Line 1");
alert((price crosses below Retracement2) , "Price crosses below Retracement Line 2");
alert((price crosses above Retracement2) , "Price crosses above Retracement Line 2");
alert((price crosses below Retracement3) , "Price crosses below Retracement Line 3");
alert((price crosses above Retracement3) , "Price crosses above Retracement Line 3");
alert((price crosses below Retracement4) , "Price crosses below Retracement Line 4");
alert((price crosses above Retracement4) , "Price crosses above Retracement Line 4");
alert((price crosses below Retracement5) , "Price crosses below Retracement Line 5");
alert((price crosses above Retracement5) , "Price crosses above Retracement Line 5");
alert((price crosses below Retracement6) , "Price crosses below Retracement Line 6");
alert((price crosses above Retracement6) , "Price crosses above Retracement Line 6");``````

I'm trying to scan to find 78% retraces but its not giving me good results. I dont know why its not working right? thanks

Code:
``close is equal to jons_auto_fibs()."Retracement5" within 1 bars    (daily)`` #### blake007

##### New member
Im not able to see the percentage to the left side. Do I need to enable it? Thanks for the script

S

#### summacognos

##### New member
Is there a way to add Fib extensions to the code?

T

#### thealphabreed

##### Member
hey @BenTen is it possible to have the % displayed on right side? The left one doesn't help when live trading

P

#### photoredox

##### New member
VIP
Has anyone come across an auto-drawing fibonacci study that allows you to draw levels from multiple different timeframes on one chart? Basically if you're in the 5 minute you would be able to see the levels from let's say the 5day/15 min and the 10day/30 minute and so on since each aggregated chart contain different minima and maxima. Thanks a lot.

A

#### ApexCoupdetat

##### New member
I love this script, but can I get this where it only shows the golden ratio? #### Vinny1993

##### New member
VIP
which code in this page its working ? thank you too many code #### BenTen

Staff
VIP
@Vinny1993 Did you try the one on the first page? #### Vinny1993

##### New member
VIP
@Vinny1993 Did you try the one on the first page?
not yet Ben cause i saw many code on this page ?

Y

##### New member
VIP
@BenTen Hi Ben. Is there a way to have just the 1 year daily fib levels marked on your chart regardless of what time frame I am using? #### BenTen

Staff
VIP
@YAD You're talking about turning the indicator into MTF. I'm not sure if that version is already out there yet. If not, I may have to look into it.

L

#### lindosskier

##### Member
Hi @BenTen, not sure if this the right forum for this question, but here it is:
I have a script that scans for the mid (50%) of last month's range.
But when I try to scan for a price cross above or below this level on an intraday basis, it gives me an error, since the I am trying to scan on a 1min. basis and the script is on a monthly. Is there any way to scan from that low (1 or 5min. bar), if the price is crossing this monthly level? Thank you one again for your help! #### BenTen

•  Auto Volatility Standard Deviation Levels for ThinkorSwim Custom 19