诚信为本
量力而为
当前位置:峰汇在线 > MetaTrader 4 > MT4指标 > 正文

MT4副图指标 BTtrend Trigger.mq4

BTtrend Trigger指标在很多系统中都有调用,是经典的MT4副图指标。

图表:BTtrend Trigger指标

源码:

//+------------------------------------------------------------------+
//|                                               BTtrend Trigger.mq4|
//+------------------------------------------------------------------+
#property copyright ""
#property link      "http://www.125808047.com/"

#property indicator_separate_window 
#property indicator_buffers 2 
#property indicator_color1 LightSeaGreen 
#property indicator_color2 Red 

extern int TTFbars=15; 
extern int TopLine=50; 
extern int BottomLine=-50; 
extern int t3_period=5; 
extern double b=0.7; 
double MainBuffer[]; 
double SignalBuffer[]; 

int draw_begin1=0; 
int draw_begin2=0; 
double b2=0; 
double b3=0; 
double c1=0; 
double c2=0; 
double c3=0; 
double c4=0; 
double r=0; 
double w1=0; 
double w2=0; 
double e1 = 0; 
double e2 = 0; 
double e3 = 0; 
double e4 = 0; 
double e5 = 0; 
double e6 = 0; 
double  HighestHighRecent=0; 
double  HighestHighOlder =0; 
double  LowestLowRecent =0; 
double  LowestLowOlder =0; 
double  BuyPower =0; 
double  SellPower=0; 
double  TTF=0; 
//+------------------------------------------------------------------+ 
//| Custom indicator initialization function                         | 
//+------------------------------------------------------------------+ 
void OnInit(void)
  {
   string short_name; 
   IndicatorBuffers(2); 
   SetIndexStyle(0,DRAW_LINE); 
   SetIndexBuffer(0, MainBuffer); 
   SetIndexStyle(1,DRAW_LINE); 
   SetIndexBuffer(1, SignalBuffer); 
   short_name="TTF("+TTFbars; 
   IndicatorShortName(short_name); 
   SetIndexLabel(0,short_name); 
   SetIndexLabel(1,"Signal"); 
   draw_begin1=TTFbars*2+1; 
   draw_begin2=draw_begin1; 
   SetIndexDrawBegin(0,draw_begin1); 
   SetIndexDrawBegin(1,draw_begin2); 
    
   b2=b*b; 
   b3=b2*b; 
   c1=-b3; 
   c2=(3*(b2+b3)); 
   c3=-3*(2*b2+b+b3); 
   c4=(1+3*b+b3+3*b2); 

   r=t3_period; 

   if (r<1) r=1; 
   r = 1 + 0.5*(r-1); 
   w1 = 2 / (r + 1); 
   w2 = 1 - w1; 
  Comment("www.125808047.com"); 
  } 
//+------------------------------------------------------------------+ 
//| ttf                                            | 
//+------------------------------------------------------------------+ 
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   int    i; 
   int    counted_bars=IndicatorCounted(); 

   if(Bars<=draw_begin2) return(0); 
   if(counted_bars<1) 
     { 
      for(i=1;i<=draw_begin1;i++) MainBuffer[Bars-i]=0; 
      for(i=1;i<=draw_begin2;i++) SignalBuffer[Bars-i]=0; 
     } 

   i=Bars-draw_begin1; 
   if(counted_bars>draw_begin1) i=Bars-counted_bars-1; 
   while(i>=0) 
     { 
  HighestHighRecent=High[Highest(NULL,0,MODE_HIGH,TTFbars,i)];  
  HighestHighOlder =High[Highest(NULL,0,MODE_HIGH,TTFbars,i+TTFbars)]; 
  LowestLowRecent =Low[Lowest(NULL,0,MODE_LOW,TTFbars,i)]; 
  LowestLowOlder =Low[Lowest(NULL,0,MODE_LOW,TTFbars,i+TTFbars)]; 
  BuyPower =HighestHighRecent-LowestLowOlder; 
  SellPower=HighestHighOlder -LowestLowRecent; 
  TTF=(BuyPower-SellPower)/(0.5*(BuyPower+SellPower))*100; 

  e1 = w1*TTF + w2*e1; 
  e2 = w1*e1 + w2*e2; 
  e3 = w1*e2 + w2*e3; 
  e4 = w1*e3 + w2*e4; 
  e5 = w1*e4 + w2*e5; 
  e6 = w1*e5 + w2*e6; 

  TTF = c1*e6 + c2*e5 + c3*e4 + c4*e3; 

  MainBuffer[i]=TTF; 
  i--; 
 } 
   if(counted_bars>0) counted_bars--; 
   int limit=Bars-counted_bars; 

   for(i=0; i<limit; i++) { 
      if (MainBuffer[i]>=0) 
         SignalBuffer[i]=TopLine; 
      else 
         SignalBuffer[i]=BottomLine; 
   } 
   return(rates_total); 
  } 
//+------------------------------------------------------------------+ 
打赏
版权所有转载请注明标题及链接:峰汇在线 » MT4副图指标 BTtrend Trigger.mq4
上一篇:
下一篇:
分享到: 更多 (0)

如您觉得此文不错请扫码打赏!

支付宝扫一扫打赏

微信扫一扫打赏