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
 
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[1] else c, c);

def highnumberall = Highest(highnumber,len);

rec lownumber = compoundValue(1, if IsNaN(d) then lownumber[1] 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[1] else c, c);

def highnumberall = Highest(highnumber,len);

rec lownumber = compoundValue(1, if IsNaN(d) then lownumber[1] 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");
I found a solution on this thread: https://usethinkscript.com/threads/...ci-retracement-indicator-for-thinkorswim.153/
 
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[1] else c, c);
def highnumberall = HighestAll(highnumber);
rec lownumber = compoundValue(1, if IsNaN(d) then lownumber[1] 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

blake007

New member
Im not able to see the percentage to the left side. Do I need to enable it? Thanks for the script
 
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

Vinny1993

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

BenTen

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

YAD

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

BenTen

Administrative
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!
 

Similar threads

Top