Display Price In Chart Bubble

K

KevinSammy

New member
VIP
Hello,

I am trying to display the lowest price on a candle as a bubble.
I currently have it displayed above the candle as just the price, but the bubble would be ideal.

Here's the code for the price portion:
plot value3 = if swing_lo and Lo < Hi and Lo > Lo[1] then pricelow else Double.NaN;
value3.SetPaintingStrategy(PaintingStrategy.VALUES_above);
value3.SetDefaultColor(Color.WHITE);


Can someone please take a look at the code for the bubble below and let me know how to do it? I've been trying for a while and am stuck.
AddChartBubble(swing_lo and Lo < Hi and Lo > Lo[1], low, "HIGHER Low", Color.WHITE, yes);


Thank You!
 
rad14733

rad14733

Active member
VIP
Code:
AddChartBubble(swing_lo and Lo < Hi and Lo > Lo[1], low, "HIGHER Low", Color.WHITE, no);
The last parameter determines whether the label is displayed Above (yes) or Below (no)...
 
K

KevinSammy

New member
VIP
Thanks, but your code moves the bubble to the bottom of the candle....which is different than what I'm looking for - which is to display the price of the low of the candle in the bubble, instead of "HIGHER Low" :)
 
rad14733

rad14733

Active member
VIP
Thanks, but your code moves the bubble to the bottom of the candle....which is different than what I'm looking for - which is to display the price of the low of the candle in the bubble, instead of "HIGHER Low" :)
Ahhh... Missed that part... We'd need to see the entire script to garner all of the logic rather than just the few lines you posted above...
 
K

KevinSammy

New member
VIP
Sure, that makes sense.

This is the line of code I want to add for the bubble to show the low price of the candle, instead of "HIGHER Low":
AddChartBubble(swing_lo and Lo < Hi and Lo > Lo[1], low, "HIGHER Low", Color.WHITE, yes);

adding others in case they can help:
@BenTen @horserider @markos


Here's the full code:

Code:
declare upper;
input showlabel=yes;
input showHiLoLines = yes; #plots res and support lines
input showbubble = yes; #plots hi/lo
input showZigZaglines = yes; #plots zigzaglines
input pricelow = low;

Def swinghigh = if high > high[1] and high > high[2] and high > high[-1] and high > high[-2] then 1 else 0;
Plot swing_hi = if swinghigh then high else double.nan;
swing_hi.setstyle(curve.points);
swing_hi.SetLineWeight(2);
swing_hi.SetDefaultColor(Color.red);
Def swinglow = if low < low[1] and low < low[2] and low < low[-1] and low < low[-2] then 1 else 0;
plot swing_lo = if swinglow then low else double.nan;
swing_lo.setstyle(curve.points);
swing_lo.SetLineWeight(2);
swing_lo.SetDefaultColor(Color.lime);

#plot swing high and swing low lines
def Hi = if !isNaN(swing_hi) then high else Hi[1];
def Lo = if !isNaN(swing_lo) then low else Lo[1];
plot R1 = if showHiLoLines then Hi else double.NaN;
plot S1 = if showHiLoLines then Lo else double.NaN;
R1.SetPaintingStrategy(PaintingStrategy.DASHES);
S1.setPaintingStrategy(paintingStrategy.DASHES);
R1.setDefaultColor(color.red);
s1.setDefaultColor(color.lime);

### plots zigzaglines
plot zigzag = if showZigZaglines and swinghigh then high else if showZigZaglines and swinglow then low else double.NaN;
zigzag.enableApproximation();
zigzag.SetPaintingStrategy(PaintingStrategy.line);
zigzag.setLineWeight(1);
zigzag.setDefaultColor(color.white);
addChartBubble(showbubble,swing_hi,if hi > lo and  hi > hi[1]  then "HH" else  "LH",color.white,yes);
addChartBubble(showbubble,swing_lo,if lo <hi  and lo < lo[1] then "LL" else "HL",color.white,yes);

plot value1 =  if swing_lo and Lo < Hi and Lo > Lo[1] then pricelow else Double.NaN;
value1.SetPaintingStrategy(PaintingStrategy.VALUES_below);
value1.SetDefaultColor(Color.WHITE);
 
rad14733

rad14733

Active member
VIP
Ok... So, it sounds like what you want is:

Code:
AddChartBubble(swing_lo and Lo < Hi and Lo > Lo[1], low, low, Color.WHITE, yes);
This code displays the actual price of low in place of the HIGHER Low text...
 
K

KevinSammy

New member
VIP
Hello @rad14733

I am trying to code so that it auto draws a long horizontal line on the relevant candles for this script, but it draws only a small dash below the candle. Can you please review this code and let me know to get it to work properly?

Thank you again!!


plot line = if swing_lo and Lo < Hi and Lo > Lo[1] then low else Double.NaN;
line.SetDefaultColor(Color.white);
line.SetLineWeight(5);
line.SetPaintingStrategy(PaintingStrategy.Horizontal);
 
rad14733

rad14733

Active member
VIP
Hello @rad14733

I am trying to code so that it auto draws a long horizontal line on the relevant candles for this script, but it draws only a small dash below the candle. Can you please review this code and let me know to get it to work properly?

Thank you again!!


plot line = if swing_lo and Lo < Hi and Lo > Lo[1] then low else Double.NaN;
line.SetDefaultColor(Color.white);
line.SetLineWeight(5);
line.SetPaintingStrategy(PaintingStrategy.Horizontal);
There is no know way to extend a line X number of bars forward via parameters... The only way I am aware of is the way it extends in the code listing you posted above... I was just searching for a way last night and even Pete Hahn isn't aware of a means of doing so... I can check around a bit more but, unfortunately, ThinkScript does have limitations that other platforms do not have...
 
O

OBW

New member
@KevinSammy

Ruby:
def low_level = if swinglow and Lo < high and Lo > Lo[1] then low else low_level[1];
plot line = low_level;
line.SetDefaultColor(Color.WHITE);
line.SetLineWeight(5);
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
 
rad14733

rad14733

Active member
VIP
@KevinSammy

Ruby:
def low_level = if swinglow and Lo < high and Lo > Lo[1] then low else low_level[1];
plot line = low_level;
line.SetDefaultColor(Color.WHITE);
line.SetLineWeight(5);
line.SetPaintingStrategy(PaintingStrategy.HORIZONTAL);
Was going to come back and suggest using a recursive variable last night but got busy working on an indicator and forgot... You beat me to it OBW... (y)
 
K

KevinSammy

New member
VIP
@OBW Thank YOU, so much!!!

@rad14733 Thanks also for looking into this.
 

Similar threads

Top