Page 1 of 1

the thing about scaled charts ...

Posted: Tue Feb 25, 2025 3:30 pm
by abacaba
is they let you see this:


ES_daily_RoundedTop.PNG
ES_daily_RoundedTop.PNG (66.25 KiB) Viewed 577240 times
ES_circle_2.PNG
ES_circle_2.PNG (52.47 KiB) Viewed 577240 times

Re: the thing about scaled charts ...

Posted: Tue Feb 25, 2025 4:47 pm
by sbank
Neat!

My concern about these techniques is that it seems to be subjective. Is it? How do you know where to actually put the circle points?

Any rules of thumbs?

Re: the thing about scaled charts ...

Posted: Tue Feb 25, 2025 8:43 pm
by abacaba
I. Empirical observation shows that curvilinear patterns in the pricetime series are a verifiable phenomenon under proper scaling
a. these can be seen to mark turns when the boundaries are violated
(1.) in uptrends the upper circle warns of trend completion
(2.) a break of the lower circle is a signal that trend has completed, if price then breaks above the upper circle trend has resumed
b. reverse "upper" and "lower" in above for downtrends

II. Placing the three hotspots
a. in uptrend, begin with a structurally significant low, i.e., recovery after large downmove, double bottom, large volume bar, etc.
b. place succeeding hotspots on higher structurally significant lows as trend persists
(1.)downside breaks of the circle in an uptrend after the third hotspot is in place will indicate the end of that particular trend on a certain level
of structure, this can be repositioned on trend resumption as in I.(2.) above
c. again, reverse "upper" and "lower" for downtrends

I only use this on daily or larger time frames and confirmed with other tools with scaling derived from the geometric progression where each term is obtained by multiplying the previous term by 2.

The occasional ad hoc decision will need to be made, but that's pretty much it!

More charts:
ES_circle_firstmove.PNG
ES_circle_firstmove.PNG (62.85 KiB) Viewed 577196 times
ES_large circle.PNG
ES_large circle.PNG (50.34 KiB) Viewed 577196 times

Re: the thing about scaled charts ...

Posted: Wed Feb 26, 2025 2:34 pm
by sbank
Okay, I think you convinced me to give this a try. :)

I already have squared-scaled charts, so it is worth a shot. Is the circle tool available? It doesn't seem to be a standard Wave59 tool, and I just searched the QScript library. (I can probably code something up myself, I just wanted to do less work. ;-)

thx

Re: the thing about scaled charts ...

Posted: Wed Feb 26, 2025 3:40 pm
by abacaba
Hoo boy. Tried to post to the QScript library. This is what showed up:
Capture 2.PNG
Capture 2.PNG (7.05 KiB) Viewed 577057 times

Re: the thing about scaled charts ...

Posted: Wed Feb 26, 2025 3:47 pm
by abacaba

Code: Select all

#
# 3PointCircle
#
#  Draw a circle using 3 hot spots
#  or
#  Draw a circle using 2 hot spots and a radius (use 3rd hot spot to define direction of the circle)
#
#  threepointcircle = true - circle defined with 3 hot spots
#                   = false - circle defined with 2 hot spots and a radius
#
input: threepointcircle(false),radius(150),logclear(true),displayradius(false),circlecolor(blue),circlestyle(ps_solid),circlethickness(1);
#
if (barnum == barsback)
  {
  if (logclear) clearlog();

  bar1=hotspot_to_bar(1);
  price1=hotspot_to_price(1);
  cx1=bar_to_pixel(bar1);
  cy1=price_to_pixel(price1);

  bar2=hotspot_to_bar(2);
  price2=hotspot_to_price(2);
  cx2=bar_to_pixel(bar2);
  cy2=price_to_pixel(price2);

  bar3=hotspot_to_bar(3);
  price3=hotspot_to_price(3);
  cx3=bar_to_pixel(bar3);
  cy3=price_to_pixel(price3);
  dcx=cx2-cx1;
  if (dcx!=0)
    {
    ma=(cy2-cy1)/(cx2-cx1);
    }
  else
    {
    return;
    }

  ty3=cy1+ma*(cx3-cx1);
  if (ty3<cy3)
    {
    upcircle=false;

    }
  else if (ty3>cy3)
    {
    upcircle=true;
    }
  else
    {
    print "Coliner hot spots";
    return;
    }
  print "upcircle= ",upcircle;
  if (threepointcircle==true)
    {
    mb=(cy3-cy2)/(cx3-cx2);

    x0=(ma*mb*(cy1-cy3)+mb*(cx1+cx2)-ma*(cx2+cx3))/(2*(mb-ma));
    y0=-(x0-(cx1+cx2)/2)/ma+(cy1+cy2)/2;
    radius=sqrt((cx1-x0)*(cx1-x0)+(cy1-y0)*(cy1-y0));
    print "t-x0= ",x0," y0= ",y0;
    }
  else
    {
    cxh=(cx1+cx2)/2;
    cyh=(cy1+cy2)/2;
    aa=cxh/ma+cyh;
    ay=cy1-aa;
    ae=1+1/(ma*ma);
    be=2*(-cx1+ay/ma);
    ce=cx1*cx1+ay*ay-radius*radius;
    de=sqrt(be*be-4*ae*ce);
    x01=(-be+de)/(2*ae);
    x02=(-be-de)/(2*ae);

    y01=-(x01-(cx1+cx2)/2)/ma+(cy1+cy2)/2;
    y02=-(x02-(cx1+cx2)/2)/ma+(cy1+cy2)/2;
    if (upcircle==true)
      {
      if (y01<=y02)
        {
        x0=x01;
        y0=y01;
        }
      else
        {
        x0=x02;
        y0=y02;
        }
      }
    else                         
      { # upcircle == false
      if (y01<=y02)
        {
        x0=x02;
        y0=y02;
        }
      else
        {
        x0=x01;
        y0=y01;
        }

      }
    print "f-x0= ",x0," y0= ",y0;
    }
  print "r= ",radius;
  canvas_pencolor(circlecolor);
  canvas_penwidth(circlethickness);
  canvas_penstyle(circlestyle);
  x1=x0-radius;
  y1=y0-radius;
  x2=x0+radius;
  y2=y0+radius;
  canvas_ellipse(x1, y1, x2, y2);

  if (displayradius==true)
    {
    canvas_movepen(x0,y0);
    #canvas_pencolor(uptrendlinecolor);
    #canvas_penwidth(uptrendlinethickness);
    #canvas_penstyle(uptrendlinestyle);
    canvas_lineto(cx1,cy1);
    }


}

Re: the thing about scaled charts ...

Posted: Wed Feb 26, 2025 6:08 pm
by sbank
First attempt of using the circles on lean hogs. (My dots are an indicator I wrote a while back based on some simple Gann stuff. Very similar to Earik's exhaustion dots or the Wave Tracker. It makes it very easy for me to just blindly rely on the dots instead of trying to pick tops and bottoms myself.)
2025-02-26_13-04-32.png
2025-02-26_13-04-32.png (265.88 KiB) Viewed 577028 times