Скачать MetaTrader 5

Индикаторы: XSUM

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Ведешь свой блог? Размести в нем ссылку на MQL5.community и заработай!
MetaQuotes Software Corp.
Модератор
181135
MetaQuotes Software Corp. 2010.07.05 07:49 

XSUM:

Индикатор XSUM

Author: excelf

MQL4 Comments
16319
MQL4 Comments 2010.07.05 11:25  

Останавливается на нулевом баре. Может кто поправит.

  rnj 

Victor Nikolaev
Модератор
14500
Victor Nikolaev 2010.07.05 16:20  

Вроде поправил

4irik:

Останавливается на нулевом баре. Может кто поправит.


//+------------------------------------------------------------------+
//|                                                         XSUM.mq4 |
//|                                Copyright © 2009, Ivan Kornilov   |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                                    vinin.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Ivan Kornilov"
#property link "excelf@gmail.com"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
extern int period = 21;
extern int shift = 5;
extern int ma = 10;
double XBuffer[];
double MABuffer[];
int init() {
    SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0, XBuffer);
    
    SetIndexStyle(1,DRAW_LINE);
    SetIndexBuffer(1, MABuffer);
    
    SetIndexDrawBegin(0, (period+ma));
    SetIndexDrawBegin(1, (period+ma));
    
    IndicatorShortName("XSUM(" + period + "," + ma + ")");
}
int start() {
   int i;
   int j;
   int counted_bars=IndicatorCounted();
   int limit = Bars - counted_bars;
   if(counted_bars == 0) {
      limit = Bars - period-shift*3-1;
   }
   for(i = limit; i >= 0; i--) {
      double sum = 0;
      for(j=i;j<i+period;j++) {
         sum+= Close[j] / Close[j+shift];
      }
      XBuffer[i] = sum;
   }
    
   for(i = 0; i < limit; i++) {
      MABuffer[i] = iMAOnArray(XBuffer, Bars, ma, 0, 2, i);
   }
   return(0);
}
MQL4 Comments
16319
MQL4 Comments 2010.07.05 17:35  
Vinin:

Вроде поправил

4irik:

Останавливается на нулевом баре. Может кто поправит.


//+------------------------------------------------------------------+
//|                                                         XSUM.mq4 |
//|                                Copyright © 2009, Ivan Kornilov   |
//|                                Copyright © 2010, Victor Nicolaev |
//|                                                    vinin.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, Ivan Kornilov"
#property link "excelf@gmail.com"
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 DodgerBlue
#property indicator_color2 Red
extern int period = 21;
extern int shift = 5;
extern int ma = 10;
double XBuffer[];
double MABuffer[];
int init() {
    SetIndexStyle(0,DRAW_LINE);
    SetIndexBuffer(0, XBuffer);
    
    SetIndexStyle(1,DRAW_LINE);
    SetIndexBuffer(1, MABuffer);
    
    SetIndexDrawBegin(0, (period+ma));
    SetIndexDrawBegin(1, (period+ma));
    
    IndicatorShortName("XSUM(" + period + "," + ma + ")");
}
int start() {
   int i;
   int j;
   int counted_bars=IndicatorCounted();
   int limit = Bars - counted_bars;
   if(counted_bars == 0) {
      limit = Bars - period-shift*3-1;
   }
   for(i = limit; i >= 0; i--) {
      double sum = 0;
      for(j=i;j<i+period;j++) {
         sum+= Close[j] / Close[j+shift];
      }
      XBuffer[i] = sum;
   }
    
   for(i = 0; i < limit; i++) {
      MABuffer[i] = iMAOnArray(XBuffer, Bars, ma, 0, 2, i);
   }
   return(0);
}
Vinin:

Вроде поправил

4irik:

Останавливается на нулевом баре. Может кто поправит.


Функционирует. Спасибо.
Aleksey Antonov
560
Aleksey Antonov 2010.07.05 21:15  
10 за идею
Victor Nikolaev
Модератор
14500
Victor Nikolaev 2010.07.06 17:57  
4irik:

Функционирует. Спасибо.

Можно конечно еще упростить, но надо ли. Тогда от авторской идеи ничего не останется
Иван Корнилов
544
Иван Корнилов 2010.07.06 22:15  
Vinin:
4irik:

Функционирует. Спасибо.

Можно конечно еще упростить, но надо ли. Тогда от авторской идеи ничего не останется

как упростить, если не секрет ?
Иван Корнилов
544
Иван Корнилов 2010.07.06 22:16  
Исправил проблему с нулевым баром. Ждем когда модератор одобрит.
Victor Nikolaev
Модератор
14500
Victor Nikolaev 2010.07.07 14:48  
excelf:

как упростить, если не секрет ?

Ответил в личку
Сергей
207
Сергей 2010.07.08 12:34  
Можно придать индикатору привычный вид:
XBuffer[i] = sum-period;
MQL4 Comments
16319
MQL4 Comments 2010.07.09 20:31  

По моему не очень. Сигналы открытия ещё может и даёт, но закрывать надо по другому индюку. Три балла.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий