Welcome to the Traders Laboratory Forums.
Trading Indicators Post your custom trading indicators. If you download, remember to click INSTALL.

Reply
Support and Resistance Auto Plots Details »»
Support and Resistance Auto Plots
Platform: 9.0, by Tradewinds Tradewinds is offline
Developer Last Online: May 2012 Show Printable Version Email this Page

Platform: Tradestation Rating: (1 votes - 5.00 average)
Released: 07-08-2011 Last Update: 07-08-2011 Installs: 3
Re-useable Code Translations  
No support by the author.

This is the indicator that I use on my chart. It is the only indicator I use on a price chart. As far as price is concerned, all I care about is Support and Resistance. I use this indicator on a one minute chart of the ES E-mini SP 500. It plots a Resistance line as soon as a Peak signal fires. When the second Peak signal fires, it plots a new Resistance line, and extends the old Resistance line in a different style. The same happens for Support lines.




This indicator in in Easy Language code, programed in tradestation. It is shown below, plus attached as an ELD file.


Code:
//7-8-11
// Programed by tradescripter

//hh=higher high, ll=lower low
var: hh(False),ll(False),lh(False),hl(False);
var: ClsDwn(False),ClsUp(False);
var: Aftr929(False),Aftr932(False),Aftr939(False);
var: BeforeCls(False);
var: DayHrs(False),newDay(False),OKtoPlot(False);
var: Peak1(False),Peak2(False),Peak3(False),Peak4(False),Peak5(False),Peak6(False);
var: Bttm1(False),Bttm2(False),Bttm3(False),Bttm4(False),Bttm5(False),Bttm6(False);
var: Peak(False),Bttm(False);
var: PeakPrice(H),BttmPrice(L),PriorPeakPrice(H),PriorBttmPrice(L);
var: NoPriorPk(False),NoPriorBttm(False);
var: HL_Price(False),LH_Price(False);
var: NewRzstnceExt(-1), OldRzstnceExt(-1), OldSupport(-1), OldExtSpprt(-1);
var: OldRzstnceBegPrice(h), OldSprtBegPrice(L), OldHiExtBegPrice(H), OldBegPrice2(H);
var: NewRzstnceBegTime(t), NewRzstnceExtBegTime(t), NewLowExtBegTime(t), NewSpprtBegTime(t);
var: NewRzstnceBegDate(D), NewSpprtBegDate(D), NewRzstnceExtBegDate(D), NewLowExtBegDate(D);
var: HierHigh(False), LowerHigh(False), HierLow(False), LowerLow(False);
var: SteppedDwn(0);
var: NewRzstnce(-1), OldRzstnce(-1), NewSpprt(-1);
var: NewSupportExt(-1);

hh=h>h[1];
ll=l<l[1];
lh=h<h[1];
hl=l>l[1];
ClsDwn=c<o;
ClsUp=c>o;

Aftr929=T>929;
Aftr932=T>932;
Aftr939=T>939;
BeforeCls=T<1600;
DayHrs=Aftr929 and BeforeCls;

newDay=date <> date[1];

//OKtoPlot=DayHrs=True;

Peak1=ClsUp[1] and ClsDwn;
Peak2=lh[1] = False and ClsDwn;
Peak3=lh[1] = False and lh;
Peak4=ClsUp[1] and lh;
Peak5=hh[1] and hh = False;
Peak6=hh and ClsUp = False;

Bttm1=ClsDwn[1] and ClsUp;
Bttm2=hl[1] = False and ClsUp;
Bttm3=hl[1] = False and hl;
Bttm4=ClsDwn[1] and hl;
Bttm5=ll[1] and ll = False;
Bttm6=ll and ClsDwn = False;

Peak=(Peak1 = True or Peak2 = True or Peak3 = True or Peak4 = True or Peak5 = True);
Bttm=(Bttm1 = True or Bttm2 = True or Bttm3 = True or Bttm4 = True or Bttm5 = True);

NoPriorPk=Peak[1] = false;
NoPriorBttm=Bttm[1] = false;

if Peak6 and NoPriorPk then
 Begin
  PeakPrice = H;
 End else If
  Peak and NoPriorPk then 
 Begin
  PeakPrice = H[1];
 End;
 
if Bttm6 and NoPriorBttm then
 BttmPrice=L else If Bttm and NoPriorBttm then
 BttmPrice = L[1];

HierLow=BttmPrice>BttmPrice[1];
LowerHigh=PeakPrice<PeakPrice[1];

LowerLow=BttmPrice<BttmPrice[1];
HierHigh=PeakPrice>PeakPrice[1];

if LowerLow then SteppedDwn = 1 else if HierLow then SteppedDwn = 0;

if PeakPrice <> PeakPrice[1] then PriorPeakPrice = PeakPrice[1];
if BttmPrice <> BttmPrice[1] then PriorBttmPrice = BttmPrice[1];

{-- Starts a new Resistance Line, then ends the old Resistance Trend line if a new peak signal fires ---}
If Peak and NoPriorPk Then 
 Begin
  
  OldRzstnce = NewRzstnce;
 
   	If Peak6 and NoPriorPk then
  	 Begin
	  NewRzstnce = tl_new(d[1], t[1], H, d, t, H);
	 End
	Else
	 Begin
	  NewRzstnce = tl_new(d[1], t[1], H[1], d, t, H[1]);
  	End;

Value1 = TL_SetExtRight(NewRzstnce, True);
Value2 = TL_SetSize(NewRzstnce, 2);	
Value3 = TL_SetColor(NewRzstnce, Blue);
  
 If OldRzstnce <> -1 Then
  Begin
  	NewRzstnceBegDate = TL_GetBeginDate(NewRzstnce);
    NewRzstnceBegTime = TL_GetBeginTime(NewRzstnce);
    OldRzstnceBegPrice = TL_GetBeginVal(OldRzstnce);
    Value4 = TL_SetExtRight(OldRzstnce, False); //Stop extending the original line to the right.
    Value5 = TL_SetEnd(OldRzstnce, NewRzstnceBegDate, NewRzstnceBegTime, OldRzstnceBegPrice);
  End;
 End;
 
 {-- Starts a new trendline if a new bottom signal fires ---}
If Bttm and NoPriorBttm Then 
 Begin
  OldSupport = NewSpprt;
  
   	If Bttm6 and NoPriorBttm then
  	 Begin
	  NewSpprt = tl_new(d[1], t[1], L, d, t, L);
	 End
	Else
	 Begin
	  NewSpprt = tl_new(d[1], t[1], L[1], d, t, L[1]);
  	End;
  	 
Value6 = TL_SetExtRight(NewSpprt, True);
Value7 = TL_SetSize(NewSpprt, 2);	
Value8 = TL_SetColor(NewSpprt, magenta);
  
  If OldSupport <> -1 Then
  Begin
  	NewSpprtBegDate = TL_GetBeginDate(NewSpprt);
    NewSpprtBegTime = TL_GetBeginTime(NewSpprt);
    OldSprtBegPrice = TL_GetBeginVal(OldSupport);
    Value9 = TL_SetExtRight(OldSupport, False);
    Value10 = TL_SetEnd(OldSupport, NewSpprtBegDate, NewSpprtBegTime, OldSprtBegPrice);
  End;
  
 End;

{-- Extends the old Resistance trendline if a new peak signal fires ---}
If Peak and NoPriorPk and H <= PeakPrice[1] Then
 Begin
  OldRzstnceExt = NewRzstnceExt;
  NewRzstnceExt = tl_new(d[1], t[1], OldRzstnceBegPrice, d, t, OldRzstnceBegPrice);

Value11 = TL_SetExtRight(NewRzstnceExt, True);
Value12 = TL_SetColor(NewRzstnceExt, Blue);
Value13 = Tl_setstyle(NewRzstnceExt, Tool_Dotted);

  If OldRzstnceExt <> -1 Then
  Begin
  	NewRzstnceExtBegDate = TL_GetBeginDate(NewRzstnceExt);
    NewRzstnceExtBegTime = TL_GetBeginTime(NewRzstnceExt);
    OldHiExtBegPrice = TL_GetBeginVal(OldRzstnceExt);
    Value14 = TL_SetExtRight(OldRzstnceExt, False);
    Value15 = TL_SetEnd(OldRzstnceExt, NewRzstnceExtBegDate, NewRzstnceExtBegTime, OldHiExtBegPrice);
  End;
  
 End;
 
 {-- Extends the old support line if a new bttm signal fires ---}
If Bttm and NoPriorBttm and L >= BttmPrice[1] Then
 Begin
  OldExtSpprt = NewSupportExt;
  NewSupportExt = tl_new(d[1], t[1], OldSprtBegPrice, d, t, OldSprtBegPrice);
	
Value16 = TL_SetExtRight(NewSupportExt, True);
Value17 = TL_SetColor(NewSupportExt, Magenta);
Value18 = Tl_setstyle(NewSupportExt, Tool_Dotted);

  If OldExtSpprt <> -1 Then
  Begin
  	NewLowExtBegDate = TL_GetBeginDate(NewSupportExt);
    NewLowExtBegTime = TL_GetBeginTime(NewSupportExt);
    OldBegPrice2 = TL_GetBeginVal(OldExtSpprt);
    Value19 = TL_SetExtRight(OldExtSpprt, False);
    Value20 = TL_SetEnd(OldExtSpprt, NewLowExtBegDate, NewLowExtBegTime, OldBegPrice2);
  End;
  
 End;

Download Now

File Type: eld _PRICE_LEVELS_PRICE.ELD (11.8 KB, 73 views)

Screenshots

Support and Resistance Auto Plots-auto-lines.jpg  

Show Your Support

  • If you like to thanks you by the author -> Click Thanks to the Author
  • This modification may not be copied, reproduced or published elsewhere without the author's permission.
The Following 6 Users Say Thank You to Tradewinds For This Useful Post:
berrob (10-24-2011), chloe31 (07-16-2011), nuno-online (07-09-2011), Tams (07-09-2011), Tripk (07-24-2011), ValueTrader (01-04-2012)

Comments
Old 08-05-2011, 09:15 PM   #2

Tradewinds's Avatar

Join Date: Nov 2008
Location: Northeast U.S.
Posts: 891
Ignore this user

Thanks: 373
Thanked 231 Times in 164 Posts
Blog Entries: 6

Re: Support and Resistance Auto Plots

Here is an updated version. This version will show the price bubble on the price axis. I added a couple of plot statements, and made the plots a point style. That way there is no connecting line between the different levels. If you make the two plots a point style, and keep the line weight at the lowest setting, then the plot will never show. Why don't I want the plot to show? Because I don't need the plot, the trendlines are what I want to see. Then why put a plot on the chart that you don't want to see, and you won't see? So that the price bubbles show on the price axis. That way I know what the price is of the support and resistance lines.

So I figured out a "work around" for getting a price bubble to show on the price axis. The trendlines will not show update data, only plots show the values.

I got rid of some variables that were not being used, and cleaned up the code a little. I had programed this in another language, and had to rework it, and didn't need some of the old variables.

Code:
//8-5-11
//hh=higher high, ll=lower low
var: hh(False),ll(False),lh(False),hl(False);
var: ClsDwn(False),ClsUp(False);
var: Peak1(False),Peak2(False),Peak3(False),Peak4(False),Peak5(False),Peak6(False);
var: Bttm1(False),Bttm2(False),Bttm3(False),Bttm4(False),Bttm5(False),Bttm6(False);
var: Peak(False),Bttm(False);
var: CrrntHi(H),CrrntLw(L),PriorPeakPrice(H),PriorBttmPrice(L);
var: NoPriorPk(False),NoPriorBttm(False);
var: HL_Price(False),LH_Price(False);
var: NewRzstnceExt(-1), OldRzstnceExt(-1), OldSupport(-1), OldExtSpprt(-1);
var: OldRzstnceBegPrice(h), OldSprtBegPrice(L), OldHiExtBegPrice(H), OldBegPrice2(H);
var: NewRzstnceBegTime(t), NewRzstnceExtBegTime(t), NewLowExtBegTime(t), NewSpprtBegTime(t);
var: NewRzstnceBegDate(D), NewSpprtBegDate(D), NewRzstnceExtBegDate(D), NewLowExtBegDate(D);
var: NewRzstnce(-1), OldRzstnce(-1), NewSpprt(-1);
var: NewSupportExt(-1);

hh=h>h[1];
ll=l<l[1];
lh=h<h[1];
hl=l>l[1];
ClsDwn=c<o;
ClsUp=c>o;

Peak1=ClsUp[1] and ClsDwn;
Peak2=lh[1] = False and ClsDwn;
Peak3=lh[1] = False and lh;
Peak4=ClsUp[1] and lh;
Peak5=hh[1] and hh = False;
Peak6=hh and ClsUp = False;

Bttm1=ClsDwn[1] and ClsUp;
Bttm2=hl[1] = False and ClsUp;
Bttm3=hl[1] = False and hl;
Bttm4=ClsDwn[1] and hl;
Bttm5=ll[1] and ll = False;
Bttm6=ll and ClsDwn = False;

Peak=(Peak1 or Peak2 or Peak3 or Peak4 or Peak5);
Bttm=(Bttm1 or Bttm2 or Bttm3 or Bttm4 or Bttm5);

NoPriorPk=Peak[1] = false;
NoPriorBttm=Bttm[1] = false;

if Peak6 and NoPriorPk then
	CrrntHi = H
else If Peak and NoPriorPk then 
	CrrntHi = H[1];

if Bttm6 and NoPriorBttm then
 CrrntLw=L else If Bttm and NoPriorBttm then
 CrrntLw = L[1];

plot1(CrrntHi, "Current High"); // Set to points so that the price of the line shows up on the axis
plot2(CrrntLw, "Current Low");

if CrrntHi <> CrrntHi[1] then PriorPeakPrice = CrrntHi[1];
if CrrntLw <> CrrntLw[1] then PriorBttmPrice = CrrntLw[1];

{-- Starts a new Resistance Line, then ends the old Resistance Trend line if a new peak signal fires ---}
If Peak and NoPriorPk Then 
 Begin
  
  OldRzstnce = NewRzstnce;
 
   	If Peak6 and NoPriorPk then
	  NewRzstnce = tl_new(d[1], t[1], H, d, t, H)
	Else
	  NewRzstnce = tl_new(d[1], t[1], H[1], d, t, H[1]);

Value1 = TL_SetExtRight(NewRzstnce, True);
Value2 = TL_SetSize(NewRzstnce, 2);	
Value3 = TL_SetColor(NewRzstnce, Blue);
  
 If OldRzstnce <> -1 Then
  Begin
  	NewRzstnceBegDate = TL_GetBeginDate(NewRzstnce);
    NewRzstnceBegTime = TL_GetBeginTime(NewRzstnce);
    OldRzstnceBegPrice = TL_GetBeginVal(OldRzstnce);
    Value4 = TL_SetExtRight(OldRzstnce, False); //Stop extending the original line to the right.
    Value5 = TL_SetEnd(OldRzstnce, NewRzstnceBegDate, NewRzstnceBegTime, OldRzstnceBegPrice);
  End;
 End;
 
 {-- Starts a new trendline if a new bottom signal fires ---}
If Bttm and NoPriorBttm Then 
 Begin
  OldSupport = NewSpprt;
  
   	If Bttm6 and NoPriorBttm then
	  NewSpprt = tl_new(d[1], t[1], L, d, t, L)
	Else
	  NewSpprt = tl_new(d[1], t[1], L[1], d, t, L[1]);
  	 
Value6 = TL_SetExtRight(NewSpprt, True);
Value7 = TL_SetSize(NewSpprt, 2);	
Value8 = TL_SetColor(NewSpprt, magenta);
  
  If OldSupport <> -1 Then
  Begin
  	NewSpprtBegDate = TL_GetBeginDate(NewSpprt);
    NewSpprtBegTime = TL_GetBeginTime(NewSpprt);
    OldSprtBegPrice = TL_GetBeginVal(OldSupport);
    Value9 = TL_SetExtRight(OldSupport, False);
    Value10 = TL_SetEnd(OldSupport, NewSpprtBegDate, NewSpprtBegTime, OldSprtBegPrice);
  End;
  
 End;

{-- Extends the old Resistance trendline if a new peak signal fires ---}
If Peak and NoPriorPk and H <= CrrntHi[1] Then
 Begin
  OldRzstnceExt = NewRzstnceExt;
  NewRzstnceExt = tl_new(d[1], t[1], OldRzstnceBegPrice, d, t, OldRzstnceBegPrice);

Value11 = TL_SetExtRight(NewRzstnceExt, True);
Value12 = TL_SetColor(NewRzstnceExt, Blue);
Value13 = Tl_setstyle(NewRzstnceExt, Tool_Dotted);

  If OldRzstnceExt <> -1 Then
  Begin
  	NewRzstnceExtBegDate = TL_GetBeginDate(NewRzstnceExt);
    NewRzstnceExtBegTime = TL_GetBeginTime(NewRzstnceExt);
    OldHiExtBegPrice = TL_GetBeginVal(OldRzstnceExt);
    Value14 = TL_SetExtRight(OldRzstnceExt, False);
    Value15 = TL_SetEnd(OldRzstnceExt, NewRzstnceExtBegDate, NewRzstnceExtBegTime, OldHiExtBegPrice);
  End;
  
 End;
 
 {-- Extends the old support line if a new bttm signal fires ---}
If Bttm and NoPriorBttm and L >= CrrntLw[1] Then
 Begin
  OldExtSpprt = NewSupportExt;
  NewSupportExt = tl_new(d[1], t[1], OldSprtBegPrice, d, t, OldSprtBegPrice);
	
Value16 = TL_SetExtRight(NewSupportExt, True);
Value17 = TL_SetColor(NewSupportExt, Magenta);
Value18 = Tl_setstyle(NewSupportExt, Tool_Dotted);

  If OldExtSpprt <> -1 Then
  Begin
  	NewLowExtBegDate = TL_GetBeginDate(NewSupportExt);
    NewLowExtBegTime = TL_GetBeginTime(NewSupportExt);
    OldBegPrice2 = TL_GetBeginVal(OldExtSpprt);
    Value19 = TL_SetExtRight(OldExtSpprt, False);
    Value20 = TL_SetEnd(OldExtSpprt, NewLowExtBegDate, NewLowExtBegTime, OldBegPrice2);
  End;
  
 End;
__________________
Precise, "dialed-in", targeted combination setups, like opening a combination lock; is the experience you should be having while trading. Dial left, right, left, . . . click - the lock opens.
Tradewinds is offline  
Reply With Quote
The Following 4 Users Say Thank You to Tradewinds For This Useful Post:
berrob (10-24-2011), michaltrade (08-11-2011), Tams (08-06-2011), ValueTrader (01-04-2012)

Reply

Tags
auto, resistance, support

Thread Tools
Help Others By Rating This Thread
Help Others By Rating This Thread:


Similar Threads
Thread Thread Starter Forum Replies Last Post
The Nature of Support and Resistance DbPhoenix The Wyckoff Forum 143 04-28-2012 04:08 PM
TAs for Support and Resistance Jeremytang Technical Analysis 19 12-13-2011 01:50 PM
[ES] Support and Resistance jitasb E-mini Futures Trading Laboratory 20 11-23-2011 10:45 PM
Support and Resistance kvn Technical Analysis 156 04-10-2011 04:15 AM
What is support and resistance? Raphx Beginners Forum 12 03-09-2011 10:36 AM

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