Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Часто выкладываешь исходный код? Узнай, как это делать правильно!
pvm63
140
pvm63 2012.12.21 10:03 

Цифровой  индикатор тренда:   Trend_signal (1000, 35, 40, 50), где:

-  1000 – количество рассчитываемых бар истории,

- последние три цифры – периоды 3  мувингов.

 

Индикатор создан по подобию Аллигатора на базе 3 спец. мувингов из старшего таймфрейма.  Итоговым результатом является цифровой индикатор, принимающий 3 значения: +100, 0 -100.

 И в моменты изменения своих значений (например, из состояния +100 в 0) индикатор  пересчитывает заданное количество последних бар.  Если в таймфрейме m5 пройдет, например, 4 минуты с начала бара и индикатор изменит свое значение, то в текущем окне m1 индикатор может изменить эти 4 бара.

Таким образом,  индикатор может  перерисоваться  (((

 

Задача: фиксация изменений в моменты, когда индикатор изменяет свое состояние.

 

Фиксируем 4 варианта изменений в индикаторе:

1.       Signal_1      Красным крестиком  отмечаются все изменения индикатора.

Значения:

А) 130 – индикатор на  баре [1] равен 100. На баре  [0] переходит в положение 0 или  -100.

Б) -130 – индикатор на  баре [1] равен -100. На баре  [0] переходит в положение 0 или 100.

В) 10  – индикатор на  баре [1] равен 0. На баре  [0] переходит в положение 100.

Г) -10 – индикатор на  баре [1] равен 0. На баре  [0] переходит в положение -100.

 

2.       Signal_2      Зеленым кругом отмечаются изменения в текущем баре.

Значение:

А)  -20  – индикатор на  баре [1] равен  100. На баре  [0] переходит сначала в положение  -100, а затем в положение 0   или  100.

Б) 20 – индикатор на  баре [1] равен - 100. На баре  [0] переходит сначала в положение 100, а затем в положение 0   или  -100.

В) -20  – индикатор на  баре [1] равен  0. На баре  [0] переходит сначала в положение  -100, а затем в положение 0   или  100.

Г) 20  – индикатор на  баре [1] равен  0. На баре  [0] переходит сначала в положение  100, а затем в положение 0   или  -100.

 

3.       Signal_3      Синий прямоугольник отмечаются изменения предыдущих баров в течении текущего бара 

Значения:

А) 100 – индикатор на  баре [1] равен  100 на первом  тике нового бара, а затем в течение текущего бара  переходит  в положение  0 или в положение  -100.

Б) -100 – индикатор на  баре [1] равен  -100 на первом  тике нового бара, а затем в течение текущего бара  переходит  в положение  0 или в положение  100.

В) 0  – индикатор на  баре [1] равен  0 на первом  тике нового бара, а затем в течение текущего бара  переходит  в положение  -100 или в положение  100.

 

4.       Signal_4      MediumVioletRed   ромб   отмечаются изменения предыдущих баров  после перехода к новому  бару. 

Значения:

А) 80  –  индикатор на  баре [1] равен  100, а затем с приходом нового бара  индикатор переходит  в положение  0.

Б) -80 –  индикатор на  баре [1] равен  -100, а затем с приходом нового бара  индикатор переходит  в положение  0.

В) 40  –  индикатор на  баре [1] равен  0, а затем с приходом нового бара  индикатор переходит  в положение  100.

Г) -40  –  индикатор на  баре [1] равен  0, а затем с приходом нового бара  индикатор переходит  в положение  -100.

 

в лог-файле получим:

 13:12:53 - - - T_s   @19   расчет всей истории i = 999

13:12:54 - - - T_s   @19   

13:12:54 - - - T_s   @19   расчет всей истории i = 999

13:31:38 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:31:38   Flet

13:31:38 - - - T_s @28 Изменение предыдущих баров 2012.12.21  13:31:38   Flet

13:31:40 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:31:40   Buy 

13:32:01 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:32:01   Flet

13:32:20 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:32:20   Buy 

13:32:20 - - - T_s @23   Изменился бар 1 2012.12.21  13:32:20   Buy 

13:32:20 - - - T_s @28 Изменение предыдущих баров 2012.12.21  13:32:20   Buy 

13:32:36 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:32:36   Flet

13:32:38 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:32:38   Buy 

13:32:38 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:32:38   Flet

13:40:14 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:14   Sell

13:40:14 - - - T_s @25 Попытка изменения тренда 2012.12.21  13:40:14   Sell

13:40:21 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:21   Flet

13:40:21 - - - T_s @27  Возврат к значению предыдущего бара 2012.12.21  13:40:21   Flet

13:40:21 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:21   Sell

13:40:21 - - - T_s @26 Изменение текущего бара 2012.12.21  13:40:21   Sell

13:40:24 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:24   Flet

13:40:24 - - - T_s @27  Возврат к значению предыдущего бара 2012.12.21  13:40:24   Flet

13:40:35 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:35   Sell

13:40:35 - - - T_s @26 Изменение текущего бара 2012.12.21  13:40:35   Sell

13:40:49 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:40:49   Flet

13:40:49 - - - T_s @27  Возврат к значению предыдущего бара 2012.12.21  13:40:49   Flet

13:41:51 - - - T_s @22   Изменение в текущем баре   2012.12.21  13:41:51   Sell

13:41:51 - - - T_s @28 Изменение предыдущих баров 2012.12.21  13:41:51   Sell

13:43:10 - - - T_s    Лог файл открыт успешно, эксперт начал работу...

13:43:10 - - - T_s   @19   

13:43:10 - - - T_s   @19   расчет всей истории i = 999

13:43:13 - - -  T_s  @15   Закрываем лог файл, эксперт завершает работу...


Файлы:
pvm63
140
pvm63 2012.12.21 10:07  
pako
3312
pako 2012.12.21 12:29  
#include <log.mq4>           
#include <Comment_trend.mq4> 
//#include <Comment_bar.mq4> 

#include <Fun_New_Bar.mq4>  

где эти функции? 

 

 

pvm63
140
pvm63 2012.12.22 10:20  

1. Эти функции находятся в папке experts / include. Их надо откомпилировать в редакторе.См. прикрепленный файл.

2. Сигналы пишутся в лог-файл в  experts / files / logs / log_test (EURUSD, M1) / 2012.12.21.txt   На другую дату изменится и файл, уже с другой датой, например, 2012.12.24.txt. 

   Это в для тайм-фрейма М1.  Для других будет создаваться своя папка )))

Файлы:
include.zip 2 kb
TarasBY
1740
TarasBY 2012.12.22 10:39  
pvm63:

1. Эти функции находятся в папке experts / include. Их надо откомпилировать в редакторе.См. прикрепленный файл.

2. Сигналы пишутся в лог-файл в  experts / files / logs / log_test (EURUSD, M1) / 2012.12.21.txt   На другую дату изменится и файл, уже с другой датой, например, 2012.12.24.txt. 

   Это в для тайм-фрейма М1.  Для других будет создаваться своя папка )))

Trend на M1?! - прикольно!!!
pvm63
140
pvm63 2012.12.23 13:03  
TarasBY:
Trend на M1?! - прикольно!!!


Здесь показана только возможность работы индикатора. Сам индикатор берет данные со старшего тайм-фрейма.  На практике использую m5. И другие )))

 

Dmitry Shmatkov
483
Dmitry Shmatkov 2012.12.23 13:17  
Не запускается индикатор. Просто прямая линия без изменений и значков. Библиотеки на месте. Пишет - неправельная передача данных
TarasBY
1740
TarasBY 2012.12.23 17:27  
exolon:
Не запускается индикатор. Просто прямая линия без изменений и значков. Библиотеки на месте. Пишет - неправельная передача данных
А в логе больше ничего не нашли? Например, отсутствие индикатора "AA"?!
Dmitry Shmatkov
483
Dmitry Shmatkov 2012.12.23 18:12  
Да, есть такое дело, индикатора не хватает. И подозреваю, еще каких то элементов.. Жаль. Судя по приведенным примерам, вещь достойная, даже с перерисовкой. Хотелось бы по испытывать.
Sergey Novokhatskiy
4668
Sergey Novokhatskiy 2012.12.24 18:21  
exolon:
Да, есть такое дело, индикатора не хватает. И подозреваю, еще каких то элементов.. Жаль. Судя по приведенным примерам, вещь достойная, даже с перерисовкой. Хотелось бы по испытывать.

А чего жалко то... всё ясно и так стоит написать в личку автору данной ветки и договориться за определённую сумму $ и будет вам счастье, я думаю для этого вся эта тема и затеяна... ;0))
pvm63
140
pvm63 2012.12.24 22:30  

Данный индикатор показан как пример для вас! Исходный индикатор  АА не выдается, даже за деньги )) 

Создайте  сами!  Самый простой вариант:  если одна линия превышает другую линию,  тогда +100, если наоборот, тогда -100, иначе = 0.

Получится цифровой индикатор тренда !!!  

Или так: 

//--------------      вариант Аллигатора       ----------------------------  @26
 while(i1>=0)  
   { // @26  
      if(Line_A[i1]>0 && Line_B[i1]>0 &&  Line_C[i1]>0)   Line_0[i1] = 100; 
 else if(Line_A[i1]<0 && Line_B[i1]<0 &&  Line_C[i1]<0)   Line_0[i1] = - 100; 
 else      Line_0[i1] = 0;
 i1--;
   } // @26  //   УСПЕХОВ ВСЕМ !!!!!!!!!!!!!!
/ /12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий