Linear Regression Moving Average
Printed From: BullCharts Forum
Category: BullCharts
Forum Name: BullCharts discussion
Forum Discription: General discussion about getting started with BullCharts and exploring its features.
URL: http://www.bullcharts.com.au/forum/forum_posts.asp?TID=295
Printed Date: 05 Sep 2025 at 4:44pm Software Version: Web Wiz Forums 9.69 - http://www.webwizforums.com
Topic: Linear Regression Moving Average
Posted By: bparsons
Subject: Linear Regression Moving Average
Date Posted: 17 Sep 2005 at 7:28pm
Guys can you tell me if BullCharts will enable me to do a linear
regression moving average ? I want to do something like a standard
moving average 10 day/50 day except with linear regression ?
If it doesnt anyone got any ideas on what software would enable me to do this ?
Thanks in Advance
|
Replies:
Posted By: Dingo
Date Posted: 19 Sep 2005 at 10:49am
From the formula definitions of the various MA options available:
TIME SERIES: Uses linear regression to determine where the line of best would have ended.
Is this what you were after (10 and 50 day Time Series MA):

|
Posted By: zorro
Date Posted: 19 Sep 2005 at 10:43pm
yep, the time series moving average is a moving linear regression
|
Posted By: bparsons
Date Posted: 19 Sep 2005 at 11:34pm
Thanks Guys - that's excellent my demo copy should arrive in the mail
shortly. Active forums are a great bonus for a product like this.
|
Posted By: maximo
Date Posted: 17 Oct 2006 at 11:03pm
Thats exactly the info i needed too 
Now how do i color code the line if its rising=Green and a Red colour for when it is going down?
|
Posted By: maximo
Date Posted: 18 Dec 2006 at 11:10pm
Well it might just sound like a gay little geek feature, but i guess a couple of pictures would say a 1000 words. Who knows... maybe i've discovered a different way of trading trends. CMC market maker software TM. Allows dual colouring of lines up/down. Anyhow a couple of examples so perhaps one of our programmers can make it possible. ie. dual coloured lines on chart.
Picture 1: Supertrend indicator on chart for ATR stop loss placement.
Picture 2: LinearRegression(13) for riding the trend too the end. Isn't that what we all want?
|
Posted By: maximo
Date Posted: 18 Dec 2006 at 11:13pm
Picture2:

|
Posted By: blackdog
Date Posted: 19 Dec 2006 at 9:27am
I too have been playing around to get BullCharts to colour code the direction of the lines but so far I have been unsuccessful.
The following code to worked on the first attempt, except it showed a gap for one bar between red and green sections of the line. Subsequent attempts to modify the script (including returning it to origional) have all failed with BC displaying unwanted straight lines for the undefined sections.
[color=red]
if (ma3<hist(ma3,1),ma3,undefined);
[color=green]
if (ma3<hist(ma3,1),undefined,ma3);
|
Posted By: blackdog
Date Posted: 19 Dec 2006 at 11:52am
The following script for an indicator ma3, displays red for a line moving down and green for a line moving up. Line moving sideways displays same color as line previously. It however still leaves a gap of one bar where the line changes direction. Im sure there is some simple way to overcome this gap problem...I just haven't found it yet. In the mean time the fudge is to fill the gap with the underlying blue (default colour).
ma3; {to fill in gap when indicator changes direction}
linecolor:=
if (ma3<hist(ma3,1),0,
if (ma3>hist(ma3,1),1,
prev ));
[drawundefined =gap] {no lines drawn when indicator is "undefined"}
[ color=red]
if (linecolor=0,ma3,undefined);
[color=green]
if (linecolor=1,ma3,undefined);
|
Posted By: maximo
Date Posted: 19 Dec 2006 at 5:19pm
Yep, the best one can do at the moment is a work around. A new attribute would make it possible. eg. [linestyle=linecolor] just like [linestyle=pricecolor] and [linestyle=bar] makes dual colouring of them possible. Here's my attempt :)
[target =Price; category=Moving Average; Author=Max]
StartDate:= InputDate("Start date", date(2004,1,2));
HoldingDays:= BarsSince(OnOrSkipped(StartDate));
period := input("Time periods",28,1);
bar := ma(2*ma(C,int(period/2),W) - ma(C,period,W),
int (sqrt(period)), W);
{Flag the StartDate}
begin:= If(bar>=PREV(undefined),PREV(undefined),bar*Holdingdays);
[color =lime; name=up; width=1; linestyle=solid]
if (begin=0,if(bar>=hist(bar,1),bar,bar),undefined);
[color =dark orchid; name=down; linestyle=solid]
if (begin=0,if(bar<hist(bar,1),bar,undefined),undefined);
[color =rgb(230,230,230); name=down2; linestyle=solid]
bar2 := ( hist(bar,1)+bar)/2;
if (begin=0,if(bar<hist(bar,1),bar2,undefined),undefined);
[linestyle =pricecolor]
[color =dark green] if(begin=0,bar>=hist(bar,1),undefined);
[color =crimson] if(begin=0,bar<hist(bar,1),undefined)
|
Posted By: blackdog
Date Posted: 19 Dec 2006 at 7:07pm
Maximo, a couple of comments on your detailed script:
I have a modified version of my script which I think fixes the gap problem. It is not as detailed as Maximo's script, I only am showing the changing of the colour on the indicator. It is somewhat similar to maximo's script in that it sets the indicator to one colour then overwrites parts of it with the second colour.
linecolor:=
if (ma3<hist(ma3,1),0, {for ma3 downdard}
if (ma3>hist(ma3,1),1, {for ma3 upward}
prev )); {for ma3 sideways}
[drawundefined =gap] {This attribute is essential to prevent straight lines being drawn when indicator is "undefined"}
[ color=red]
ma3; {default colour for indicator when it is not green}
[color=green]
if (linecolor=1,ma3,undefined); {this leaves a gap on first bar upward but leaves last bar on graph filled}
if (hist(linecolor,-1)=1,ma3,undefined); {this fills first gap upwards but leaves a gap on last bar of graph}
{ Between them these two lines of script cover all the required green area. Dont combine them into one compound if statement as it then fails to work on the last bar plotted}
|
Posted By: maximo
Date Posted: 21 Dec 2006 at 6:22pm
Thanks blackdog!
Used your script and managed to remove the gap :)
[target =price]
ma3:= ma(C,30,E);
linecolor:= if(ma3<hist(ma3,1),0,if(ma3>hist(ma3,1),1,prev));
{no lines drawn when indicator is "undefined"}
[drawundefined =gap]
[color=red]
if (linecolor=0,hist(ma3,1),ma3);
[color =green]
if (linecolor=1,ma3,undefined)
|
Posted By: maximo
Date Posted: 21 Dec 2006 at 6:31pm
Shows there's more than 1 way to skin a cat. Didn't know about [drawundefined=gap] and cant find it in the bullscript help.
Cheers!
|
Posted By: blackdog
Date Posted: 22 Dec 2006 at 1:36pm
[drawundefined=gap] is not in bullscript help. I found it used in darvos box script and a little experimentation showed what it does... As you say, more than one way to skin a cat... hehe...
merry Christmas...
|
Posted By: Rounders
Date Posted: 27 Jul 2008 at 10:24am
Originally posted by maximo
Yep, the best one can do at the moment is a work around. A new attribute would make it possible. eg. [linestyle=linecolor] just like [linestyle=pricecolor] and [linestyle=bar] makes dual colouring of them possible. Here's my attempt :)
[target =Price; category=Moving Average; Author=Max]
StartDate:= InputDate("Start date", date(2004,1,2));
HoldingDays:= BarsSince(OnOrSkipped(StartDate));
period := input("Time periods",28,1);
bar := ma(2*ma(C,int(period/2),W) - ma(C,period,W),
int (sqrt(period)), W);
{Flag the StartDate}
begin:= If(bar>=PREV(undefined),PREV(undefined),bar*Holdingdays);
[color =lime; name=up; width=1; linestyle=solid]
if (begin=0,if(bar>=hist(bar,1),bar,bar),undefined);
[color =dark orchid; name=down; linestyle=solid]
if (begin=0,if(bar<hist(bar,1),bar,undefined),undefined);
[color =rgb(230,230,230); name=down2; linestyle=solid]
bar2 := ( hist(bar,1)+bar)/2;
if (begin=0,if(bar<hist(bar,1),bar2,undefined),undefined);
[linestyle =pricecolor]
[color =dark green] if(begin=0,bar>=hist(bar,1),undefined);
[color =crimson] if(begin=0,bar<hist(bar,1),undefined)
|
Hello I question that formula its for CMC Markets??
I can put that formula five me error why???
Tell something have fantastics trades
|
Posted By: maximo
Date Posted: 29 Jul 2008 at 11:35pm
No Rounders it's for BullCharts software.
CMC already has them built in.
Backtest before trading.
|
|