Индикаторы: EMA VOLUME - страница 2

 
Sancho77:

Интересная интерпретация! Подскажите, я правильно вытаскиваю в советник значения красной и синей линии на текущем баре?

   double up = iCustom(NULL, 0, "azzx_emavol_1_0", PERIOD,  1, 0);//красная
   double dn = iCustom(NULL, 0, "azzx_emavol_1_0", PERIOD,  2, 0);//синяя
 
Огромное спасибо за индикатор. Просто нет слов!
 
pptxe64:
Огромное спасибо за индикатор. Просто нет слов!

"Да усегда пожалуйста..."

Я-то в нём особой ценности не вижу. :)

 

Оригинально! Но не служит сигналом для входа. Разве только подтверждает флэт, когда лучше воздержаться от входа.

 

Смотрится очень интересно. Поставил на м15. Попробую попипсовать. Входы хорошие, а выходы надо ловить. Давайте еще что-нить в этом духе.

 
pptxe64:
Sancho77:

Интересная интерпретация! Подскажите, я правильно вытаскиваю в советник значения красной и синей линии на текущем баре?

   double up = iCustom(NULL, 0, "azzx_emavol_1_0", PERIOD,  1, 0);//красная
   double dn = iCustom(NULL, 0, "azzx_emavol_1_0", PERIOD,  2, 0);//синяя
Я бы все таки смотрел индикатор на сформировавшемся баре (после номера буфера ...1, 1) и ...2,1). PERIOD вынести во внешние параметры: extern int PERIOD = 15; и можно оптить сова

 
rulabs:

Смотрится очень интересно. Поставил на м15. Попробую попипсовать. Входы хорошие, а выходы надо ловить. Давайте еще что-нить в этом духе


borilunad:

Оригинально! Но не служит сигналом для входа. Разве только подтверждает флэт, когда лучше воздержаться от входа.

:)

Вообще-то, хотя индикатор изначально, действительно, предполагался для скальпирования, я с ходу вижу порядка 6 вариантов его использования. Причём каждый - требует отдельного и не самого быстрого изучения. Имхо, конечно, но главное в ТС - это не сама ТС, а вопрос её устойчивости. Так что индикатор сам по себе практически ничего не значит - это именно лишь демонстрация "взгляда на рынок".

Что же до собственно выходов в пипсовке - попробуйте узкий трал - это одно из немногих разумных решений именно для этого стиля торговли.

 
Индикатор очень интересный. А можно для повышения информативности сделать МАСД по синей и красной линии в виде гистограммы?
 
Azzx:
Ваша цитата:

"Вообще-то, хотя индикатор изначально, действительно, предполагался для скальпирования, я с ходу вижу порядка 6 вариантов его использования. Причём каждый - требует отдельного и не самого быстрого изучения. Имхо, конечно, но главное в ТС - это не сама ТС, а вопрос её устойчивости. Так что индикатор сам по себе практически ничего не значит - это именно лишь демонстрация "взгляда на рынок". ..."

Если этот вопрос будет принципиально решен, форексу очень скоро придет конец. Сугубо IMHO.

Еще раз большое спасибо за индикатор.

С уважением, Владимир


 
AD159:
Индикатор очень интересный. А можно для повышения информативности сделать МАСД по синей и красной линии в виде гистограммы?
Написал для вас небольшую обёртку. Надеюсь, я понял вас правильно. :)
// ---------------------------------------------------------------------------
//  Небольшая обёртка вокруг azzx_emavol_1_0 по просьбе AD159.
// ---------------------------------------------------------------------------
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1  Red
#property indicator_color2  Blue
#property indicator_width1  4
#property indicator_width2  4
#property indicator_level1  0
#define IND_NAME "azzx_emavol_1_0"
// Период усреднения индикатора.
extern int PERIOD = 15;
// Буферы индикатора.
double buf_up[], buf_dn[];
// Инициализация.
int init() {
  IndicatorShortName(StringConcatenate(
    "AZZX - EMA VOLUME DIFF v1.0 (", PERIOD, ")"));
  IndicatorDigits(0);
    
  SetIndexBuffer(0, buf_up);
  SetIndexBuffer(1, buf_dn);
  
  SetIndexStyle(0, DRAW_HISTOGRAM);
  SetIndexStyle(1, DRAW_HISTOGRAM);
  
  SetIndexEmptyValue(0, -1);
  SetIndexEmptyValue(1, -1);
  return(0);
}
// Главный цикл.
int start() {
  int i;
  
  for(i = Bars - IndicatorCounted() - 1; i >= 0; i--) {
    double diff = iCustom(NULL, 0, IND_NAME, PERIOD, 1, i) -
                  iCustom(NULL, 0, IND_NAME, PERIOD, 2, i);
                  
    if(diff >= 0) {
      buf_up[i] = diff;
      buf_dn[i] = -1;
    } else {
      buf_up[i] = -1;
      buf_dn[i] = diff;
    }
  }
  return(0);
}
Причина обращения: