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.

lordbinder

3 Line Break

Recommended Posts

Here it is, on the multicharts code Im using

 

[LegacyColorValue = TRUE];

{To draw line break blocks, today's close is compared to the high and low of the previous block. 
A block is drawn only when today's close exceeds the high or low of the previous block.  If today's 
close is higher than the top of the previous block, a new up block is drawn in the next column from 
the prior high to the new high price (today's close). If today's close is lower than the bottom of 
the previous block, a new down block is drawn in the next column from the prior low to the new low 
price (today's close). If the close fails to move outside the range of the previous block's high or 
low, then nothing is drawn.

In a Three Line Break chart, if rallies are strong enough to display three consecutive blocks in the 
same direction, then prices must reverse by the extreme price of the last three blocks in order to create 
a new block:

    If a rally is powerful enough to form three consecutive up blocks, then prices must fall below 
the lowest point of the last three up blocks before a new down block is drawn. 

    If a sell-off is powerful enough to form three consecutive down blocks, then prices must rise 
above the highest point of the last three down blocks before a new up block is drawn.

Since Trade Station cannot display Three Line Break Charts, I have written this PaintBar in which UP block 
colors rotate between white and yellow, and DOWN block colors rotate between red and magenta.  Each time
the rules call for a new block to be drawn, the PaintBar colors change, indicating the new block.  The chart
is best viewed when setting the bar type to "line on close".

John M. Snyder
April, 2001}



Variables:  FUBarHigh(0), FUBarLow(0), SUBarHigh(0), SUBarLow(0), TUBarHigh(0), TUBarLow(0), 
   FLBarHigh(0), FLBarLow(0), SLBarHigh(0), SLBarLow(0), TLBarHigh(0), TLBarLow(0),
UpCount(0), DownCount(0), UpNew(0), DnNew(0), UpRev(0), DnRev(0), PlotHigh(0), PlotLow(0), Color(0);


If Close > UpNew Then Begin
If DownCount < 3 Then Begin		
	If UpCount = 0 Then Begin
		UpCount = UpCount + 1;
		DownCount = 0;			
		FUBarHigh = Close;
		FUBarLow = UpNew;
		SUBarHigh = 0;
		SUBarLow = 0;
		TUBarHigh = 0;
		TUBarLow = 0;
		FLBarHigh = 0;
		FLBarLow = 0;
		SLBarHigh = 0;
		SLBarLow = 0;
		TLBarHigh = 0;
		TLBarLow = 0;
		UpNew = FUBarHigh;
		DnNew = FUBarLow;
		PlotHigh = FUBarHigh;
		PlotLow = FUBarLow;				
		Color = 7;
	End;
	If UpCount = 1 Then
		If Close > UpNew Then Begin
			UpCount = UpCount + 1;
			SUBarHigh = Close;
			SUBarLow = FUBarHigh;
			UpNew = SUBarHigh;
			DnNew = SUBarLow;
			PlotHigh = SUBarHigh;
			PlotLow = SUBarLow;
			Color = 8;
		End;
	If UpCount = 2 Then
		If Close > UpNew Then Begin
			UpCount = UpCount + 1;
			TUBarHigh = Close;
			TUBarLow = SUBarHigh;
			UpNew = TUBarHigh;
			DnNew = TUBarLow;
			PlotHigh = TUBarHigh;
			PlotLow = TUBarLow;
			Color = 7;
		End;
	If UpCount = 3 Then
		If Close > UpNew Then Begin
			FUBarHigh = SUBarHigh;
			FUBarLow = SUBarLow;
			SUBarHigh = TUBarHigh;
			SUBarLow = TUBarLow;
			TUBarHigh = Close;
			TUBarLow = SUBarHigh;
			UpNew = TUBarHigh;
			DnNew = TUBarLow;
			PlotHigh = TUBarHigh;
			PlotLow = TUBarLow;
			If Color = 7 Then
				Color = 8
			Else
				Color = 7;
		End;
End;
If DownCount = 3 Then Begin
	UpRev = FLBarHigh;			
	If Close > UpRev Then Begin			
		UpCount = UpCount + 1;
		DownCount = 0;
		FUBarHigh = Close;			
		FUBarLow = TLBarHigh;			
		SUBarHigh = 0;
		SUBarLow = 0;
		TUBarHigh = 0;
		TUBarLow = 0;
		FLBarHigh = 0;
		FLBarLow = 0;
		SLBarHigh = 0;
		SLBarLow = 0;
		TLBarHigh = 0;
		TLBarLow = 0;
		UpNew = FUBarHigh;
		DnNew = FUBarLow;
		PlotHigh = FUBarHigh;
		PlotLow = FUBarLow;	
		Color = 7;
	End;
End;
End;

If Close < DnNew Then Begin
If UpCount < 3 Then Begin
	If DownCount = 0 Then Begin
		DownCount = DownCount + 1;
		UpCount = 0;			
		FLBarHigh = DnNew;
		FLBarLow = Close;
		SLBarHigh = 0;
		SLBarLow = 0;
		TLBarHigh = 0;
		TLBarLow = 0;
		FUBarHigh = 0;
		FUBarLow = 0;
		SUBarHigh = 0;
		SUBarLow = 0;
		TUBarHigh = 0;
		TUBarLow = 0;
		UpNew = FLBarHigh;
		DnNew = FLBarLow;
		PlotHigh = FLBarHigh;
		PlotLow = FLBarLow;
		Color = 6;			
	End;
	If DownCount = 1 Then
		If Close < DnNew Then Begin
			DownCount = DownCount + 1;
			SLBarHigh = FLBarLow;
			SLBarLow = Close;
			UpNew = SLBarHigh;
			DnNew = SLBarLow;
			PlotHigh = SLBarHigh;
			PlotLow = SLbarLow;
			Color = 5;
		End;
	If DownCount = 2 Then
		If Close < DnNew Then Begin
			DownCount = DownCount + 1;
			TLBarHigh = SLBarLow;
			TLBarLow = Close;
			UpNew = TLBarHigh;
			DnNew = TLBarLow;
			PlotHigh = TLBarHigh;
			PlotLow = TLBarLow;
			Color = 6;
		End;
	If DownCount = 3 Then
		If Close < DnNew Then Begin
			FLBarHigh = SLBarHigh;
			FLBarLow = SLBarLow;
			SLBarHigh = TLBarHigh;
			SLBarLow = TLBarLow;
			TLBarHigh = SLBarLow;
			TLBarLow = Close;
			UpNew = TLBarHigh;
			DnNew = TLBarLow;
			PlotHigh = TLBarHigh;
			PlotLow = TLBarLow;
			If Color = 6 Then
				Color = 5
			Else
				Color = 6;
		End;
End;
If UpCount = 3 Then Begin
	DnRev =  FUBarLow;	
		If Close < DnRev Then Begin			
		DownCount = DownCount + 1;
		UpCount = 0;
		FLBarHigh = TUBarLow;
		FLBarLow = Close;			
		SLBarHigh = 0;
		SLBarLow = 0;
		TLBarHigh = 0;
		TLBarLow = 0;
		FUBarHigh = 0;
		FUBarLow = 0;
		SUBarHigh = 0;
		SUBarLow = 0;
		TUBarHigh = 0;
		TUBarLow = 0;
		UpNew = FLBarHigh;
		DnNew = FLBarLow;
		PlotHigh = FLBarHigh;
		PlotLow = FLBarLow;
		Color = 6;
	End;
End;
End;

Plot1(PlotHigh,"High Bar",Color);
Plot2(PlotLow,"Low Bar",Color);

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.


×
×
  • Create New...

Important Information

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