Join useThinkScript to post your question to a community of 21,000+ developers and traders.
AddChartBubble(bar == HighestAll(crossUpBar), ORLriskUP, "RiskON ORH", color.green, no);
So i had that turned off already but for S&G i turned it back on and now it kinda working. The cloud is not as dark as it use to be and now the time on the graph doesnt match the current time. Do you have a fix?Turn off extended hours on equities and adjust time axis expansion are bars to the right number. Hope this works for you .
Fixed the time issue. Is there a way to make the cloud darker?So i had that turned off already but for S&G i turned it back on and now it kinda working. The cloud is not as dark as it use to be and now the time on the graph doesnt match the current time. Do you have a fix?
I read it on the comments that some had a problem so they had to delete and download the script again. So far that I know there is no way to make cloud darker, choosing different background makes it look darker, and that's what I did.Fixed the time issue. Is there a way to make the cloud darker?
This is how I have it setup, I can see cloud clearly.Fixed the time issue. Is there a way to make the cloud darker?
input opentime = 0930;
input ORend = 0934;
AddChartBubble(SecondsTillTime(0930) == 0, high, "NY", Color.WHITE, yes);
AddVerticalLine(SecondsTillTime(0930) == 0, "NEW YORK ", Color.CYAN, Curve.FIRM);
def na = Double.NaN;
def ORActive = if GetLastDay() == GetDay() and SecondsFromTime(opentime) >= 0 and SecondsFromTime(ORend) < 0 then 1 else 0;
def ORHigh = if ORActive then high else na;
def ORLow = if ORActive then low else na;
def ORLow2 = if ORActive then low else na;
plot OHIGH = if GetLastDay() != GetDay() or !ORActive then na else HighestAll(ORHigh);
plot OLOW = if GetLastDay() != GetDay() or !ORActive then na else LowestAll(ORLow);
plot OLOW2 = if GetLastDay() != GetDay() or !ORActive then na else LowestAll(ORLow);
plot HIGH = if GetLastDay() != GetDay() or SecondsFromTime(ORend) < 0 then na else HighestAll(ORHigh);
plot LOW = if GetLastDay() != GetDay() or SecondsFromTime(ORend) < 0 then na else LowestAll(ORLow);
OHIGH.SetStyle(Curve.SHORT_DASH);
OLOW.SetStyle(Curve.SHORT_DASH);
OLOW2.SetStyle(Curve.SHORT_DASH);
OHIGH.SetDefaultColor(Color.GREEN);
OLOW.SetDefaultColor(Color.RED);
OLOW2.SetDefaultColor(Color.RED);
HIGH.SetStyle(Curve.SHORT_DASH);
LOW.SetStyle(Curve.SHORT_DASH);
HIGH.SetDefaultColor(Color.GREEN);
LOW.SetDefaultColor(Color.RED);
AddCloud(OLOW, OHIGH, COLOR.white, COLOR.white, YES);
# Clayburgs Directional Day Filter
# Written by KumoBob Dec 31 2009
# Thanks to ThinkScriptor and aPPLE_PI for helping me with the secondsfromtime() function by showing me the code writen by Prospectus in his Opening Range study.
# Directional Day Filter Line - After the first five minutes calculate the average range for this 5-minute bar. Draw a horizontal line at this level.
# Time Line - Draw a vertical line at 60-minute bar (Low to High of the day so far).
# (slower value for faster moving charts like currency and S&P – Faster value for slower moving charts) (45 minutes to 90 minutes)
# Determine the amount of activity above and below the Directional Day Filter Line prior to the Time Line.
# (A rectangle can be drawn with Blue shading above and Red below the Directional Day Filter Line)
# If the majority of the activity is above the Directional Day Filter Line the trend bias for the day will be higher.
# If the majority of the activity is below the Directional Day Filter Line the trend bias for the day will be lower.
# If it's even the day will most likely be flat.
# If the closing bar on the Time Line is within 1/3 the distance from the Directional Day Filter Line then added bias can be anticipated.
#hint: Best used in a 1 to 5 minute chart period
def na = double.nan;
############### Directional Day Filter Line ##############
input ORBegin = 0930;
input OREnd = 0935;
# Show Today only? (Default Yes)
input ShowTodayOnly = { default "No", "Yes"};
def s = ShowTodayOnly;
# Create logic for OR definition: 1 if between fist 5 minutes
Def ORActive = if secondsTillTime(OREnd) > 0 AND secondsFromTime(ORBegin) >= 0 then 1 else 0;
# Create logic to paint only current day post-open:
def today = if s == 0 OR getDay() == getLastDay() AND secondsFromTime(ORBegin) >= 0 then 1 else 0;
# Track OR High:
Rec ORHigh = if ORHigh[1] == 0 or ORActive[1] == 0 AND ORActive == 1 then high else if ORActive AND high > ORHigh[1] then high else ORHigh[1];
# Track OR Low:
Rec ORLow = if ORLow[1] == 0 or ORActive[1] == 0 AND ORActive == 1 then low else if ORActive AND low < ORLow[1] then low else ORLow[1];
# Calculate OR width:
Def ORWidth = ORHigh - ORLow;
# Define all the plots:
Def ORHA = if ORActive OR today < 1 then na else ORHigh;
Def ORLA = if ORActive OR today < 1 then na else ORLow;
Def O = ORHA - (ORHA - ORLA) / 2;
Plot ORL = if (o == 0 , na, o);
ORL.SetDefaultColor(color.Yellow);
ORL.SetStyle(curve.Long_DASH);
ORL.SetLineWeight(3);
################## Time Line #####################
input ORBegin2 = 0930;
# Define time that OR is finished (in hhmm format,
# 10:00 is the default):
input OREnd2 = 1030;
# Show Today only? (Default Yes)
####input ShowTodayOnly={"No", default "Yes"};
####def s=ShowTodayOnly;
# Create logic for OR definition:
Def ORActive2 = if secondsTillTime(OREnd2) > 0 AND secondsFromTime(ORBegin2) >= 0 then 1 else 0;
# Create logic to paint only current day post-open:
#####def today=if s==0 OR getday()==getlastday() AND secondsfromtime(ORBegin2)>=0 then 1 else 0;
# Track OR High:
Rec ORHigh2 = if ORHigh2[1] == 0 or ORActive2[1] == 0 AND ORActive2 == 1 then high else if ORActive2 AND high > ORHigh2[1] then high else ORHigh2[1];
# Track OR Low:
Rec ORLow2 = if ORLow2[1] == 0 or ORActive2[1] == 0 AND ORActive2 == 1 then low else if ORActive2 AND low < ORLow2[1] then low else ORLow2[1];
# Calculate OR width:
Def ORWidth2 = ORHigh2 - ORLow2;
# Define all the plots:
Plot ORH2 = if ORActive2 OR today < 1 then na else ORHigh2;
Plot ORL2 = if ORActive2 OR today < 1 then na else ORLow2;
# Formatting:
ORH2.SetDefaultColor(color.green);
ORH2.SetStyle(curve.Long_DASH);
ORH2.SetLineWeight(3);
ORL2.SetDefaultColor(color.red);
ORL2.SetStyle(curve.Long_DASH);
ORL2.SetLineWeight(3);
################################
Def TimeLine = if secondsTillTime(OREnd2) == 0 then 1 else 0;
Def pos = (ORH2 - ORL2) / 10;
plot d1 = if (TimeLine , ORH2, na);
plot d2 = if (TimeLine , ORH2 - ( pos * 2), na);
plot d3 = if (TimeLine , ORH2 - ( pos * 3), na);
plot d4 = if (TimeLine , ORH2 - ( pos * 4), na);
plot d5 = if (TimeLine , ORH2 - ( pos * 5), na);
plot d6 = if (TimeLine , ORH2 - ( pos * 6), na);
plot d7 = if (TimeLine , ORH2 - ( pos * 7), na);
plot d8 = if (TimeLine , ORH2 - ( pos * 8), na);
plot d9 = if (TimeLine , ORH2 - ( pos * 9), na);
plot d10 = if (TimeLine , (ORL2), na);
d1.SetPaintingStrategy(PaintingStrategy.arrow_down);
d2.SetPaintingStrategy(PaintingStrategy.POINTS);
d3.SetPaintingStrategy(PaintingStrategy.POINTS);
d4.SetPaintingStrategy(PaintingStrategy.POINTS);
d5.SetPaintingStrategy(PaintingStrategy.POINTS);
d6.SetPaintingStrategy(PaintingStrategy.POINTS);
d7.SetPaintingStrategy(PaintingStrategy.POINTS);
d8.SetPaintingStrategy(PaintingStrategy.POINTS);
d9.SetPaintingStrategy(PaintingStrategy.POINTS);
d10.SetPaintingStrategy(PaintingStrategy.ARROW_UP);
d2.HideBubble();
d3.HideBubble();
d4.HideBubble();
d5.HideBubble();
d6.HideBubble();
d7.HideBubble();
d8.HideBubble();
d9.HideBubble();
DEF Span = (O - ORL2) / (ORH2 - ORL2);
rec colorState = if Span > 0.66 then -1
else if Span < 0.33 then 1 else 0;
d1.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d2.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d3.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d4.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d5.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d6.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d7.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d8.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d9.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.GREEN else
Color.Yellow
);
d10.AssignValueColor(
if colorState < 0 then Color.RED else
if colorState > 0 then Color.red else
Color.Yellow
);
d1.SetLineWeight(5);
d2.SetLineWeight(5);
d3.SetLineWeight(5);
d4.SetLineWeight(5);
d5.SetLineWeight(5);
d6.SetLineWeight(5);
d7.SetLineWeight(5);
d8.SetLineWeight(5);
d9.SetLineWeight(5);
d10.SetLineWeight(5);
#######################################################################
Def TimeLineb = if secondsTillTime(OREND) == 0 then 1 else 0;
Def posbd = (ORHA - ORLA) / 10;
plot bd1 = if (TimeLineb , ORHA, na);
plot bd2 = if (TimeLineb , ORHA - ( posbd * 2), na);
plot bd3 = if (TimeLineb , ORHA - ( posbd * 3), na);
plot bd4 = if (TimeLineb , ORHA - ( posbd * 4), na);
plot bd5 = if (TimeLineb , ORHA - ( posbd * 5), na);
plot bd6 = if (TimeLineb , ORHA - ( posbd * 6), na);
plot bd7 = if (TimeLineb , ORHA - ( posbd * 7), na);
plot bd8 = if (TimeLineb , ORHA - ( posbd * 8), na);
plot bd9 = if (TimeLineb , ORHA - ( posbd * 9), na);
plot bd10 = if (TimeLineb , (ORL2), na);
bd1.SetPaintingStrategy(PaintingStrategy.POINTS);
bd2.SetPaintingStrategy(PaintingStrategy.POINTS);
bd3.SetPaintingStrategy(PaintingStrategy.POINTS);
bd4.SetPaintingStrategy(PaintingStrategy.POINTS);
bd5.SetPaintingStrategy(PaintingStrategy.POINTS);
bd6.SetPaintingStrategy(PaintingStrategy.POINTS);
bd7.SetPaintingStrategy(PaintingStrategy.POINTS);
bd8.SetPaintingStrategy(PaintingStrategy.POINTS);
bd9.SetPaintingStrategy(PaintingStrategy.POINTS);
bd10.SetPaintingStrategy(PaintingStrategy.POINTS);
bd1.SetDefaultColor(Color.YELLOW);
bd2.SetDefaultColor(Color.YELLOW);
bd3.SetDefaultColor(Color.YELLOW);
bd4.SetDefaultColor(Color.YELLOW);
bd5.SetDefaultColor(Color.YELLOW);
bd6.SetDefaultColor(Color.YELLOW);
bd7.SetDefaultColor(Color.YELLOW);
bd8.SetDefaultColor(Color.YELLOW);
bd9.SetDefaultColor(Color.YELLOW);
bd10.SetDefaultColor(Color.YELLOW);
bd1.HideBubble();
bd2.HideBubble();
bd3.HideBubble();
bd4.HideBubble();
bd5.HideBubble();
bd6.HideBubble();
bd7.HideBubble();
bd8.HideBubble();
bd9.HideBubble();
bd10.HideBubble();
AddCloud(ORL2, ORH2, color.green, color.green);
#def aggregation = if getAggregationPeriod() == (AggregationPeriod.MIN * 5) or (AggregationPeriod.MIN * 10) or (AggregationPeriod.MIN * 15) then 1 else 0 ;
def aggregation = 1;
def breakout = close crosses above ORH2;
def breakdown = close crosses below ORL2;
AddChartBubble(breakout, low, "B", Color.light_green, no);
AddChartBubble(breakdown, high, "S", Color.light_red, no);
I have same problem. Only only 1-3 minute chart everything shows . 5 minutes and up there is nothingsometimes the target zones do not appear... for example today on 5 min NQ ... the zones did not appear till later in the day... any idea how we can fix this?
declare Once_per_bar;
input Mopen = 0930; # Begin
input M5min = 0935; #hint End of first 5 min bar
input OREnd = 1000; #hint OrEnd: End Period of Opening Range Breakout.
input lengthAtr = 4; #hint Lenght for the ATR Risk Target Lines.
input AtrMult = 2.0; #hint ATRmult: Multiplier for the ATR calculations.
def min5Active = if secondsTillTime(m5min) > 0 and secondsFromTime(mopen) >= 0 then 1 else 0;
def today = if GetAggregationPeriod() <= AggregationPeriod.fifteen_MIN and getDay() == getLastDay() and secondsFromTime(mopen) >= 0 then 1 else 0;
def m5High = if m5High[1] == 0
or min5Active[1] == 0 and
min5Active == 1
then high
else if min5Active and
high > m5High[1]
then high
else m5High[1];
def m5Low = if m5Low[1] == 0
or min5Active[1] == 0 and
min5Active == 1
then low
else if min5Active and
low < m5Low[1]
then low
else m5Low[1];
def m5Width = m5High - m5Low;
def m5HighAct = if min5Active
or today < 1
then double.NaN
else m5High;
def m5LowAct = if min5Active
or today < 1
then double.NaN
else m5Low;
def min5mid = m5HighAct - Round(((m5HighAct - m5LowAct) / 2) / TickSize(), 0) * TickSize();
def ORActive = if secondsTillTime(OREnd) > 0 and
secondsFromTime(mopen) >= 0
then 1
else 0;
def ORHigh = if ORHigh[1] == 0
or ORActive[1] == 0 and
ORActive == 1
then high
else if ORActive and
high > ORHigh[1]
then high
else ORHigh[1];
def ORLow = if ORLow[1] == 0
or ORActive[1] == 0 and
ORActive == 1
then low
else if ORActive and
low < ORLow[1]
then low
else ORLow[1];
def ORWidth = ORHigh - ORLow;
def ORendTime = if secondsTillTime(OREnd) == 0
then 1
else 0;
def min5meanBar = if !min5Active and min5Active[1] and today
then barNumber()
else min5meanBar[1];
def ORendBar = if !ORActive and ORActive[1] and today
then barNumber()
else ORendBar[1];
def Mopenm = if (min5mid == 0 , double.NaN, min5mid);
plot OpenMidp = if barNumber() >= highestall(min5meanBar) then Highestall(if isNaN(close[-1]) then Mopenm[1] else double.nan) else double.nan;
OpenMidp.SetDefaultColor(color.Yellow);
OpenMidp.SetStyle(curve.medium_DASH);
OpenMidp.SetLineWeight(1);
OpenMidp.HideTitle();
def ORHi = if ORActive
or today < 1
then double.NaN
else ORHigh;
plot ORHighP = if barNumber() >= highestAll(ORendBar)
then HighestAll(if isNaN(close[-1])
then ORHi[1]
else double.nan)
else double.nan;
ORHighP.SetDefaultColor(color.dark_red);
ORHighP.SetStyle(curve.Long_DASH);
ORHighP.SetLineWeight(1);
ORHighP.HideTitle();
def ORLo = if ORActive
or today < 1
then double.NaN
else ORLow;
plot ORLowP = if barNumber() >= highestAll(ORendBar)
then HighestAll(if isNaN(close[-1])
then ORLo[1]
else double.nan)
else double.nan;
ORLowP.SetDefaultColor(color.dark_green);
ORLowP.SetStyle(curve.medium_DASH);
ORLowP.SetLineWeight(1);
ORLowP.HideTitle();
# Begin Risk Algorithm
# First Breakout or Breakdown bars
def Bubbleloc1 = isNaN(close[-1]);
def BreakoutBar = if min5Active
then double.nan
else if !min5Active and close crosses above ORHi
then barnumber()
else if !isNaN(BreakoutBar[1]) and close crosses ORHi
then BreakoutBar[1]
else BreakoutBar[1];
def ATR = if ORActive
then Round((Average(TrueRange(high, close, low), lengthATR)) / TickSize(), 0) * TickSize()
else ATR[1];
def cond1 = if high > ORHi and
high[1] <= ORHi
then Round((ORHi + (ATR * AtrMult)) / TickSize(), 0) * TickSize()
else cond1[1];
# High Targets
plot Htarget = if barnumber() >= BreakoutBar
then cond1
else double.nan;
Htarget.SetPaintingStrategy(paintingStrategy.Squares);
Htarget.SetLineWeight(1);
Htarget.SetDefaultColor(Color.White);
Htarget.HideTitle();
AddChartBubble(BubbleLoc1, Htarget, "RO", color.white, if close > Htarget then no else yes);
def condHtarget2 = if close crosses above cond1
then Round((cond1 + (ATR * AtrMult)) / TickSize(), 0) * TickSize()
else condHtarget2[1];
plot Htarget2 = if barnumber() >= BreakoutBar
then condHtarget2
else double.nan;
Htarget2.SetPaintingStrategy(PaintingStrategy.Squares);
Htarget2.SetLineWeight(1);
Htarget2.SetDefaultColor(Color.Plum);
Htarget2.HideTitle();
AddChartBubble(BubbleLoc1, Htarget2, "2nd T", color.plum, if close > Htarget2
then no
else yes);
def condHtarget3 = if close crosses above condHtarget2
then Round((condHtarget2 + (ATR * AtrMult)) / TickSize(), 0) * TickSize()
else condHtarget3[1];
plot Htarget3 = if barnumber() >= BreakoutBar
then condHtarget3
else double.nan;
Htarget3.SetPaintingStrategy(PaintingStrategy.Squares);
Htarget3.SetLineWeight(1);
Htarget3.SetDefaultColor(Color.Plum);
Htarget3.HideTitle();
AddChartBubble(isNaN(close[-1]), Htarget3, "3rd T", color.plum, if close > Htarget3 then no else yes);
def condHtarget4 = if close crosses above condHtarget3
then Round((condHtarget3 + (ATR * AtrMult)) / TickSize(), 0) * TickSize()
else condHtarget4[1];
plot Htarget4 = if barnumber() >= HighestAll(BreakoutBar)
then condHtarget4
else double.nan;
Htarget4.SetPaintingStrategy(PaintingStrategy.Squares);
Htarget4.SetLineWeight(1);
Htarget4.SetDefaultColor(Color.Plum);
Htarget4.HideTitle();
AddChartBubble(BubbleLoc1, Htarget4, "4th T", color.plum, if close > Htarget4 then no else yes);
def condHtarget5 = if close crosses above condHtarget4
then Round((condHtarget4 + (ATR * AtrMult)) / TickSize(), 0) * TickSize()
else condHtarget5[1];
plot Htarget5 = if barnumber() >= BreakoutBar
then condHtarget5
else double.nan;
Htarget5.SetPaintingStrategy(PaintingStrategy.Squares);
Htarget5.SetLineWeight(1);
Htarget5.SetDefaultColor(Color.Plum);
Htarget5.HideTitle();
AddChartBubble(BubbleLoc1, Htarget5, "5th T", color.plum, if close > Htarget5 then no else yes);
# Low Targets
def cond2 = if low < ORLo and
low[1] >= ORLo
then Round((ORLo - (AtrMult * ATR)) / TickSize(), 0) * TickSize()
else cond2[1];
plot Ltarget = if barnumber() >= HighestAll(OREndBar)
then highestAll(if isNaN(close[-1])
then cond2
else double.nan)
else double.nan;
Ltarget.SetPaintingStrategy(PaintingStrategy.Squares);
Ltarget.SetLineWeight(1);
Ltarget.SetDefaultColor(Color.White);
Ltarget.HideTitle();
AddChartBubble(BubbleLoc1, cond2, "RO", color.white, if close < Ltarget
then yes
else no);
def condLtarget2 = if close crosses below cond2
then Round((cond2 - (AtrMult * ATR)) / TickSize(), 0) * TickSize()
else condLtarget2[1];
plot Ltarget2 = if barnumber() >= HighestAll(OREndBar)
then highestAll(if isNaN(close[-1])
then condLtarget2
else double.nan)
else double.nan;
Ltarget2.SetPaintingStrategy(PaintingStrategy.Squares);
Ltarget2.SetLineWeight(1);
Ltarget2.SetDefaultColor(Color.Plum);
Ltarget2.HideTitle();
AddChartBubble(BubbleLoc1, condLtarget2, "2nd T", color.plum, if close < condLtarget2
then yes
else no);
def condLtarget3 = if close crosses below condLtarget2
then Round((condLtarget2 - (AtrMult * ATR)) / TickSize(), 0) * TickSize()
else condLtarget3[1];
plot Ltarget3 = if barnumber() >= HighestAll(OREndBar)
then highestAll(if isNaN(close[-1])
then condLtarget3
else double.nan)
else double.nan;
Ltarget3.SetPaintingStrategy(PaintingStrategy.Squares);
Ltarget3.SetLineWeight(1);
Ltarget3.SetDefaultColor(Color.Plum);
Ltarget3.HideTitle();
AddChartBubble(BubbleLoc1, condLtarget3, "3rd T", color.plum, if close < Ltarget3
then yes
else no);
def condLtarget4 = if close crosses condLtarget3
then Round((condLtarget3 - (AtrMult * ATR)) / TickSize(), 0) * TickSize()
else condLtarget4[1];
plot Ltarget4 = if barnumber() >= HighestAll(OREndBar)
then highestAll(if isNaN(close[-1])
then condLtarget4
else double.nan)
else double.nan;
Ltarget4.SetPaintingStrategy(PaintingStrategy.Squares);
Ltarget4.SetLineWeight(1);
Ltarget4.SetDefaultColor(Color.Plum);
Ltarget4.HideTitle();
AddChartBubble(BubbleLoc1, condLtarget4, "4th T", color.plum, if close < Ltarget4
then yes
else no);
def condLtarget5 = if close crosses condLtarget4
then Round((condLtarget4 - (AtrMult * ATR)) / TickSize(), 0) * TickSize()
else condLtarget5[1];
plot Ltarget5 = if barnumber() >= HighestAll(OREndBar)
then highestAll(if isNaN(close[-1])
then condLtarget5
else double.nan)
else double.nan;
Ltarget5.SetPaintingStrategy(PaintingStrategy.Squares);
Ltarget5.SetLineWeight(1);
Ltarget5.SetDefaultColor(Color.Plum);
Ltarget5.HideTitle();
AddChartBubble(BubbleLoc1, condLtarget5, "5th T", color.plum, if close < Ltarget5
then yes
else no);
plot ORH2ext = if barNumber() >= highestAll(ORendBar)
then HighestAll(if isNaN(c[-1])
then ORH2[1]
else double.nan)
Start a new thread and receive assistance from our community.
useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.
We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.
If you are new, or just looking for guidance, here are some helpful links to get you started.