Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

raven4ns

Auto Trendlines

Recommended Posts

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

{

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 © 1991-2003 TradeStation Technologies, Inc. All rights reserved. **

** TradeStation reserves the right to modify or overwrite this analysis technique

with each release. ** }

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Topics

  • Posts

    • NFLX Netflix stock, with a solid top of range breakout, from Stocks to Watch at https://stockconsultant.com/?NFLX  
    • NFLX Netflix stock, with a solid top of range breakout, from Stocks to Watch at https://stockconsultant.com/?NFLX  
    • It depends. If you have lots of money that you can buy a house without a loan and if you don't have any parents to sponsor then it is a good idea. Otherwise it might be a bad idea depending where in Canada you are heading to. I earned a good middle income in my home country and I migrated to Vancouver 5 years ago at the age of 35. I had to start right from the bottom, lowest of the low.. Now i am finally earning a middle income in Canada but I still cannot afford to buy a one bedroom apartment. Having left behind friends, family and home, most of the times I think it is not worth it.   In short, do not migrate if you already have a good life in your home country and you are happy. Only migrate to Canada if you really have to leave your home country say there is a war or something really bad. Discrimination still exists here and its really tough for newcomers unless you are super rich. Good luck. David Chong, Quora  
    • This is bigger than the internet. Bigger than mobile. Bigger than social media.   While everyone was distracted by stock market fluctuations and political theater…   Most people have NO IDEA what just happened last week with ChatGPT.   Their new memory feature allows ChatGPT to remember EVERYTHING about you across all your conversations.   Think about that for a minute...   While most tech companies have been collecting mere breadcrumbs about you - your likes, your clicks, your browsing history - OpenAI is now collecting the most valuable dataset in human history: your complete psychological profile.   This is Zuckerberg x 5,000.   The more you use ChatGPT, the more it understands you, becoming a supercharged reflection of yourself that improves at an exponential rate.   Are you a regular ChatGPT user?   Consider whether it’s time to turn off the “you can train on my information” feature. To prevent your data from being used for training while still using the memory feature:   Disable Model Training: Navigate to Settings > Data Controls. Toggle off "Improve the model for everyone". Manage Memory Settings: Go to Settings > Personalization > Memory. Here, you can: Turn off memory entirely. Delete specific memories. Use Temporary Chat for sessions that won't be saved or used for training. Now the investment implications…   Why This is Bigger Than You Think Consider this: the relationship between humans and ChatGPT is evolving beyond a mere tool.   People are now treating these AI assistants as friends, confidants, and even romantic partners.   I'm not making this up - there are already documented cases of people ending real human relationships to pursue “connections” with their AI companions.   A viral Instagram meme shows a person going through life with a glowing, featureless humanoid figure - representing ChatGPT - as their companion.   The post has over 1.1 million likes and comments like "Bro ChatGPT is like my best friend. Ain't even ashamed to say it" with 25,000 likes.   But here's where things get really interesting for investors and entrepreneurs...   Three Things to Watch For starters, hardware is the next big thing for the big players.   The iPhone form factor is dead.   It hasn't meaningfully changed in nearly a decade. The next evolution in hardware will be designed specifically to interface with these AI companions.   OpenAI is already working on hardware with Johnny Ive, the legendary designer behind the iPhone and iPod. But you can’t ignore Elon Musk’s edge here.   So what does all of this mean for you?   The companies that control the personal AI relationships will be worth trillions. OpenAI and Elon Musk will have the coziest moats. We're witnessing the birth of a new internet - one built on agents that can communicate with each other across platforms. Google's new agent-to-agent protocol allows AI agents to work together without sharing internal memories or tools. The hardware companies that create the perfect interface for these AI companions will dominate the next decade of technology. And almost nobody is talking about what this means.   My prediction? Within five years, most people will have a personal AI that knows them better than anyone else. And they will interact with it in ways that seem foreign today.   (And, yes, it will almost certainly have dystopian elements.)   In the meantime, the biggest gains won’t come from household names. And, right now, James is seeing a prime opportunity to invest in the most under-the-radar plays in AI…   For dirt cheap. By Chris C. Source: https://altucherconfidential.com/posts/use-chatgpt-protect-yourself-now
    • KBH KB Home stock, nice day and rally off the 50.82 support area, from Stocks to Watch at https://stockconsultant.com/?KBH      
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.