Подсчет количества свечей - страница 2

 

Чтобы посмотреть, какие вообще показатели бывают по повтору свечей, лучше начать со скрипта:

  • не нужно возиться с индикаторными буферами
  • вывести результаты можно просто распечатав массив с количеством повторов по каждой последовательности
...

 

Скрипт Statistics of candles, version   "1.000"

Серии баров кодируются по такому принципу:

   enum ENUM_SERIES_TYPE
     {
      Bull=1,  // ↑
      Bear=-1, // ↓
     };

"бычья свеча" имеет код "1", "медвежья" свеча имеет код "-1".

Также есть параметр "имя серии", который вычисляется по формуле:

текущая серия (ENUM_SERIES_TYPE) * количество баров подряд в этой серии

int name_series=current_series_type*count_series;


Особенность работы: самая последняя серия НЕ учитывается, так как нельзя заглянуть в будущее и сказать, как долго продлиться эта серия.


В конце (если активировать параметр "Verification") будет распечатан массив MqlRates и сам массив со статистикой серий.

Пример распечатки:

0:2017.10.25 14:30 open = 1.17725, high = 1.17732, low = 1.17696, close = 1.17714, volume = 299 Bear
1:2017.10.25 14:35 open = 1.17716, high = 1.17779, low = 1.17712, close = 1.17776, volume = 408 Bull
2:2017.10.25 14:40 open = 1.17775, high = 1.17792, low = 1.17744, close = 1.17784, volume = 461 Bull
3:2017.10.25 14:45 open = 1.17785, high = 1.17812, low = 1.17781, close = 1.17795, volume = 380 Bull
4:2017.10.25 14:50 open = 1.17793, high = 1.17793, low = 1.17753, close = 1.17753, volume = 311 Bear
5:2017.10.25 14:55 open = 1.17752, high = 1.17796, low = 1.17752, close = 1.17791, volume = 329 Bull
6:2017.10.25 15:00 open = 1.17784, high = 1.17816, low = 1.17766, close = 1.17789, volume = 384 Bull
7:2017.10.25 15:05 open = 1.17789, high = 1.17824, low = 1.17779, close = 1.1779, volume = 408 Bull
8:2017.10.25 15:10 open = 1.1779, high = 1.17861, low = 1.1778, close = 1.1785, volume = 622 Bull
9:2017.10.25 15:15 open = 1.1785, high = 1.17856, low = 1.17815, close = 1.17819, volume = 415 Bear
10:2017.10.25 15:20 open = 1.17818, high = 1.17826, low = 1.17787, close = 1.17812, volume = 563 Bear
11:2017.10.25 15:25 open = 1.17811, high = 1.1782, low = 1.1777, close = 1.1778, volume = 466 Bear
//| arr_series[][0]:    series type                                  |
//| arr_series[][1]:    count of series                              |
         [,0]     [,1]
[0,]  1.00000  2.00000
[1,] -3.00000  1.00000
[2,] -4.00000  1.00000

ds

Файлы:
 
Vladimir Karputov:

Скрипт Statistics of candles, version   "1.000"

Серии баров кодируются по такому принципу:

"бычья свеча" имеет код "1", "медвежья" свеча имеет код "-1".

Также есть параметр "имя серии", который вычисляется по формуле:

текущая серия (ENUM_SERIES_TYPE) * количество баров подряд в этой серии


Особенность работы: самая последняя серия НЕ учитывается, так как нельзя заглянуть в будущее и сказать, как долго продлиться эта серия.


В конце (если активировать параметр "Verification") будет распечатан массив MqlRates и сам массив со статистикой серий.

Пример распечатки:

ds

Спасибо огромное.
 

Скрипт Statistics of candles, version   "1.001"

Теперь + график:

Statistics of candles

Файлы:
 
Vladimir Karputov:

Скрипт Statistics of candles, version   "1.001"

Теперь + график:

Владимир, если не сложно, напишите индикатор, суть в следующем:

За  N-баров считаем сколько было чёрных и белых тел(Open/Close), потом суммируем чёрные и белые раздельно, период в настройках с N-бара до N-бара, и показываем информацию

Период - 14

8 - Вверх (25п)

6 - Вниз (42п)

В идеале, на графике отобразить считаемый участок, и над ним информацию


 
Vitaly Muzichenko:

Владимир, если не сложно, напишите индикатор, суть в следующем:

За  N-баров считаем сколько было чёрных и белых тел(Open/Close), потом суммируем чёрные и белые раздельно, период в настройках с N-бара до N-бара, и показываем информацию

Период - 14

8 - Вверх (25п)

6 - Вниз (42п)

В идеале, на графике отобразить считаемый участок, и над ним информацию



Поставил в очередь.

 
Vitaly Muzichenko:

Владимир, если не сложно, напишите индикатор, суть в следующем:

За  N-баров считаем сколько было чёрных и белых тел(Open/Close), потом суммируем чёрные и белые раздельно, период в настройках с N-бара до N-бара, и показываем информацию

Период - 14

8 - Вверх (25п)

6 - Вниз (42п)

В идеале, на графике отобразить считаемый участок, и над ним информацию



Не понятно, откуда и куда ведётся отсчёт пунктов.

 
Vladimir Karputov:

Не понятно, откуда и куда ведётся отсчёт пунктов.

Вот так 

start = 10;
finish = 30;
for(int i=start; i<finish; i++)
Итого, расчёт по 20 барам, с 10 по 30
 
Vitaly Muzichenko:

Вот так 

Итого, расчёт по 20 барам, с 10 по 30

А про пункты здесь где?

 
Vladimir Karputov:

А про пункты здесь где?

А про пункты здесь)

За  N-баров считаем сколько было чёрных и белых тел(Open/Close), потом суммируем чёрные и белые раздельно, и получаем пункты