100ma_qual.mq4
//+------------------------------------------------------------------+
//| 5 Min RSI 12-period qual INDICATOR |
//+------------------------------------------------------------------+
#property copyright "Ron T"
#property link "http://www.lightpatch.com"
#property indicator_chart_window
#property indicator_buffers 8
#property indicator_color1 Red
#property indicator_color2 HotPink
#property indicator_color3 DarkGray
#property indicator_color4 Red
#property indicator_color5 White
#property indicator_color6 LightGray
#property indicator_color7 DarkGray
#property indicator_color8 White
//---- buffers
double Buffer1[];
double Buffer2[];
double Buffer3[];
double Buffer4[];
double Buffer5[];
double Buffer6[];
double Buffer7[];
double Buffer8[];
// User Input
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//|------------------------------------------------------------------|
int init()
{
// 233 up arrow
// 234 down arrow
// 159 big dot
// 158 little dot
// 168 open square
// 120 box with X
SetIndexStyle(0,DRAW_ARROW);
SetIndexBuffer(0, Buffer1);
SetIndexArrow(0,159);
SetIndexStyle(1,DRAW_ARROW);
SetIndexBuffer(1, Buffer2);
SetIndexArrow(1,158);
SetIndexStyle(2,DRAW_ARROW);
SetIndexBuffer(2, Buffer3);
SetIndexArrow(2,112);
SetIndexStyle(3,DRAW_ARROW);
SetIndexBuffer(3, Buffer4);
SetIndexArrow(3,120);
SetIndexStyle(4,DRAW_ARROW);
SetIndexBuffer(4, Buffer5);
SetIndexArrow(4,159);
SetIndexStyle(5,DRAW_ARROW);
SetIndexBuffer(5, Buffer6);
SetIndexArrow(5,158);
SetIndexStyle(6,DRAW_ARROW);
SetIndexBuffer(6, Buffer7);
SetIndexArrow(6,112);
SetIndexStyle(7,DRAW_ARROW);
SetIndexBuffer(7, Buffer8);
SetIndexArrow(7,120);
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
int i;
for( i=0; i<Bars; i++ ) Buffer1=0;
for( i=0; i<Bars; i++ ) Buffer2=0;
for( i=0; i<Bars; i++ ) Buffer3=0;
for( i=0; i<Bars; i++ ) Buffer4=0;
for( i=0; i<Bars; i++ ) Buffer5=0;
for( i=0; i<Bars; i++ ) Buffer6=0;
for( i=0; i<Bars; i++ ) Buffer7=0;
for( i=0; i<Bars; i++ ) Buffer8=0;
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
// Current position if 55/45 or over/under. Does any of
// the previous 'qual' period ever fall below55/above45? (last11)
//
// If qual*2 periods have been above55/below45
// then lets not try to transact any more (last22)
int start()
{
int pos=Bars-100; // leave room for moving average periods
int ctr=0;
double cMAfst=0, pMAfst=0;
double cMAmid=0, pMAmid=0;
double cMAslo=0, pMAslo=0;
double MA100=0;
bool rising=false;
bool falling=false;
double p=Point();
while(pos>=1)
{
cMAfst=iMA(Symbol(),0,5,0,MODE_LWMA,PRICE_OPEN, pos);
pMAfst=iMA(Symbol(),0,5,0,MODE_LWMA,PRICE_OPEN, pos+1);
cMAmid=iMA(Symbol(),0,25 ,0,MODE_LWMA,PRICE_OPEN, pos);
pMAmid=iMA(Symbol(),0,25 ,0,MODE_LWMA,PRICE_OPEN, pos+1);
cMAslo=iMA(Symbol(),0,100,0,MODE_LWMA,PRICE_OPEN, pos);
pMAslo=iMA(Symbol(),0,100,0,MODE_LWMA,PRICE_OPEN, pos+1);
// rising
if (pMAmid<=pMAslo && cMAmid>=cMAslo)
{
rising=true;
falling=false;
ctr=0;
}
//falling
if (pMAmid>=pMAslo && cMAmid<=cMAslo)
{
rising=false;
falling=true;
ctr=0;
}
ctr++;
if (ctr>30 && falling) {Buffer1=cMAmid;}
if (ctr>30 && rising){Buffer5=cMAmid;}
pos--;
}
return(0);
}
//+------------------------------------------------------------------+
我是来刷分的,嘿嘿 支持一下:lol 帮你顶下哈!! 学习了,不错 谢谢楼主分享 学习了,不错 帮你顶下哈!! 谢谢楼主分享 顶下
页:
[1]
2