[MT4指标]DT-RSI-Sig指标
附图指标,
mt4指标类型:震荡指标
是否能用在mt4手机版上:否
是否含有未来函数:无
//+------------------------------------------------------------------+
//|                                                   DT-RSI-Sig.mq4 |
//+------------------------------------------------------------------+
#property copyright "klot" 
#property link      "[email protected]"
#property indicator_separate_window
#property indicator_minimum 20
#property indicator_maximum 80
#property indicator_buffers 5
#property indicator_color1 Aqua
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Red
#property indicator_color5 Blue
//---- input parameters
extern int       PeriodRSI=14;
//---- buffers
double ExtMapBuffer1;
double ExtMapBuffer2;
double ExtMapBuffer3;
double ExtMapBuffer4;
double ExtMapBuffer5;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,242);
   SetIndexBuffer(1,ExtMapBuffer2);
   SetIndexEmptyValue(1,0.0);
   SetIndexStyle(2,DRAW_ARROW);
   SetIndexArrow(2,241);
   SetIndexBuffer(2,ExtMapBuffer3);
   SetIndexEmptyValue(2,0.0);
   SetIndexStyle(3,DRAW_ARROW);
   SetIndexArrow(3,159);
   SetIndexBuffer(3,ExtMapBuffer4);
   SetIndexEmptyValue(3,0.0);
   SetIndexStyle(4,DRAW_ARROW);
   SetIndexArrow(4,159);
   SetIndexBuffer(4,ExtMapBuffer5);
   SetIndexEmptyValue(4,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//---- 
      ObjectsDeleteAll(1, OBJ_TREND); 
   	ObjectsRedraw();
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    k,limit,pos1,pos2,pos3,pos4;
   int    counted_bars=IndicatorCounted();
   double rsi1,rsi2,rsi3,vol1,vol2,vol3,vol4;
//---- 
if (counted_bars<0) return(-1); 
    
   if (counted_bars>0) counted_bars--; 
    
   limit=Bars-counted_bars; 
    
   for (int i=0; irsi3) ExtMapBuffer5[i+2]=rsi2; //洛瘐篪赅. RSI 镱忸疣麒忄弪 忭桤
         if  (rsi1>rsi2 && rsi240 && k==0) { vol1=ExtMapBuffer5; pos1=i; k++;}
         if (ExtMapBuffer5>60 && ExtMapBuffer5>vol1 && k!=0) { vol2=ExtMapBuffer5; pos2=i; k++;}
         if (k>1) break;
      }
   // 篷腓 羼螯 扈龛祗? 龛驽 40, 蝾 腓龛? 蝠屙溧 礤 耱痤桁, ?.?. 聍栩噱? 黩? 磬镳噔脲龛? 蝠屙溧 桤戾龛腩顸
   for (i=0; i1) break;
      }
   // 篷腓 羼螯 爨犟桁箪 犷朦  60, 蝾沅? 腓龛? 蝠屙溧 礤 耱痤桁, ?.?. 聍栩噱? 黩? 磬镳噔脲龛? 蝠屙溧 桤戾龛腩顸
   for (i=0; i60) {vol3=0; vol4=0;}
   }
      
    // ---- 谚沩嚯? 潆? 怩钿钼 Buy ? Sell
         rsi1=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,1);
         rsi2=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,2);
        
      //------------
      double volDW,volDW1,volDW2,volUP,volUP1,volUP2;
      if (vol3!=0 && vol4!=0)
      {
      volDW=vol3+((pos3)*(vol3-vol4)/(pos4-pos3));
      volDW1=vol3+((pos3-1)*(vol3-vol4)/(pos4-pos3));
      volDW2=vol3+((pos3-2)*(vol3-vol4)/(pos4-pos3));
      }      
      if (volDW!=0 && rsi2>50 && rsi1volDW2 ) ExtMapBuffer2[0]=volDW; // 谚沩嚯 Sell
      //------------
      //------------
      if (vol1!=0 && vol2!=0) 
		{
		volUP=vol1+(pos1*(vol1-vol2)/(pos2-pos1));
		volUP1=vol1+((pos1-1)*(vol1-vol2)/(pos2-pos1));
		volUP2=vol1+((pos1-2)*(vol1-vol2)/(pos2-pos1));
		}
		if (volUP!=0 && rsi2<50 && rsi2>40 && rsi1>volUP1 && rsi2DT-RSI-Sig.jpg      










