Repaints The PAM High Low Chart Setup For ThinkOrSwim

Repaints
Status
Not open for further replies.
That will be helpful. Even though I selected the current timeframe, it will still repaint. That short zone disappeared. Otherwise, it works very well.
IovbZBp.png
Yeah, that's what I mentioned in the original posting of this new version -- even in the current time frame, the swing high/low still needs to be confirmed before it stops repainting. There's no way around it with a study like this, unfortunately, or else you'd see a new zone being drawn at every single candle that makes a higher high. I'll work on adding an option where you won't see put signals within a specific range after a call signal fires and vice versa, I know the conflicting signals have confused people in the past.
 
Hi all, sorry for the wait -- here is my latest attempt at the high-low indicator, with MTF options and no repainting once the signal is fully confirmed.


CE85rLG.png


Above is the study using the 15min timeframe to form zones on the 5min chart -- I've also added the 13 and 48.5 emas in this picture.

As you can see, the zones no longer repaint, but I did add logic to suppress them after "length" amount of bars -- I may add this as an input later so that the length is separate from the zone extension. Also, given that this IS still a swinghigh/low study, you may see candles forming but if a new high/low is formed quickly, then it will reform the zone; that's just the nature of these studies, it can't detect the absolute high/low in real time lol. Also, you can obviously see that I still haven't gotten the duplicate signals to stop firing yet -- any help on that would be great.

Things I still want done here:
1. Making the signals only show once per zone
2. Adding the options for labels instead of arrows (probably doing this tonight)
3. Suppressing the signal creation if the chart or market internals are extremely against the countertrend signal (this can also likely be toggled)
4. There is still an option to add the vertical line but on MTF charts, it will show multiple times so I don't like it -- if there's a way to pretty that up it would be great
5. Adding the "buy types" back in, as I think that's a great option

Here is the link and code, I'll continue to improve on this but I wanted to at least get others' opinions and criticisms on this first: http://tos.mx/gGbzkIZ

Code:
#  +------------------------------------------------------------+
# New logic based on -- Example: How to extend levels to the right of the chart,
# by Robert Payne @ https://funwiththinkscript.com
# Logic provided by OGOptionsSlayer at usethinkscript.com

# define swing low points
input length = 20;
input add_cloud = yes;
#input buy_type = {default "Confirmation", "Active"};
#input bars_to_skip = 1;
input color_bars = yes;
input UseChartTime = no;
input agg = aggregationPeriod.FIFTEEN_MIN;
#input show_n =2;

def bn = BarNumber();
def na = double.nan;

# Scripts
script barssince {
    input Condition = 0;
    def barssince = if Condition then 1 else barssince[1] + 1;
    plot return = barssince;
}

#//MTF
def l;
def h;
def c;
def o;

if UseChartTime
then {
    o = open;
    l   = low;
    h  = high;
    c = close;
} else {
    o = open(period = agg);
    l = low(period = agg);
    h = high(period = agg);
    c = close(period = agg);
}


def first = (!IsNaN(c[-(length - 1)]) and IsNaN(c[-length]));
def firstbar = bn - length;
#AddVerticalLine(first, "-", Color.WHITE);



def lastBar = HighestAll(if IsNaN(c) then 0 else bn);
def offset = Min(length - 1, lastBar - bn);


def swingLow = l < Lowest(l[1], length - 1) and l == GetValue(Lowest(l, length), -offset);
def swingHigh =  h > Highest(h[1], length - 1) and h == GetValue(Highest(h, length), -offset);

# change candle colors just to make it easier to see what we are working with
AssignPriceColor(if color_bars then (if swingLow then Color.LIME else if swingHigh then Color.magenta else Color.current) else color.current);


# identify the very last swing low point
#def lowPointOneBarNumber =  swingLow then bn else 0);
def swinglowbar = if swinglow then bn else swinglowbar[1];

def lowPointOnehigh = if swingLow then h else lowPointOnehigh[1];
def lowPointOneValue = if swinglowbar>=firstbar then (if swingLow then l else lowPointOneValue[1]) else na;
plot low1 = if swingLow then l else lowPointOneValue;
low1.SetDefaultColor(Color.LIME);

def lowPointOneup = if swinglowbar>=firstbar then (if swingLow then h else lowPointOnehigh[1]) else na;
plot low1high = if swingLow then h else lowPointOneup;
low1high.SetDefaultColor(Color.LIME);
AddCloud(if add_cloud then low1high else Double.NaN, low1, Color.LIGHT_GREEN, Color.LIGHT_GREEN);

low1.setpaintingstrategy(paintingstrategy.horizontal);
low1high.setpaintingstrategy(paintingstrategy.horizontal);

def uppies = if barssince(swingLow) <= length then l else Double.NaN;
def sincelo = barssince(swingLow);


def crossup =  if close[1] crosses above low1high then bn else 99999;
#def crossupbar = lowestall(crossup);
def crossupsig = if bn == crossup then 1 else 0;
def upsince = barssince(crossup);



# and upsince[1]<length;
plot lowup = crossupsig ;
# and barssince(swinglow)<20;
#and upsince[1]>5 ;
lowup.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
#AddLabel(yes , "Since Low " + barssince(swinglow), Color.GREEN);



def highbar = if swinghigh then bn else highbar[1];


# identify the very last swing low point
def highPointOneBarNumber = if swingHigh then bn else 0;
def highPointOnelo = if swingHigh then l else highPointOnelo[1];
def highPointOneValue = if highbar>=firstbar then (if swingHigh then h else highPointOneValue[1]) else na;
plot high1 = if swingHigh then h else highPointOneValue;
high1.SetDefaultColor(Color.RED);

#addchartbubble(swinghigh, low, "low" + low, color.yellow);

def highPointOnelow = if highbar>=firstbar then (if swingHigh then l else highPointOnelo[1]) else na;
plot high1low = if swingHigh then l else highPointOnelow;
high1low.SetDefaultColor(Color.RED);
AddCloud(if add_cloud then high1low else Double.NaN, high1, Color.LIGHT_RED, Color.LIGHT_RED);

def sincehigh = barssince(swingHigh);

#AddLabel(yes , if sincehigh < length then "True" else "False", Color.RED);
#AddLabel(yes , "Since High " + barssince(swinghigh), color.red);

#def crossdn = !first and close[1] crosses below high1low and close < high1low;
#def crossdn =  (!first and close[1] crosses below high1low and close <high1low) or
#     (sum(swinghigh, 3)>=1 and close[1] < high1low and close < high1low);
def crossdn =  if close crosses below high1low then bn else 99999;
#def crossdnbar = between(highbar, crossdn, bn);
def crossdnsig = if bn equals crossdn then 1 else 0;

def dnsince = barssince(crossdn);

plot highdn = crossdnsig;
# and dnsince[1]<length;
highdn.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);

high1.setpaintingstrategy(paintingstrategy.horizontal);
high1low.setpaintingstrategy(paintingstrategy.horizontal);

# End
I truly love this and the timewarp addition. Wow, @Chemmy, you are becoming a deity in my mind. I don't see how you cannot stay in a winning trade with these tools when combined with Saty's new version of his pivot ribbon.
 
Hi all, sorry for the wait -- here is my latest attempt at the high-low indicator, with MTF options and no repainting once the signal is fully confirmed.


CE85rLG.png


Above is the study using the 15min timeframe to form zones on the 5min chart -- I've also added the 13 and 48.5 emas in this picture.

As you can see, the zones no longer repaint, but I did add logic to suppress them after "length" amount of bars -- I may add this as an input later so that the length is separate from the zone extension. Also, given that this IS still a swinghigh/low study, you may see candles forming but if a new high/low is formed quickly, then it will reform the zone; that's just the nature of these studies, it can't detect the absolute high/low in real time lol. Also, you can obviously see that I still haven't gotten the duplicate signals to stop firing yet -- any help on that would be great.

Things I still want done here:
1. Making the signals only show once per zone
2. Adding the options for labels instead of arrows (probably doing this tonight)
3. Suppressing the signal creation if the chart or market internals are extremely against the countertrend signal (this can also likely be toggled)
4. There is still an option to add the vertical line but on MTF charts, it will show multiple times so I don't like it -- if there's a way to pretty that up it would be great
5. Adding the "buy types" back in, as I think that's a great option

Here is the link and code, I'll continue to improve on this but I wanted to at least get others' opinions and criticisms on this first: http://tos.mx/gGbzkIZ

Code:
#  +------------------------------------------------------------+
# New logic based on -- Example: How to extend levels to the right of the chart,
# by Robert Payne @ https://funwiththinkscript.com 
# Logic provided by OGOptionsSlayer at usethinkscript.com

# define swing low points
input length = 20;
input add_cloud = yes;
#input buy_type = {default "Confirmation", "Active"};
#input bars_to_skip = 1;
input color_bars = yes;
input UseChartTime = no;
input agg = aggregationPeriod.FIFTEEN_MIN;
#input show_n =2;

def bn = BarNumber();
def na = double.nan;

# Scripts
script barssince {
    input Condition = 0;
    def barssince = if Condition then 1 else barssince[1] + 1;
    plot return = barssince;
}

#//MTF
def l;
def h;
def c;
def o;

if UseChartTime
then {
    o = open;
    l   = low;
    h  = high;
    c = close;
} else {
    o = open(period = agg);
    l = low(period = agg);
    h = high(period = agg);
    c = close(period = agg);
}


def first = (!IsNaN(c[-(length - 1)]) and IsNaN(c[-length]));
def firstbar = bn - length;
#AddVerticalLine(first, "-", Color.WHITE);



def lastBar = HighestAll(if IsNaN(c) then 0 else bn);
def offset = Min(length - 1, lastBar - bn);


def swingLow = l < Lowest(l[1], length - 1) and l == GetValue(Lowest(l, length), -offset);
def swingHigh =  h > Highest(h[1], length - 1) and h == GetValue(Highest(h, length), -offset);

# change candle colors just to make it easier to see what we are working with
AssignPriceColor(if color_bars then (if swingLow then Color.LIME else if swingHigh then Color.magenta else Color.current) else color.current);


# identify the very last swing low point
#def lowPointOneBarNumber =  swingLow then bn else 0);
def swinglowbar = if swinglow then bn else swinglowbar[1];

def lowPointOnehigh = if swingLow then h else lowPointOnehigh[1];
def lowPointOneValue = if swinglowbar>=firstbar then (if swingLow then l else lowPointOneValue[1]) else na;
plot low1 = if swingLow then l else lowPointOneValue;
low1.SetDefaultColor(Color.LIME);

def lowPointOneup = if swinglowbar>=firstbar then (if swingLow then h else lowPointOnehigh[1]) else na;
plot low1high = if swingLow then h else lowPointOneup;
low1high.SetDefaultColor(Color.LIME);
AddCloud(if add_cloud then low1high else Double.NaN, low1, Color.LIGHT_GREEN, Color.LIGHT_GREEN);

low1.setpaintingstrategy(paintingstrategy.horizontal);
low1high.setpaintingstrategy(paintingstrategy.horizontal);

def uppies = if barssince(swingLow) <= length then l else Double.NaN;
def sincelo = barssince(swingLow);


def crossup =  if close[1] crosses above low1high then bn else 99999;
#def crossupbar = lowestall(crossup);
def crossupsig = if bn == crossup then 1 else 0;
def upsince = barssince(crossup);



# and upsince[1]<length;
plot lowup = crossupsig ;
# and barssince(swinglow)<20;
#and upsince[1]>5 ;
lowup.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
#AddLabel(yes , "Since Low " + barssince(swinglow), Color.GREEN);



def highbar = if swinghigh then bn else highbar[1];


# identify the very last swing low point
def highPointOneBarNumber = if swingHigh then bn else 0;
def highPointOnelo = if swingHigh then l else highPointOnelo[1];
def highPointOneValue = if highbar>=firstbar then (if swingHigh then h else highPointOneValue[1]) else na;
plot high1 = if swingHigh then h else highPointOneValue;
high1.SetDefaultColor(Color.RED);

#addchartbubble(swinghigh, low, "low" + low, color.yellow);

def highPointOnelow = if highbar>=firstbar then (if swingHigh then l else highPointOnelo[1]) else na;
plot high1low = if swingHigh then l else highPointOnelow;
high1low.SetDefaultColor(Color.RED);
AddCloud(if add_cloud then high1low else Double.NaN, high1, Color.LIGHT_RED, Color.LIGHT_RED);

def sincehigh = barssince(swingHigh);

#AddLabel(yes , if sincehigh < length then "True" else "False", Color.RED);
#AddLabel(yes , "Since High " + barssince(swinghigh), color.red);

#def crossdn = !first and close[1] crosses below high1low and close < high1low;
#def crossdn =  (!first and close[1] crosses below high1low and close <high1low) or
#     (sum(swinghigh, 3)>=1 and close[1] < high1low and close < high1low);
def crossdn =  if close crosses below high1low then bn else 99999;
#def crossdnbar = between(highbar, crossdn, bn);
def crossdnsig = if bn equals crossdn then 1 else 0;

def dnsince = barssince(crossdn);

plot highdn = crossdnsig;
# and dnsince[1]<length;
highdn.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);

high1.setpaintingstrategy(paintingstrategy.horizontal);
high1low.setpaintingstrategy(paintingstrategy.horizontal);

# End

@Chemmy Are you cool with me copying and pasting this into Thinkscript and calling it PAM? There are so many memes and gifs with the word PAM, it's actually hilarious.
 
I truly love this and the timewarp addition. Wow, @Chemmy, you are becoming a deity in my mind. I don't see how you cannot stay in a winning trade with these tools when combined with Saty's new version of his pivot ribbon.

Haha, every bit of this indicator has been a community effort from the start-- it's been fun to see it evolve! There's still improvement to be made of course, but I'm glad to see how many people have come on this thread to use your idea.

As for the naming, I'm absolutely fine with calling it PAM -- I only haven't given it a full name yet because I'm not totally done with what I've wanted to do. But we can totally start calling it that going forward!
 
Haha, every bit of this indicator has been a community effort from the start-- it's been fun to see it evolve! There's still improvement to be made of course, but I'm glad to see how many people have come on this thread to use your idea.

As for the naming, I'm absolutely fine with calling it PAM -- I only haven't given it a full name yet because I'm not totally done with what I've wanted to do. But we can totally start calling it that going forward!
We need a website and YouTube videos :)
 
Hi all, sorry for the wait -- here is my latest attempt at the high-low indicator, with MTF options and no repainting once the signal is fully confirmed.


CE85rLG.png


Above is the study using the 15min timeframe to form zones on the 5min chart -- I've also added the 13 and 48.5 emas in this picture.

As you can see, the zones no longer repaint, but I did add logic to suppress them after "length" amount of bars -- I may add this as an input later so that the length is separate from the zone extension. Also, given that this IS still a swinghigh/low study, you may see candles forming but if a new high/low is formed quickly, then it will reform the zone; that's just the nature of these studies, it can't detect the absolute high/low in real time lol. Also, you can obviously see that I still haven't gotten the duplicate signals to stop firing yet -- any help on that would be great.

Things I still want done here:
1. Making the signals only show once per zone
2. Adding the options for labels instead of arrows (probably doing this tonight)
3. Suppressing the signal creation if the chart or market internals are extremely against the countertrend signal (this can also likely be toggled)
4. There is still an option to add the vertical line but on MTF charts, it will show multiple times so I don't like it -- if there's a way to pretty that up it would be great
5. Adding the "buy types" back in, as I think that's a great option

Here is the link and code, I'll continue to improve on this but I wanted to at least get others' opinions and criticisms on this first: http://tos.mx/gGbzkIZ

Code:
#  +------------------------------------------------------------+
# New logic based on -- Example: How to extend levels to the right of the chart,
# by Robert Payne @ https://funwiththinkscript.com 
# Logic provided by OGOptionsSlayer at usethinkscript.com

# define swing low points
input length = 20;
input add_cloud = yes;
#input buy_type = {default "Confirmation", "Active"};
#input bars_to_skip = 1;
input color_bars = yes;
input UseChartTime = no;
input agg = aggregationPeriod.FIFTEEN_MIN;
#input show_n =2;

def bn = BarNumber();
def na = double.nan;

# Scripts
script barssince {
    input Condition = 0;
    def barssince = if Condition then 1 else barssince[1] + 1;
    plot return = barssince;
}

#//MTF
def l;
def h;
def c;
def o;

if UseChartTime
then {
    o = open;
    l   = low;
    h  = high;
    c = close;
} else {
    o = open(period = agg);
    l = low(period = agg);
    h = high(period = agg);
    c = close(period = agg);
}


def first = (!IsNaN(c[-(length - 1)]) and IsNaN(c[-length]));
def firstbar = bn - length;
#AddVerticalLine(first, "-", Color.WHITE);



def lastBar = HighestAll(if IsNaN(c) then 0 else bn);
def offset = Min(length - 1, lastBar - bn);


def swingLow = l < Lowest(l[1], length - 1) and l == GetValue(Lowest(l, length), -offset);
def swingHigh =  h > Highest(h[1], length - 1) and h == GetValue(Highest(h, length), -offset);

# change candle colors just to make it easier to see what we are working with
AssignPriceColor(if color_bars then (if swingLow then Color.LIME else if swingHigh then Color.magenta else Color.current) else color.current);


# identify the very last swing low point
#def lowPointOneBarNumber =  swingLow then bn else 0);
def swinglowbar = if swinglow then bn else swinglowbar[1];

def lowPointOnehigh = if swingLow then h else lowPointOnehigh[1];
def lowPointOneValue = if swinglowbar>=firstbar then (if swingLow then l else lowPointOneValue[1]) else na;
plot low1 = if swingLow then l else lowPointOneValue;
low1.SetDefaultColor(Color.LIME);

def lowPointOneup = if swinglowbar>=firstbar then (if swingLow then h else lowPointOnehigh[1]) else na;
plot low1high = if swingLow then h else lowPointOneup;
low1high.SetDefaultColor(Color.LIME);
AddCloud(if add_cloud then low1high else Double.NaN, low1, Color.LIGHT_GREEN, Color.LIGHT_GREEN);

low1.setpaintingstrategy(paintingstrategy.horizontal);
low1high.setpaintingstrategy(paintingstrategy.horizontal);

def uppies = if barssince(swingLow) <= length then l else Double.NaN;
def sincelo = barssince(swingLow);


def crossup =  if close[1] crosses above low1high then bn else 99999;
#def crossupbar = lowestall(crossup);
def crossupsig = if bn == crossup then 1 else 0;
def upsince = barssince(crossup);



# and upsince[1]<length;
plot lowup = crossupsig ;
# and barssince(swinglow)<20;
#and upsince[1]>5 ;
lowup.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
#AddLabel(yes , "Since Low " + barssince(swinglow), Color.GREEN);



def highbar = if swinghigh then bn else highbar[1];


# identify the very last swing low point
def highPointOneBarNumber = if swingHigh then bn else 0;
def highPointOnelo = if swingHigh then l else highPointOnelo[1];
def highPointOneValue = if highbar>=firstbar then (if swingHigh then h else highPointOneValue[1]) else na;
plot high1 = if swingHigh then h else highPointOneValue;
high1.SetDefaultColor(Color.RED);

#addchartbubble(swinghigh, low, "low" + low, color.yellow);

def highPointOnelow = if highbar>=firstbar then (if swingHigh then l else highPointOnelo[1]) else na;
plot high1low = if swingHigh then l else highPointOnelow;
high1low.SetDefaultColor(Color.RED);
AddCloud(if add_cloud then high1low else Double.NaN, high1, Color.LIGHT_RED, Color.LIGHT_RED);

def sincehigh = barssince(swingHigh);

#AddLabel(yes , if sincehigh < length then "True" else "False", Color.RED);
#AddLabel(yes , "Since High " + barssince(swinghigh), color.red);

#def crossdn = !first and close[1] crosses below high1low and close < high1low;
#def crossdn =  (!first and close[1] crosses below high1low and close <high1low) or
#     (sum(swinghigh, 3)>=1 and close[1] < high1low and close < high1low);
def crossdn =  if close crosses below high1low then bn else 99999;
#def crossdnbar = between(highbar, crossdn, bn);
def crossdnsig = if bn equals crossdn then 1 else 0;

def dnsince = barssince(crossdn);

plot highdn = crossdnsig;
# and dnsince[1]<length;
highdn.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);

high1.setpaintingstrategy(paintingstrategy.horizontal);
high1low.setpaintingstrategy(paintingstrategy.horizontal);

# End

Is there a delay? Are the High & Low boxes immediate or do they appear after certain numbers of bars?

Thanks for sharing your work and helping us out. Much appreciated!
 
Is there a delay? Are the High & Low boxes immediate or do they appear after certain numbers of bars?

Thanks for sharing your work and helping us out. Much appreciated!
There is no delay -- on the contrary, this tries to find the current highest high or lowest low in real time, so it tends to start trying to draw zones immediately after trend breaks or strong runs. For that reason, you'll want to wait for confirmation first or avoid paying attention to countertrend signals when the trend is overwhelmingly strong; after all, you don't want to step in front of a train.

That's why we're still working to improve the signals soon so that they don't fire under conditions like that
 
There is no delay -- on the contrary, this tries to find the current highest high or lowest low in real time, so it tends to start trying to draw zones immediately after trend breaks or strong runs. For that reason, you'll want to wait for confirmation first or avoid paying attention to countertrend signals when the trend is overwhelmingly strong; after all, you don't want to step in front of a train.

That's why we're still working to improve the signals soon so that they don't fire under conditions like that
I must thank OGOptionSlayer for his/her contributions. Thank you OGOptionSlayer!!
 
LOL 😁

What I did was convert it to a strategy in order to back test to find the optimal "last N" length for signal candles. Then I painted candles based on squeeze histo colors (typically a 9-length squeeze on most timeframes). Those candle colors really help frame the price action nicely.

Anyhow, thanks again for sharing your strat with us. It's given me additional opportunities at times of day I didn't typically trade. Sorry I cannot share any code but I'm thinkScript-illiterate so have to resort to another language and platform for optimization and tinkering.

Anyhow, thanks again. Best wishes and happy trading!
Can you share a chart screenshot of how this look?
 
@Chemmy For the new version. If I select "Use chart time", Does this keep the indicator on 15m but sow on 5m? or does this make the indicator work as the 5m TF that I selected?
 
Greeting Everyone, Thanks for a great post, is there anyway that we can set a alarm when or watch list if call or put triggers, and what is the best time frame for this strategy?? thanks for help!!!
 
Yeah, so that's due to two things:
1. The fact that I still haven't gotten the repeat signals fixed -- the first arrow in that zone is the only one that should show, I just haven't finished that bit yet
2. The original logic requires a cross of the previous candle close over the zone high, which is why this fired even though it went right into a new swing high. I can definitely add a buffer or something to suppress immediate fires in the opposite direction though if needed, I had that in the original version of this code too.

I truly love this and the timewarp addition. Wow, @Chemmy, you are becoming a deity in my mind. I don't see how you cannot stay in a winning trade with these tools when combined with Saty's new version of his pivot ribbon.
@Chemmy & @OGOptionSlayer :
can you guys confirm if this is how indicator works/being used? What exactly those red and green clouds mean? are those areas of chop zone?

 
I look for the signal in the higher timeframe and then I use different areas of confluence in the lower timeframes. I really like the combination of SATY ATR levels set on Day mode to see where I'm going to enter. I also look at the 13 and 48.5 ema's to ensure the short-term trend is matching the long-term that I identified in the higher timeframes. I use this indicator to trade futures, specifically /ES, so I understand where you are coming from.
Also, I think utilizing Squeeze Pro or TTM Squeeze really brings it home and let's me know if I should take the entry or not and it keeps me from getting shaken out in manipulated markets, like futures or $SPY and $SPX.

Also, on futures, look to take profit around the 50% retracement level or at the 13 ema for puts and the 48.5 ema for calls. It's okay to add to your position if you feel strongly about the trend but you know how price action fluctuates greatly in /ES.
@OGOptionSlayer : Do you wait for the first 30 minutes of market open to enter? the first 30 minutes is a kind of setting the tone for rest of the day. Also, may I know why in the below diagram, Squeeze shows Increasing light blue bars while the price came down in the first 30 minutes, Is this called divergence? Went through SATY ATR levels and I really like them. Hope I will do some paper trading tomorrow. Can you show me an example of where you place your SL based on today's price action. Also, how utilizing Squeeze Pro/TTM Squeeze helped you not to shaken out in manipulated markets? Can you show a trade example. Thank you so much for your ideas and contribution. Really helping my trading to improve a lot but today I took a big Loss on /GL /CL and /ES as well. Almost 3 months of my profit is gone in one day. May I know what does black dots represent in Squeeze Pro?

 
@Chemmy Are you cool with me copying and pasting this into Thinkscript and calling it PAM? There are so many memes and gifs with the word PAM, it's actually hilarious.
@OGOptionSlayer/ @Chemmy : Can you tell me why it generated a Buy Signal today at the yellow circle at 3:45 AM EST...I checked the last 20 candle close and its no where related to the buy signal...I'm trying to better understand when the buy and sell signals are actually generated.

 
@OGOptionSlayer/ @Chemmy : Can you tell me why it generated a Buy Signal today at the yellow circle at 3:45 AM EST...I checked the last 20 candle close and its no where related to the buy signal...I'm trying to better understand when the buy and sell signals are actually generated.


It would be great if the first count of the candle can be colored. Only the first count and the last count which is the 20th count candle. Maybe @Chemmy can help with this. Also, @Chemmy there is an indicator I'd like you to look at and it's not related to PAM. Do I have to send the thread here?
 
Last edited:
@OGOptionSlayer
Hi,

Thank you for sharing your strategy with us, and I can't wait to try it out for myself. Since there are 17 pages and ongoing, it's a little overwhelming to figure out what the latest update/version is. It would be absolutely amazing if you could perhaps share the latest version you are using via replying to this post or updating the original post on page 1 and sharing the variating versions or whatever is the easiest.

Thanks!
 
@OGOptionSlayer
Hi,

Thank you for sharing your strategy with us, and I can't wait to try it out for myself. Since there are 17 pages and ongoing, it's a little overwhelming to figure out what the latest update/version is. It would be absolutely amazing if you could perhaps share the latest version you are using via replying to this post or updating the original post on page 1 and sharing the variating versions or whatever is the easiest.

Thanks!
Actually that's a great idea to post the latest update on the original thread.

Here is the most recent update: http://tos.mx/NiWsfTL
 
@OGOptionSlayer/ @Chemmy : Can you tell me why it generated a Buy Signal today at the yellow circle at 3:45 AM EST...I checked the last 20 candle close and its no where related to the buy signal...I'm trying to better understand when the buy and sell signals are actually generated.

I'm going to let @Chemmy handle that one. I'm not sure. I know we have some kinks to work out still. What version are you using? It looks like an old version. Here is the latest: http://tos.mx/NiWsfTL
 
Status
Not open for further replies.

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

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
344 Online
Create Post

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top