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

    • @sxiqxx, Well done on making your first post a promising strategy. @everyone, post up if you want this coded into an EA. Although I switched to TradeStation, I still have an active MT5 demo with MetaEditor. I can code it without referencing object oriented programming which should be retroactively compatible with MT4. Let me know...
    • Please allow me to retort (in jest): RESPONSE 1 : Get a job supervising others where you're in control of performance reports and ride those others 100%. This makes your performance 100% with little to no effort.   RESPONSE 2: Feel free to piss off your boss but stay nonviolent. When the side effects of his viagra and testosterone boosters cause him to physically assault you, you have the legal upper hand. This can result in a boatload of trading capital.   RESPONSE 3: Feel free to have intimate relations with your boss if she finds you attractive. Rest assured that mum's the word because once again, you have the legal upper hand. This can also result in a boatload of trading capital.   RESPONSE 4: Don't be fake friends with any enemies... unless you need information from them. Being fake friends with everyone will cause you to become an empty shell of a person with no direction in life.   REPONSE 5: Get your boss to become reliant on your performance (really, just the performance of your subordinates), and then plan an "overheard" conversation wherein you fake an interview with another potential employer. You'll probably get a pay increase or a promotion.   RESPONSE 6: If you can give your 75% percent to a project, give 50% and rely on your legal upper hand(s). Learn to write trading algo's during your other 50%.   RESPONSE 7: Take all of the office boys out to nightclub where you merely sip soft drinks on a weeknight. Upon your return to the office in the morning, inform the security guards that all of the office boys are intoxicated. Your boss will love you for it.   RESPONSE 8: Never try to prove your client wrong or find faults in their processes, but do secretly collect their information in case you jump ship or "someone you know" decides to start his own company.   RESPONSE 9: Never stay in a firm for too long. Instead, use your ill-gotten capital to exit the rat-race and start trading.   RESPONSE 10: Trading pays more than your career. Interpersonal skills are now irrelevant. Use your technical skills for trading. Never stop learning and keep updating your technical skills.😁
    • There are a lot of trading strategies like elliot waves, wyckoff etc so we need to apply those who best suited to our need and are understandable too.
    • Scalping can be good during the high volatile markets however the new traders should be careful while entering and exiting the markets too quickly since they can make losses as well. If the broker support news trading we can make most out of the scalping in my opinion.  
    • In my opinion these candlestick charts are more easier to understand as compared with the other charts.
×
×
  • Create New...

Important Information

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