Welcome to the Traders Laboratory Forums.
TradeStation Custom Programming Discuss projects, ideas, obstacles in programming with TradeStation.

Reply
Old 09-27-2011, 08:28 PM   #1

Tradewinds's Avatar

Join Date: Nov 2008
Location: Northeast U.S.
Posts: 891
Ignore this user

Thanks: 373
Thanked 231 Times in 164 Posts
Blog Entries: 6

Trendline Programing, Tl_new

Trendlines can be automatically "drawn" on a chart with EasyLanguage. Controlling where a line ends, can be difficult. Starting a new line is fairly easy.

If there can be multiple signals intrabar to start one trendline and end another, the new trendline may be created, but the old trendline may not get ended. To deal with this issue, I use past bars and exclude the current bar from the signal. Plus I end the current line immediately on the first signal for the new line, before creating the new line.

Code:
var: Peak(False), Up(False), Down(False);
var: CurrentRzstnce(-1), OldRzstnce(-1) , OldRzstnceBegPrice (0);

Peak = Up[2] and Down[1];

{-- Ends the current Resistance Trend line if a new peak signal fires, then Starts a new Resistance Line ---}
If Peak Then 
 Begin
 
 //Immediately end the current resistance line in order to insure that the line gets stopped.
 //End the current resistance line before starting the new one.
  If CurrentRzstnce <> -1 Then
  Begin 
  	Value1 = TL_GetBeginVal(CurrentRzstnce);
    Value2 = TL_SetExtRight(CurrentRzstnce, False); //Stop extending the current line to the right.
    Value3 = TL_SetEnd(CurrentRzstnce, D, T[2], Value1); //End the current line
  end;
  
  OldRzstnce = CurrentRzstnce;

 If OldRzstnce <> -1 Then
  Begin
    OldRzstnceBegPrice = TL_GetBeginVal(OldRzstnce);
  End;
 
// The Peak signal occured two bars ago, so the start point for the line is T[2] and the start
// Height is H[2].  The end price (height) is the same, this make the line horizontal.
// Value1 = TL_New(iBarDate, iBarTime, iPrice, eBarDate, eBarTime, ePrice)
CurrentRzstnce = tl_new(d, t[2], H[2], d, t, H[2]); // Create the new Resistance line

Value4 = TL_SetExtRight(CurrentRzstnce, True);
Value5 = TL_SetSize(CurrentRzstnce, 2);	
Value6 = TL_SetColor(CurrentRzstnce, Blue);

 End;
__________________
Precise, "dialed-in", targeted combination setups, like opening a combination lock; is the experience you should be having while trading. Dial left, right, left, . . . click - the lock opens.
Tradewinds is offline  
Reply With Quote
Old 09-28-2011, 02:43 PM   #2

Tradewinds's Avatar

Join Date: Nov 2008
Location: Northeast U.S.
Posts: 891
Ignore this user

Thanks: 373
Thanked 231 Times in 164 Posts
Blog Entries: 6

Re: Trendline Programing, Tl_new

I figured out a possible solution to a problem I was having. My trendlines were not being ended, and I could not figure out why. I'm still not sure exactly what is going on, but I'm a little closer to figuring it out. If I wait to extend the trend line until the bar AFTER the new trendline is created, then everything works fine. I think it has to do with the trendline being plotted backwards in time when it is created. As soon as the trendline is created, it's already 2 bars long. When I commented out the line to extend the trendline, my old trendlines were suddenly ending the way they should. (They were not extending, but at least I had made some progress.) So then I add a line of code to extend the trendline on the bar AFTER the signal. Again, the original trendline is already 2 bars long as soon as it's created, so waiting until the next bar to extend it isn't a problem.

Code:
//Do NOT extend the current line until the bar AFTER the peak signal!!
If Peak[1] and Peak=False then
	Value4 = TL_SetExtRight(CurrentRzstnce, True);
__________________
Precise, "dialed-in", targeted combination setups, like opening a combination lock; is the experience you should be having while trading. Dial left, right, left, . . . click - the lock opens.
Tradewinds is offline  
Reply With Quote
Old 09-28-2011, 03:22 PM   #3

Tams's Avatar

Join Date: Sep 2008
Location: Geelong
Posts: 3,779
Ignore this user

Thanks: 2,084
Thanked 1,477 Times in 912 Posts

Re: Trendline Programing, Tl_new

Quote:
Originally Posted by Tradewinds »
I figured out a possible solution to a problem I was having. My trendlines were not being ended, and I could not figure out why. I'm still not sure exactly what is going on, but I'm a little closer to figuring it out. If I wait to extend the trend line until the bar AFTER the new trendline is created, then everything works fine. I think it has to do with the trendline being plotted backwards in time when it is created. As soon as the trendline is created, it's already 2 bars long. When I commented out the line to extend the trendline, my old trendlines were suddenly ending the way they should. (They were not extending, but at least I had made some progress.) So then I add a line of code to extend the trendline on the bar AFTER the signal. Again, the original trendline is already 2 bars long as soon as it's created, so waiting until the next bar to extend it isn't a problem.

Code:
//Do NOT extend the current line until the bar AFTER the peak signal!!
If Peak[1] and Peak=False then
	Value4 = TL_SetExtRight(CurrentRzstnce, True);
do you have a diagram to illustrate?
__________________



Only an idiot would reply to a stupid post
Tams is offline  
Reply With Quote

Reply

Tags
tl_getbeginval, tl_new, tl_setend, tl_setextright

Thread Tools
Display Modes Help Others By Rating This Thread
Help Others By Rating This Thread:


Similar Threads
Thread Thread Starter Forum Replies Last Post
Instantaneous TrendLine Tams Trading Indicators 43 09-06-2011 11:21 PM
Trendline (EasyLanguage) Tams Coding Forum 43 07-09-2011 12:36 AM
RSI Divergence TrendLine aaa Trading Indicators 11 02-25-2011 02:36 PM
Trendline Indicator andypap Coding Forum 1 01-04-2010 07:27 PM
The Downsloping Trendline On The YM Bfbusa Technical Analysis 0 02-06-2007 11:54 PM

All times are GMT -4. The time now is 10:00 PM.
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
CS to VB integration by DeskLancer
©2006-2011 Traders Laboratory, All Rights Reserved.