Trendline (EasyLanguage) - Page 4
Forgotten Your Password?
Connect with Facebook
Frequent Questions

Coding Forum Collaborate, receive help, or discuss coding related issues.

Coding Forum Thread, Trendline (EasyLanguage) in Trading Resources; This example is from the Trendline Automatic indicator. I have added user configurable trendline width. The added code is highlighted ...
Reply
9 9 Attachment(s)
 
LinkBack Thread Tools Display Modes

Re: Trendline (EasyLanguage)  

  #31  
Old 07-27-2009, 02:54 PM
Tams's Avatar
Tams doesn't care about your sim blotter... LOL
 
Join Date: Sep 2008
Location: Geelong
Posts: 2,234
Thanks: 1,250
Thanked 939 Times in 558 Posts
This example is from the Trendline Automatic indicator.

I have added user configurable trendline width.
The added code is highlighted by: {<--- added line}

Enjoy!



Code:
{ 
This indicator:
(1) INSERTS DnTL's/UpTL's connecting each new SwingHi/SwingLo with the next most 
    recent higher/lower SwingHi/SwingLo within the last 10 SwingHi's/SwingLo's; 
(2) EXTENDS each new TL to the right and SETS it's color and alert type; 
(3) TRUNCATES a DnTL/UpTL on the right when the next new DnTL/UpTL is drawn (if the 
    History input is set to "Yes"), or BarsPast bars after it has been breached, 
    whichever comes first.
(4) DELETES a DnTL/UpTL when the next new DnTL/UpTL is drawn, if the History input 
    is set to "No".

NOTE: This indicator may not work well with low-count tick bars, such as 10-tick bars, 
etc., because the time resolution of the bars may not be high enough for each bar to 
have a distinct time stamp.
}

inputs: 
	SwHiStrength( 4 ), 
	SwLoStrength( 4 ), 
	BarsPast( 10 ), 
	History( "Yes" ), 
	DnTLColor( Red ), 
	UpTLColor( Cyan ), 
	AlertType( "IntraBar" ) ,

	width(1); {<--- added line}

variables: 
	DnTLRef( -1 ), 
	DnTLEndBar( 0 ), 
	DnTLBreak( false ), 
	DnTLColorNum( DnTLColor ), 

	UpTLRef( -1 ), 
	UpTLEndBar( 0 ), 
	UpTLBreak( false ), 
	UpTLColorNum( UpTLColor ), 

	Index( 0 ), 
	BarNum( 0 ), 
	HistoryTF( false ), 
	AlertTypeCAPS( UpperStr( AlertType ) ) ;

arrays: 
	SwHiDate[10]( 0 ), 
	SwHiTime[10]( 0 ), 
	SwHiVal[10]( -1000000 ), 
	SwLoDate[10]( 0 ), 
	SwLoTime[10]( 0 ), 
	SwLoVal[10]( 1000000 ) ;

if CurrentBar = 1 then 
	HistoryTF = UpperStr( History ) = "YES" or UpperStr( History ) = "Y" ;
	{ should also be able to do this via declaration above }

BarNum = BarNumber ;

if SwingHighBar( 1, High, SwHiStrength, SwHiStrength + 1 ) = SwHiStrength then 
{ ie, if just confirmed SwHi }
	begin

	{ push arrays back }
	for Value1 = 9 downto 0 
		begin
		SwHiDate[ Value1 + 1 ] = SwHiDate[Value1] ;
		SwHiTime[ Value1 + 1 ] = SwHiTime[Value1] ;
		SwHiVal[ Value1 + 1 ] = SwHiVal[Value1] ;
		end ;

	{ read in parameters of new SwHi into 0-elements of arrays }
	SwHiDate[0] = Date[SwHiStrength] ;
	SwHiTime[0] = Time[SwHiStrength] ;
	SwHiVal[0] = High[SwHiStrength] ;

	{ find and save the index of the next-most-recent higher SwHi if it exists }
	for Value2 = 1 to 10 
		begin
		if SwHiVal[Value2] > SwHiVal[0] then 
			begin
			Index = Value2 ;
			Value2 = 11 ; { short circuit the looping with 11 instead of 10; the 11
			 will become 12 in the final pass }
			end ;
		end ;

	if Value2 = 12 then { ie, if next-most-recent higher SwHi exists }
		begin
		if DnTLRef >= 0 then  { ie, if previous DnTL exists }
			begin
			if HistoryTF and DnTLBreak = false then 
				{ if history reqd and most recent DnTL not already truncated 
				  elsewhere, truncate it now }
				begin
				TL_SetEnd( DnTLRef, Date, Time, TL_GetValue( DnTLRef, Date, Time ) ) ;
				TL_SetExtRight( DnTLRef, false ) ;
				end
			else if HistoryTF = false then
				{ if history not reqd, delete most recent DnTL }
				TL_Delete( DnTLRef ) ;
			end ;
		{ draw new DnTL, reset break flag, save endbar, set extents/color/alert }
		DnTLRef = TL_New( SwHiDate[Index], SwHiTime[Index], SwHiVal[Index], 
		 SwHiDate[0], SwHiTime[0], SwHiVal[0] ) ;

		TL_SetSize( DnTLRef, width ); {<--- added line}

		if DnTLBreak = true then 
			DnTLBreak = false ;
		DnTLEndBar = BarNum - SwHiStrength ;
		TL_SetExtLeft( DnTLRef, false ) ;
		TL_SetExtRight( DnTLRef, true ) ;
		if DnTLColorNum <> 99 then 
			TL_SetColor( DnTLRef, DnTLColorNum ) ;
		if AlertTypeCAPS = "ONCLOSE" then 
			TL_SetAlert( DnTLRef, 2 )
		else if AlertTypeCAPS = "INTRABAR" then 
			TL_SetAlert( DnTLRef, 1 )
		else
			TL_SetAlert( DnTLRef, 0 ) ;
		end ;
	end ;

if SwingLowBar( 1, Low, SwLoStrength, SwLoStrength + 1 ) = SwLoStrength then 
{ ie, if just confirmed SwLo }
	begin

	{ push arrays back }
	for Value1 = 9 downto 0 
		begin
		SwLoDate[Value1+1] = SwLoDate[Value1] ;
		SwLoTime[Value1+1] = SwLoTime[Value1] ;
		SwLoVal[Value1+1] = SwLoVal[Value1] ;
		end ;

	{ read in parameters of new SwLo into 0-elements of arrays }
	SwLoDate[0] = Date[SwLoStrength] ;
	SwLoTime[0] = Time[SwLoStrength] ;
	SwLoVal[0] = Low[SwLoStrength] ;

	{ find and save the index of the next-most-recent lower SwLo if it exists }
	for Value2 = 1 to 10 
		begin
		if SwLoVal[Value2] < SwLoVal[0] then 
			begin
			Index = Value2 ;
			Value2 = 11 ;{ short circuit the looping with 11 instead of 10; the 11
			 will become 12 in the final pass }
			end ;
		end ;

	if Value2 = 12 then  { ie, if next-most-recent lower SwLo exists }
		begin
		if UpTLRef >= 0 then { ie, if previous UpTL exists }
			begin
			if HistoryTF and UpTLBreak = false then 
				{ if history reqd and most recent UpTL not already truncated 
				  elsewhere, truncate it now }
				begin
				TL_SetEnd( UpTLRef, Date, Time, TL_GetValue( UpTLRef, Date, Time ) ) ;
				TL_SetExtRight( UpTLRef, false ) ;
				end
			else if HistoryTF = false then
				{ if history not reqd, delete most recent UpTL }
				TL_Delete( UpTLRef ) ;
			end ;
		{ draw new UpTL, reset break flag, save endbar, set extents/color/alert }
		UpTLRef = TL_New( SwLoDate[Index], SwLoTime[Index], SwLoVal[Index], 
		 SwLoDate[0], SwLoTime[0], SwLoVal[0] ) ;

		TL_SetSize( UPTLRef, width ); {<--- added line}

		if UpTLBreak = true then
			UpTLBreak = false ;
		UpTLEndBar = BarNum - SwLoStrength ;
		TL_SetExtLeft( UpTLRef, false ) ;
		TL_SetExtRight( UpTLRef, true ) ;
		if UpTLColorNum <> 99 then 
			TL_SetColor( UpTLRef, UpTLColorNum ) ;
		if AlertTypeCAPS = "ONCLOSE" then 
			TL_SetAlert( UpTLRef, 2 )
		else if AlertTypeCAPS = "INTRABAR" then 
			TL_SetAlert( UpTLRef, 1 )
		else
			TL_SetAlert( UpTLRef, 0 ) ;
		end ;
	end ;

{ if most recent DnTL/UpTL exists AND has not yet been truncated here AND was drawn 
  at least BarsPast ago AND was breached BarsPast bars ago THEN truncate it here and 
  set break flag }

if DnTLRef >= 0 
	and DnTLBreak = false
	and BarNum > DnTLEndBar + SwHiStrength + BarsPast 
	and ( Close > TL_GetValue( DnTLRef, Date, Time ) )[BarsPast]
then 
	begin
	TL_SetEnd( DnTLRef, Date, Time, TL_GetValue( DnTLRef, Date, Time ) ) ;
	TL_SetExtRight( DnTLRef, false ) ;
	DnTLBreak = true ;
	end ;

if UpTLRef >= 0 
	and UpTLBreak = false
	and BarNum > UpTLEndBar + SwLoStrength + BarsPast 
	and ( Close < TL_GetValue( UpTLRef, Date, Time ) )[BarsPast]
then 
	begin
	TL_SetEnd( UpTLRef, Date, Time, TL_GetValue( UpTLRef, Date, Time ) ) ;
	TL_SetExtRight( UpTLRef, false ) ;
	UpTLBreak = true ;
	end ;


{ ** Copyright (c) 1991-2003 TradeStation Technologies, Inc. All rights reserved. ** 
  ** TradeStation reserves the right to modify or overwrite this analysis technique 
     with each release. ** }
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Re: Trendline (EasyLanguage)  

  #32  
Old 09-26-2009, 10:44 AM
Tams's Avatar
Tams doesn't care about your sim blotter... LOL
 
Join Date: Sep 2008
Location: Geelong
Posts: 2,234
Thanks: 1,250
Thanked 939 Times in 558 Posts
Trend line related keywords

TL_SetAlert

TL_SetBegin
TL_SetEnd

TL_SetColor

TL_SetExtLeft
TL_SetExtRight

TL_SetSize
TL_SetStyle


.
__________________

It appears to be some great stuff and if you ever feel like discussing a possible business arrangement, let me know. I'm always looking for ways to improve. .....LOL

Last edited by Tams; 09-26-2009 at 10:49 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Re: Trendline (EasyLanguage)  

  #33  
Old 05-19-2010, 01:03 PM
Tams's Avatar
Tams doesn't care about your sim blotter... LOL
 
Join Date: Sep 2008
Location: Geelong
Posts: 2,234
Thanks: 1,250
Thanked 939 Times in 558 Posts
MultiCharts extended keywords



t.111
hl.36.26
Attached Images
File Type: jpg MultiCharts TL.jpg (31.8 KB, 53 views)
__________________

It appears to be some great stuff and if you ever feel like discussing a possible business arrangement, let me know. I'm always looking for ways to improve. .....LOL

Last edited by Tams; 05-19-2010 at 01:13 PM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Tags
trendline



Similar Threads
Thread Thread Starter Forum Replies Last Post
Easylanguage Auto Trendline Study raven4ns Technical Analysis 3 03-30-2009 04:50 PM
GBP/USD Trendline Breakout DannyBly Forex Trading Laboratory 3 07-06-2008 09:13 AM
Trendline methods waveslider Technical Analysis 0 06-26-2007 09:13 PM
Russell 2000 (IWM) Trendline Test MrPaul Technical Analysis 0 03-25-2007 12:53 PM
The Downsloping Trendline On The YM Bfbusa Technical Analysis 0 02-06-2007 11:54 PM


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are Off

» »

» Invite Friends