Welcome to the Traders Laboratory Forums.
Technical Analysis The technical discussion forum for traders.

Reply
Old 11-29-2008, 08:22 AM   #1

Join Date: Mar 2008
Location: Dartmouth
Posts: 29
Ignore this user

Thanks: 3
Thanked 0 Times in 0 Posts

Auto Trendlines

Hello,
Does anyone know of an auto trendline AFL they really like? There are a couple in the Amibroker library but they are not what I am looking for. tradestation has an auto trendline indicator that is quite good I hear and so does Ensign. I tried the Ensign and it is excellent.
I would be very grateful if someone knew of such an AFL or would share it with me. Thank you for any and all help.

Kindest regards,

Tim
raven4ns is offline  
Reply With Quote
Old 11-29-2008, 12:51 PM   #2

Join Date: Nov 2008
Location: Mishawaka
Posts: 3
Ignore this user

Thanks: 1
Thanked 0 Times in 0 Posts

Re: Auto Trendlines

Tradestations auto trendline feauture is not worth using for daytrading. It's better in most instances to manually draw trendlines - you'll be much more precise with entries and the practice of manually drawing will keep you in tune with the markets movements/waves.
lateeda is offline  
Reply With Quote
Old 11-29-2008, 03:06 PM   #3

Join Date: Nov 2008
Location: berlin
Posts: 102
Ignore this user

Thanks: 7
Thanked 16 Times in 12 Posts

Re: Auto Trendlines

Quote:
Originally Posted by lateeda »
Tradestations auto trendline feauture is not worth using for daytrading. It's better in most instances to manually draw trendlines - you'll be much more precise with entries and the practice of manually drawing will keep you in tune with the markets movements/waves.
I agree and use the pivot high/low indicator to draw those lines.
ZOSO is offline  
Reply With Quote
Old 11-29-2008, 03:28 PM   #4

Join Date: Mar 2008
Location: Dartmouth
Posts: 29
Ignore this user

Thanks: 3
Thanked 0 Times in 0 Posts

Re: Auto Trendlines

Thank you for your insights. I wanted the auto trendlines as a guide and/or filter. I use an Ergodic for timing of my entry but the trendlines would help confirm the direction. Thank you again for your thoughtfulness.

kindest regards,

Tim
raven4ns is offline  
Reply With Quote
Old 12-23-2008, 02:28 PM   #5

Join Date: Dec 2008
Location: Riyadh
Posts: 2
Ignore this user

Thanks: 6
Thanked 2 Times in 2 Posts

Re: Auto Trendlines

{
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" ) ;

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] ) ;
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] ) ;
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. ** }
indicator-master is offline  
Reply With Quote
The Following User Says Thank You to indicator-master For This Useful Post:
JCII100 (08-06-2011)
Old 12-23-2008, 02:59 PM   #6

Join Date: Mar 2008
Location: Dartmouth
Posts: 29
Ignore this user

Thanks: 3
Thanked 0 Times in 0 Posts

Re: Auto Trendlines

Thank you Indicator-Master for your kindness. I will try the auto trendline code you sent and see how it works. I truly appreciate all the work involved to send it to me, thank you again.

Kindest regards,

Tim
raven4ns is offline  
Reply With Quote
Old 12-25-2008, 06:57 AM   #7

Join Date: Nov 2008
Location: Nagpur
Posts: 4
Ignore this user

Thanks: 2
Thanked 0 Times in 0 Posts

Re: Auto Trendlines

Does anybody know the Amibroker AFL code for the same ?

Thanks & Regards
jurikcoder is offline  
Reply With Quote

Reply

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
How to Trade Using Trendlines Soultrader Technical Analysis 18 09-22-2011 09:38 PM
Auto Trendlines raven4ns Coding Forum 0 11-28-2008 11:44 AM
Auto-refresh brownsfan019 Support Center 6 07-31-2007 04:49 PM
Trendlines on indicator (rsi) vsmirnov Coding Forum 1 06-18-2007 08:45 AM
[Trendlines and TICK's on ER2] Soultrader Trading Videos 0 01-23-2007 10:48 PM

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