R

#### Ramesh16

##### Member

Thank you so much!Here is the swing hi/lo script https://tos.mx/dilJJwF

R

Thank you so much!Here is the swing hi/lo script https://tos.mx/dilJJwF

D

@NoDough Here's the code with the addition of the arrows that @HighBredCloud mentioned. This gives you the option to turn on/off both the arrows as well as the candle color in case there is another candle color based study that you would like to use.Where did you find the "HIGH/LOW Swing found here" script?

Thanks!

Code:

```
# Swing High and Swing Low
# tomsk
# 11.18.2019
# As requested by chillc15 I have modified @RobertPayne code to include SwingHigh
# points which are now plotted in CYAN with the swing high points painted in PINK.
# So now you have both swing high and low on your charts
# +------------------------------------------------------------+
# | Example: How to extend levels to the right of the chart |
# | Robert Payne |
# | https://funwiththinkscript.com |
# +------------------------------------------------------------+
# SWING LOW
# define swing low points
input length = 10;
def bn = BarNumber();
def lastBar = HighestAll(if IsNaN(close) then 0 else bn);
def offset = Min(length - 1, lastBar - bn);
def swingLow = low < Lowest(low[1], length - 1) and low == GetValue(Lowest(low, length), -offset);
# identify the very last swing low point
def lowPointOneBarNumber = HighestAll(if swingLow then bn else 0);
def lowPointOneValue = if bn == lowPointOneBarNumber then low else lowPointOneValue[1];
plot low1 = if bn < lowPointOneBarNumber then Double.NaN else lowPointOneValue;
low1.SetDefaultColor(Color.LIGHT_RED);
# identify the 2nd to last swing low point
def lowPointTwoBarNumber = HighestAll(if swingLow and bn < lowPointOneBarNumber then bn else 0);
def lowPointTwoValue = if bn == lowPointTwoBarNumber then low else lowPointTwoValue[1];
plot low2 = if bn < lowPointTwoBarNumber then Double.NaN else lowPointTwoValue;
low2.SetDefaultColor(Color.Light_RED);
# just keep doing ths for as many lines as you want to add to the chart
# identify then 3rd to last swingHigh point low
def lowPointThreeBarNumber = HighestAll(if swingLow and bn < lowPointTwoBarNumber then bn else 0);
def lowPointThreeValue = if bn == lowPointThreeBarNumber then low else lowPointThreeValue[1];
plot low3 = if bn < lowPointThreeBarNumber then Double.NaN else lowPointThreeValue;
low3.SetDefaultColor(Color.Light_RED);
# identify then 4th to last swingHigh point low
def lowPointFourBarNumber = HighestAll(if swingLow and bn < lowPointThreeBarNumber then bn else 0);
def lowPointFourValue = if bn == lowPointFourBarNumber then low else lowPointFourValue[1];
plot low4 = if bn < lowPointFourBarNumber then Double.NaN else lowPointFourValue;
low4.SetDefaultColor(Color.Light_RED);
# identify then 5th to last swingHigh point low
def lowPointFiveBarNumber = HighestAll(if swingLow and bn < lowPointFourBarNumber then bn else 0);
def lowPointFiveValue = if bn == lowPointFiveBarNumber then low else lowPointFiveValue[1];
plot low5 = if bn < lowPointFiveBarNumber then Double.NaN else lowPointFiveValue;
low5.SetDefaultColor(Color.Light_RED);
# identify then 6th to last swingHigh point low
def lowPointSixBarNumber = HighestAll(if swingLow and bn < lowPointFiveBarNumber then bn else 0);
def lowPointSixValue = if bn == lowPointSixBarNumber then low else lowPointSixValue[1];
plot low6 = if bn < lowPointSixBarNumber then Double.NaN else lowPointSixValue;
low6.SetDefaultColor(Color.Light_RED);
# identify then 7th to last swingHigh point low
def lowPointSevenBarNumber = HighestAll(if swingLow and bn < lowPointSixBarNumber then bn else 0);
def lowPointSevenValue = if bn == lowPointSevenBarNumber then low else lowPointSevenValue[1];
plot low7 = if bn < lowPointSevenBarNumber then Double.NaN else lowPointSevenValue;
low7.SetDefaultColor(Color.Light_RED);
# identify then 8th to last swingHigh point low
def lowPointEightBarNumber = HighestAll(if swingLow and bn < lowPointSevenBarNumber then bn else 0);
def lowPointEightValue = if bn == lowPointEightBarNumber then low else lowPointEightValue[1];
plot low8 = if bn < lowPointEightBarNumber then Double.NaN else lowPointEightValue;
low8.SetDefaultColor(Color.Light_RED);
# identify then 9th to last swingHigh point low
def lowPointNineBarNumber = HighestAll(if swingLow and bn < lowPointEightBarNumber then bn else 0);
def lowPointNineValue = if bn == lowPointNineBarNumber then low else lowPointNineValue[1];
plot low9 = if bn < lowPointNineBarNumber then Double.NaN else lowPointNineValue;
low9.SetDefaultColor(Color.Light_RED);
# identify then 10th to last swingHigh point low
def lowPointTenBarNumber = HighestAll(if swingLow and bn < lowPointNineBarNumber then bn else 0);
def lowPointTenValue = if bn == lowPointTenBarNumber then low else lowPointTenValue[1];
plot low10 = if bn < lowPointTenBarNumber then Double.NaN else lowPointTenValue;
low10.SetDefaultColor(Color.Light_RED);
# SWING HIGH
# define swing high points
def swingHigh = high > Highest(high[1], length - 1) and high == GetValue(Highest(high, length), -offset);
# identify the very last swing high point
def highPointOneBarNumber = HighestAll(if swingHigh then bn else 0);
def highPointOneValue = if bn == highPointOneBarNumber then high else highPointOneValue[1];
plot high1 = if bn < highPointOneBarNumber then Double.NaN else highPointOneValue;
high1.SetDefaultColor(Color.CYAN);
# identify the 2nd to last swing high point
def highPointTwoBarNumber = HighestAll(if swingHigh and bn < highPointOneBarNumber then bn else 0);
def highPointTwoValue = if bn == highPointTwoBarNumber then high else highPointTwoValue[1];
plot high2 = if bn < highPointTwoBarNumber then Double.NaN else highPointTwoValue;
high2.SetDefaultColor(Color.CYAN);
# just keep doing ths for as many lines as you want to add to the chart
def highPointThreeBarNumber = HighestAll(if swingHigh and bn < highPointTwoBarNumber then bn else 0);
def highPointThreeValue = if bn == highPointThreeBarNumber then high else highPointThreeValue[1];
plot high3 = if bn < highPointThreeBarNumber then Double.NaN else highPointThreeValue;
high3.SetDefaultColor(Color.CYAN);
def highPointFourBarNumber = HighestAll(if swingHigh and bn < highPointThreeBarNumber then bn else 0);
def highPointFourValue = if bn == highPointFourBarNumber then high else highPointFourValue[1];
plot high4 = if bn < highPointFourBarNumber then Double.NaN else highPointFourValue;
high4.SetDefaultColor(Color.CYAN);
def highPointFiveBarNumber = HighestAll(if swingHigh and bn < highPointFourBarNumber then bn else 0);
def highPointFiveValue = if bn == highPointFiveBarNumber then high else highPointFiveValue[1];
plot high5 = if bn < highPointFiveBarNumber then Double.NaN else highPointFiveValue;
high5.SetDefaultColor(Color.CYAN);
def highPointSixBarNumber = HighestAll(if swingHigh and bn < highPointFiveBarNumber then bn else 0);
def highPointSixValue = if bn == highPointSixBarNumber then high else highPointSixValue[1];
plot high6 = if bn < highPointsixBarNumber then Double.NaN else highPointsixValue;
high6.SetDefaultColor(Color.CYAN);
def highPointSevenBarNumber = HighestAll(if swingHigh and bn < highPointSixBarNumber then bn else 0);
def highPointSevenValue = if bn == highPointSevenBarNumber then high else highPointSevenValue[1];
plot high7 = if bn < highPointSevenBarNumber then Double.NaN else highPointSevenValue;
high7.SetDefaultColor(Color.CYAN);
def highPointEightBarNumber = HighestAll(if swingHigh and bn < highPointSevenBarNumber then bn else 0);
def highPointEightValue = if bn == highPointEightBarNumber then high else highPointEightValue[1];
plot high8 = if bn < highPointEightBarNumber then Double.NaN else highPointEightValue;
high4.SetDefaultColor(Color.CYAN);
def highPointNineBarNumber = HighestAll(if swingHigh and bn < highPointEightBarNumber then bn else 0);
def highPointNineValue = if bn == highPointNineBarNumber then high else highPointNineValue[1];
plot high9 = if bn < highPointNineBarNumber then Double.NaN else highPointNineValue;
high4.SetDefaultColor(Color.CYAN);
def highPointTenBarNumber = HighestAll(if swingHigh and bn < highPointNineBarNumber then bn else 0);
def highPointTenValue = if bn == highPointTenBarNumber then high else highPointTenValue[1];
plot high10 = if bn < highPointTenBarNumber then Double.NaN else highPointTenValue;
high4.SetDefaultColor(Color.CYAN);
# ADJUST CANDLE COLORS
# change candle colors just to make it easier to see what we are working with
input CandleColor = yes;
AssignPriceColor(if swingLow and CandleColor then Color.CYAN else if swingHigh and CandleColor then Color.MAGENTA else Color.CURRENT);
input Arrows = yes;
plot HighArrow = swingHigh and Arrows;
HighArrow.SetLineWeight(5);
HighArrow.SetDefaultColor(Color.MAGENTA);
HighArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
plot LowArrow = swingLow and Arrows;
LowArrow.SetLineWeight(5);
LowArrow.SetDefaultColor(Color.CYAN);
LowArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
# End Swing High and Swing Low
```

R

Is there a scanner? Scanning for those Scholastic arrows.

N

Thank you!!@NoDough Here's the code with the addition of the arrows that @HighBredCloud mentioned. This gives you the option to turn on/off both the arrows as well as the candle color in case there is another candle color based study that you would like to use.

Code:`# Swing High and Swing Low # tomsk # 11.18.2019 # As requested by chillc15 I have modified @RobertPayne code to include SwingHigh # points which are now plotted in CYAN with the swing high points painted in PINK. # So now you have both swing high and low on your charts # +------------------------------------------------------------+ # | Example: How to extend levels to the right of the chart | # | Robert Payne | # | https://funwiththinkscript.com | # +------------------------------------------------------------+ # SWING LOW # define swing low points input length = 10; def bn = BarNumber(); def lastBar = HighestAll(if IsNaN(close) then 0 else bn); def offset = Min(length - 1, lastBar - bn); def swingLow = low < Lowest(low[1], length - 1) and low == GetValue(Lowest(low, length), -offset); # identify the very last swing low point def lowPointOneBarNumber = HighestAll(if swingLow then bn else 0); def lowPointOneValue = if bn == lowPointOneBarNumber then low else lowPointOneValue[1]; plot low1 = if bn < lowPointOneBarNumber then Double.NaN else lowPointOneValue; low1.SetDefaultColor(Color.LIGHT_RED); # identify the 2nd to last swing low point def lowPointTwoBarNumber = HighestAll(if swingLow and bn < lowPointOneBarNumber then bn else 0); def lowPointTwoValue = if bn == lowPointTwoBarNumber then low else lowPointTwoValue[1]; plot low2 = if bn < lowPointTwoBarNumber then Double.NaN else lowPointTwoValue; low2.SetDefaultColor(Color.Light_RED); # just keep doing ths for as many lines as you want to add to the chart # identify then 3rd to last swingHigh point low def lowPointThreeBarNumber = HighestAll(if swingLow and bn < lowPointTwoBarNumber then bn else 0); def lowPointThreeValue = if bn == lowPointThreeBarNumber then low else lowPointThreeValue[1]; plot low3 = if bn < lowPointThreeBarNumber then Double.NaN else lowPointThreeValue; low3.SetDefaultColor(Color.Light_RED); # identify then 4th to last swingHigh point low def lowPointFourBarNumber = HighestAll(if swingLow and bn < lowPointThreeBarNumber then bn else 0); def lowPointFourValue = if bn == lowPointFourBarNumber then low else lowPointFourValue[1]; plot low4 = if bn < lowPointFourBarNumber then Double.NaN else lowPointFourValue; low4.SetDefaultColor(Color.Light_RED); # identify then 5th to last swingHigh point low def lowPointFiveBarNumber = HighestAll(if swingLow and bn < lowPointFourBarNumber then bn else 0); def lowPointFiveValue = if bn == lowPointFiveBarNumber then low else lowPointFiveValue[1]; plot low5 = if bn < lowPointFiveBarNumber then Double.NaN else lowPointFiveValue; low5.SetDefaultColor(Color.Light_RED); # identify then 6th to last swingHigh point low def lowPointSixBarNumber = HighestAll(if swingLow and bn < lowPointFiveBarNumber then bn else 0); def lowPointSixValue = if bn == lowPointSixBarNumber then low else lowPointSixValue[1]; plot low6 = if bn < lowPointSixBarNumber then Double.NaN else lowPointSixValue; low6.SetDefaultColor(Color.Light_RED); # identify then 7th to last swingHigh point low def lowPointSevenBarNumber = HighestAll(if swingLow and bn < lowPointSixBarNumber then bn else 0); def lowPointSevenValue = if bn == lowPointSevenBarNumber then low else lowPointSevenValue[1]; plot low7 = if bn < lowPointSevenBarNumber then Double.NaN else lowPointSevenValue; low7.SetDefaultColor(Color.Light_RED); # identify then 8th to last swingHigh point low def lowPointEightBarNumber = HighestAll(if swingLow and bn < lowPointSevenBarNumber then bn else 0); def lowPointEightValue = if bn == lowPointEightBarNumber then low else lowPointEightValue[1]; plot low8 = if bn < lowPointEightBarNumber then Double.NaN else lowPointEightValue; low8.SetDefaultColor(Color.Light_RED); # identify then 9th to last swingHigh point low def lowPointNineBarNumber = HighestAll(if swingLow and bn < lowPointEightBarNumber then bn else 0); def lowPointNineValue = if bn == lowPointNineBarNumber then low else lowPointNineValue[1]; plot low9 = if bn < lowPointNineBarNumber then Double.NaN else lowPointNineValue; low9.SetDefaultColor(Color.Light_RED); # identify then 10th to last swingHigh point low def lowPointTenBarNumber = HighestAll(if swingLow and bn < lowPointNineBarNumber then bn else 0); def lowPointTenValue = if bn == lowPointTenBarNumber then low else lowPointTenValue[1]; plot low10 = if bn < lowPointTenBarNumber then Double.NaN else lowPointTenValue; low10.SetDefaultColor(Color.Light_RED); # SWING HIGH # define swing high points def swingHigh = high > Highest(high[1], length - 1) and high == GetValue(Highest(high, length), -offset); # identify the very last swing high point def highPointOneBarNumber = HighestAll(if swingHigh then bn else 0); def highPointOneValue = if bn == highPointOneBarNumber then high else highPointOneValue[1]; plot high1 = if bn < highPointOneBarNumber then Double.NaN else highPointOneValue; high1.SetDefaultColor(Color.CYAN); # identify the 2nd to last swing high point def highPointTwoBarNumber = HighestAll(if swingHigh and bn < highPointOneBarNumber then bn else 0); def highPointTwoValue = if bn == highPointTwoBarNumber then high else highPointTwoValue[1]; plot high2 = if bn < highPointTwoBarNumber then Double.NaN else highPointTwoValue; high2.SetDefaultColor(Color.CYAN); # just keep doing ths for as many lines as you want to add to the chart def highPointThreeBarNumber = HighestAll(if swingHigh and bn < highPointTwoBarNumber then bn else 0); def highPointThreeValue = if bn == highPointThreeBarNumber then high else highPointThreeValue[1]; plot high3 = if bn < highPointThreeBarNumber then Double.NaN else highPointThreeValue; high3.SetDefaultColor(Color.CYAN); def highPointFourBarNumber = HighestAll(if swingHigh and bn < highPointThreeBarNumber then bn else 0); def highPointFourValue = if bn == highPointFourBarNumber then high else highPointFourValue[1]; plot high4 = if bn < highPointFourBarNumber then Double.NaN else highPointFourValue; high4.SetDefaultColor(Color.CYAN); def highPointFiveBarNumber = HighestAll(if swingHigh and bn < highPointFourBarNumber then bn else 0); def highPointFiveValue = if bn == highPointFiveBarNumber then high else highPointFiveValue[1]; plot high5 = if bn < highPointFiveBarNumber then Double.NaN else highPointFiveValue; high5.SetDefaultColor(Color.CYAN); def highPointSixBarNumber = HighestAll(if swingHigh and bn < highPointFiveBarNumber then bn else 0); def highPointSixValue = if bn == highPointSixBarNumber then high else highPointSixValue[1]; plot high6 = if bn < highPointsixBarNumber then Double.NaN else highPointsixValue; high6.SetDefaultColor(Color.CYAN); def highPointSevenBarNumber = HighestAll(if swingHigh and bn < highPointSixBarNumber then bn else 0); def highPointSevenValue = if bn == highPointSevenBarNumber then high else highPointSevenValue[1]; plot high7 = if bn < highPointSevenBarNumber then Double.NaN else highPointSevenValue; high7.SetDefaultColor(Color.CYAN); def highPointEightBarNumber = HighestAll(if swingHigh and bn < highPointSevenBarNumber then bn else 0); def highPointEightValue = if bn == highPointEightBarNumber then high else highPointEightValue[1]; plot high8 = if bn < highPointEightBarNumber then Double.NaN else highPointEightValue; high4.SetDefaultColor(Color.CYAN); def highPointNineBarNumber = HighestAll(if swingHigh and bn < highPointEightBarNumber then bn else 0); def highPointNineValue = if bn == highPointNineBarNumber then high else highPointNineValue[1]; plot high9 = if bn < highPointNineBarNumber then Double.NaN else highPointNineValue; high4.SetDefaultColor(Color.CYAN); def highPointTenBarNumber = HighestAll(if swingHigh and bn < highPointNineBarNumber then bn else 0); def highPointTenValue = if bn == highPointTenBarNumber then high else highPointTenValue[1]; plot high10 = if bn < highPointTenBarNumber then Double.NaN else highPointTenValue; high4.SetDefaultColor(Color.CYAN); # ADJUST CANDLE COLORS # change candle colors just to make it easier to see what we are working with input CandleColor = yes; AssignPriceColor(if swingLow and CandleColor then Color.CYAN else if swingHigh and CandleColor then Color.MAGENTA else Color.CURRENT); input Arrows = yes; plot HighArrow = swingHigh and Arrows; HighArrow.SetLineWeight(5); HighArrow.SetDefaultColor(Color.MAGENTA); HighArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN); plot LowArrow = swingLow and Arrows; LowArrow.SetLineWeight(5); LowArrow.SetDefaultColor(Color.CYAN); LowArrow.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP); # End Swing High and Swing Low`

T

Someone posted a build in TOS indicator ACCUMDISpr and SlowStochastics 100/0, 14-1, I have been using only that as a confirm, simple, simple,.....difficult to scan for,....simply visual.....I agree its the price action I see.

T

Thank you for posting. I'm new to this website and I appreciate all the work you guys do. Where can I find the link to the indicator?

Thank You

Thank You

Last edited by a moderator:

T

Thanks, I dont know how I missed that

T

Thanks for sharing.

Last edited by a moderator:

B

Thank you for your efforts to constantly improve your original post.

F

@J007RMC Thanks a lot for all your efforts .. I am trying to integrate your high low script with my Buy sell Indicator .. I will update on how it goes ...

Last edited by a moderator:

R

This is looking very good!@J007RMC Thanks a lot for all your efforts .. I am trying to integrate your high low script with my Buy sell Indicator .. I will update on how it goes ...

F

F

Ah News :')

R

Could you pl post your closing trade too!

T

Hey Ben, how can I get access to the chatroom? I'm a VIP member.@J007RMC Sorry for the late response. You didn't tag me in your comments; that's why I didn't receive any alerts. To answer your question about the chatroom: there is only one official useThinkScript chatroom at the moment. However, it's available only to our VIP members. I will think about having a public channel within it. Will see. Thank you for your kind words as well. Appreciate the support.

M

can you post your buy and sell script

F

@J007RMC Buying 4/3 48C @0.35 Swinging it to Friday

THANK YOU

S

Thread starter | Similar threads | Forum | Replies | Date |
---|---|---|---|---|

Holy Grail ADX Trading Setup for ThinkorSwim | Custom | 27 |

Similar threads |
---|

Holy Grail ADX Trading Setup for ThinkorSwim |