Подсчет количества свечей

 

Есть ли такой индикатор который подсчитывает среднее и максимальное количество последовательных бычьих и медвежьих свечей (consecutive bullish/bearish candles), к примеру за последние 200 дней?



 
Evgeny Gavrilov:

Есть ли такой индикатор который подсчитывает среднее и максимальное количество последовательных бычьих и медвежьих свечей (consecutive bullish/bearish candles), к примеру за последние 200 дней?


Вроде нет. Но можно сделать. Вот только нужно определиться с:

  • входными параметрами
  • методом выдачи результатов

 
Vladimir Karputov:

Вроде нет. Но можно сделать. Вот только нужно определиться с:

  • входными параметрами
  • методом выдачи результатов


Меня любой вариант устроит, лишь бы была информация о такой последовательности.


В другой теме есть скрипт, но он ведёт подсчеты общего количества бычьих и медвежьих свечей.. https://www.mql5.com/ru/forum/143592#comment_3627562

Вопрос [подсчитать количество определенной последовельности свечей]
Вопрос [подсчитать количество определенной последовельности свечей]
  • 2013.02.19
  • www.mql5.com
У меня такой вопрос - можна в МТ4 подсчитать количество определенной последовельности свечей в на заданом таймфрейме на заданом отрывке истори...
 

А ... Так Вам для старого терминала ...

Извините. Не интересно.

 
Vladimir Karputov:

А ... Так Вам для старого терминала ...

Извините. Не интересно.

MT5 это старый терминал? Вы на другом? В NinjaTrader?
 
Evgeny Gavrilov:
MT5 это старый терминал? Вы на другом? В NinjaTrader?

Для MetaTrader 5 конечно будем делать. Просто ссылку Вы дали на старый терминал.

Итак, на вскидку, статистику за количество баров N можно собирать такую:

  1. Среднее количество последовательных баров.

И сразу остановка, так как последовательности могут быть такие ("1" - бычья свеча, "-1" - медвежья свеча): 1, 11, 111, 1111, ... 1n. Налицо необходимость нахождения общего количества всех последовательностей (1, 11, 111, 1111, ... 1n) и подсчёт их количества. И самое интересное: это представление итоговых данных :) .

Пока приходит два варианта: 


 
Vladimir Karputov:

Для MetaTrader 5 конечно будем делать. Просто ссылку Вы дали на старый терминал.

Итак, на вскидку, статистику за количество баров N можно собирать такую:

  1. Среднее количество последовательных баров.

И сразу остановка, так как последовательности могут быть такие ("1" - бычья свеча, "-1" - медвежья свеча): 1, 11, 111, 1111, ... 1n. Налицо необходимость нахождения общего количества всех последовательностей (1, 11, 111, 1111, ... 1n) и подсчёт их количества. И самое интересное: это представление итоговых данных :) .

Пока приходит два варианта: 


Лучше на базе "Научные графики"
 
市场: 您已经激活产品 TraderDream, 4 of 6激活离开 (请参见 规则, IV.10和IV.11)
 
//+------------------------------------------------------------------+
//|                                                 Candle_Count.mq4 |
//+------------------------------------------------------------------+


#property indicator_chart_window
#property indicator_buffers 1

extern int Length=0;
extern int Price=0;    // Applied price
                       // 0 - Close
                       // 1 - Open
                       // 2 - High
                       // 3 - Low
                       // 4 - Median
                       // 5 - Typical
                       // 6 - Weighted  

double Count[];

int init()
{
 IndicatorShortName("Consecutive Candle Count");
 IndicatorDigits(Digits);
 SetIndexStyle(0,DRAW_NONE);
 SetIndexBuffer(0,Count);

 return(0);
}

int deinit()
{

 return(0);
}

int start()
{
 if(Bars<=3) return(0);
 int ExtCountedBars=IndicatorCounted();
 if (ExtCountedBars<0) return(-1);
 int limit=Bars;
 if(ExtCountedBars>2) limit=Bars-ExtCountedBars-1;
 int pos;
 double Pr0, Pr1;
 pos=limit;
 while(pos>=0)
 {
  if (pos==Bars)
  {
   Count[pos]=0.;
  }
  else
  {
   Pr0=iMA(NULL, 0, 1, 0, MODE_SMA, Price, pos);
   Pr1=iMA(NULL, 0, 1, 0, MODE_SMA, Price, pos+1);
  
   if (Pr0>Pr1)
   {
    if (Count[pos+1]<0.)
    {
     Count[pos]=1.;
    }
    else
    {
     Count[pos]=Count[pos+1]+1.;
    }
   }
   else
   {
    if (Pr0<Pr1)
    {
     if (Count[pos+1]>0.)
     {
      Count[pos]=-1.;
     }
     else
     {
      Count[pos]=Count[pos+1]-1.;
     }
    }
    else
    {
     Count[pos]=0.;
    }
   }
  } 

  pos--;
 } 

 double Min, Max;
 if (Length==0)
 {
  Min=MathAbs(Count[ArrayMinimum(Count, WHOLE_ARRAY, 0)]);
  Max=Count[ArrayMaximum(Count, WHOLE_ARRAY, 0)];
 }
 else
 {
  Min=MathAbs(Count[ArrayMinimum(Count, Length, 0)]);
  Max=Count[ArrayMaximum(Count, Length, 0)];
 } 
 
 string Str="Up trend: "+Max+"\nDown trend: "+Min;
 
 Comment(Str);
  
 return(0);
}


Можно ли это сконвертировать в mq5 ?

 
Evgeny Gavrilov:


Можно ли это сконвертировать в mq5 ?


Нет. Нам нужен подсчёт свечей, а не обращение к индикатору iMA.

 
Maxim Kuznetsov:

прекрасный безглючный сайт :-)

PS/ введите уже расписание, например 0-0:30GMT ввод в эксплуатацию новых багов..

PPS/ проводя тех.работы вне регламента, вы мягко говоря опровергаете термин что работаете на рынке

Причина обращения: