NexusFi: Find Your Edge


Home Menu

 





Strange behavior when trying to move trendlines


Discussion in EasyLanguage Programming

Updated
    1. trending_up 1,946 views
    2. thumb_up 1 thanks given
    3. group 2 followers
    1. forum 2 posts
    2. attach_file 0 attachments




 
Search this Thread
  #1 (permalink)
 greymatter 
Johns Creek GA/USA
 
Experience: Intermediate
Platform: ThinkorSwim, IB
Trading: Emini ES
Posts: 6 since Aug 2016
Thanks Given: 49
Thanks Received: 0

I am an experienced developer but new to EL.

I am using trend lines to mark horizontal price levels. What I want to do is mark local highs and lows from the bar where they originate all the way to the right edge of the chart. So I mark the level but then want to move the line up for highs or down for lows when a slightly higher high or lower low is discovered.

 
Code
using elsystem.drawingobjects;
using elsystem.drawing;

vars:
	TrendLine tl(null),        // reusable variable
	TrendLine mrh(null),    // reference to most recent high TL
	TrendLine mrl(null);     // reference to most recent low TL

        ...

        // create an initial price level line
	tl = TrendLine.create(BNPoint.create(BarNumber, high), bnpoint.create(99999, high));
	tl.Persist = true;
	tl.color = color.fromname("red");
	DrawingObjects.add(tl);
	mrh = tl;

I started out trying to simply move the existing line:

 
Code
mrh.StartPoint.Price = High;
mrh.EndPoint.Price = High;
For some reason, that does not work. Any idea why not? It seems like it should.

Plan B was to delete the existing line and create a new line at the new level:

 
Code
                DrawingObjects.Delete(mrh);
		tl = TrendLine.create(BNPoint.create(BarNumber, high), bnpoint.create(99999, high));
		tl.Persist = true;
		tl.Color = color.fromname("red");
		DrawingObjects.add(tl);
		mrh = tl;
This code also behaves very strangely. If I run it as is, my print statements show that it is processing the code, yet it never deletes the original line, and it never creates new lines.

However, if I comment out the line that says DrawingObjects.Delete(mrh);, then I get all the lines. (To be clear, all I want is the most extreme high and low, not all of the interim steps on the way to them.)

There must be something I do not understand about the references to these drawing objects. Is the problem that I am reusing the variables tl and mrh and mrl? Am I forced to create a new variable for each line? Or is there some other problem that I completely missing?

It almost seems like the lines are not executed in the order that they appear, as if the lines are being drawn and then instantly deleted. So with the call to Delete() commented out, the drawn lines remain.

Any insights appreciated!


Started this thread Reply With Quote

Can you help answer these questions
from other members on NexusFi?
CFTC Opens First COT Report Review in 20 Years -- Asks W …
Traders Hideout
ATFX Suspends Prop Trading Unit ATFunded -- Full Review …
Funded Trading Evaluation Firms
April CPI Preview: +3.7% YoY Expected at 8:30 AM ET -- C …
Traders Hideout
Ninjatrader users - good CONNECTIONs post and article fr …
NinjaTrader
Trump Truth Social Fires Hormuz From 10% to 59% -- Arsen …
Prediction Markets & Event Contracts
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
NexusFi site changelog and issues/problem reporting
13 thanks
Darmok and Jalad at Tanagra
3 thanks
Big Mike in Ecuador
1 thanks
30 Sessions
1 thanks
  #3 (permalink)
 ABCTG   is a Vendor
 
Posts: 2,448 since Apr 2013
Thanks Given: 494
Thanks Received: 1,643


greymatter,

EndPoint and StartPoint are read only. Although the help states StartPoint.Price is get/set, it might be just be a mistake in the help. You can use the SetStartPoint and SetEndPoint methods of the trendline class instead to update the location.

Regards,

ABCTG


Follow me on X Reply With Quote
Thanked by:




Last Updated on July 31, 2017


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top
no new posts