[MT4指标]Linear Regression斐波那契阻力支持
Linear Regression斐波那契阻力支持
主图指标
mt4指标类型:震荡指标
是否能用在mt4手机版上:否
是否含有未来函数:无
可以用在韬客外汇返佣网的平台上
//+------------------------------------------------------------------+
//| Linear Regression.mq4 |
//| Copyright ? 2006, tageiger, aka [email protected] |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright ? 2006, tageiger, aka [email protected]"
#property link "http://www.metaquotes.net"
#property indicator_chart_window
extern int period=0;
/*default 0 means the channel will use the open time from "x" bars back on which ever time period
the indicator is attached to. one can change to 1,5,15,30,60...etc to "lock" the start time to a specific
period, and then view the "locked" channels on a different time period...*/
extern int line.width=2;
extern int LR.length=34; // bars back regression begins
extern color LR.c=Orange;
extern double std.channel.1=0.618; // 1st channel
extern color c.1=Gray;
extern double std.channel.2=1.618; // 2nd channel
extern color c.2=Gray;
extern double std.channel.3=2.618; // 3nd channel
extern color c.3=Gray;
int init(){return(0);}
int deinit(){ ObjectDelete(period+"m "+LR.length+" TL");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.1+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.1+"d");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.2+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.2+"d");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.3+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.3+"d");
return(0);}
int start(){//refresh chart
ObjectDelete(period+"m "+LR.length+" TL");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.1+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.1+"d");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.2+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.2+"d");
ObjectDelete(period+"m "+LR.length+" +"+std.channel.3+"d"); ObjectDelete(period+"m "+LR.length+" -"+std.channel.3+"d");
//linear regression calculation
int start.bar=LR.length, end.bar=0;
int n=start.bar-end.bar+1;
//---- calculate price values
double value=iClose(Symbol(),period,end.bar);
double a,b,c;
double sumy=value;
double sumx=0.0;
double sumxy=0.0;
double sumx2=0.0;
for(int i=1; i0) {
x.avg=(x.avg+x)/i;
x.sum.squared+=(x-x.avg)*(x-x.avg);
std.dev=MathSqrt(x.sum.squared/(start.bar-1)); } }
//Print("LR.price.1 ",LR.price.1," LR.Price.2 ",LR.price.2," std.dev ",std.dev);
//...standard deviation channels...
ObjectCreate(period+"m "+LR.length+" +"+std.channel.1+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1+std.dev*std.channel.1,
Time[end.bar],LR.price.2+std.dev*std.channel.1);
ObjectSet(period+"m "+LR.length+" +"+std.channel.1+"d",OBJPROP_COLOR,c.1);
ObjectSet(period+"m "+LR.length+" +"+std.channel.1+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" +"+std.channel.1+"d",OBJPROP_RAY,false);
ObjectCreate(period+"m "+LR.length+" -"+std.channel.1+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1-std.dev*std.channel.1,
Time[end.bar],LR.price.2-std.dev*std.channel.1);
ObjectSet(period+"m "+LR.length+" -"+std.channel.1+"d",OBJPROP_COLOR,c.1);
ObjectSet(period+"m "+LR.length+" -"+std.channel.1+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" -"+std.channel.1+"d",OBJPROP_RAY,false);
ObjectCreate(period+"m "+LR.length+" +"+std.channel.2+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1+std.dev*std.channel.2,
Time[end.bar],LR.price.2+std.dev*std.channel.2);
ObjectSet(period+"m "+LR.length+" +"+std.channel.2+"d",OBJPROP_COLOR,c.2);
ObjectSet(period+"m "+LR.length+" +"+std.channel.2+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" +"+std.channel.2+"d",OBJPROP_RAY,false);
ObjectCreate(period+"m "+LR.length+" -"+std.channel.2+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1-std.dev*std.channel.2,
Time[end.bar],LR.price.2-std.dev*std.channel.2);
ObjectSet(period+"m "+LR.length+" -"+std.channel.2+"d",OBJPROP_COLOR,c.2);
ObjectSet(period+"m "+LR.length+" -"+std.channel.2+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" -"+std.channel.2+"d",OBJPROP_RAY,false);
ObjectCreate(period+"m "+LR.length+" +"+std.channel.3+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1+std.dev*std.channel.3,
Time[end.bar],LR.price.2+std.dev*std.channel.3);
ObjectSet(period+"m "+LR.length+" +"+std.channel.3+"d",OBJPROP_COLOR,c.3);
ObjectSet(period+"m "+LR.length+" +"+std.channel.3+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" +"+std.channel.3+"d",OBJPROP_RAY,false);
ObjectCreate(period+"m "+LR.length+" -"+std.channel.3+"d",OBJ_TREND,0,iTime(Symbol(),period,start.bar),LR.price.1-std.dev*std.channel.3,
Time[end.bar],LR.price.2-std.dev*std.channel.3);
ObjectSet(period+"m "+LR.length+" -"+std.channel.3+"d",OBJPROP_COLOR,c.3);
ObjectSet(period+"m "+LR.length+" -"+std.channel.3+"d",OBJPROP_WIDTH,line.width);
ObjectSet(period+"m "+LR.length+" -"+std.channel.3+"d",OBJPROP_RAY,false);
return(0);}
//+------------------------------------------------------------------+Linear%20Regression.jpg
发表于:2014-09-14 11:38只看该作者
2楼
为何如此复杂
发表于:2014-09-18 09:51只看该作者
3楼
发表于:2016-03-02 06:34只看该作者
4楼
韬客社区www.talkfx.co