Индикатор от индикатора - страница 2

 
Mihail Marchukajtes:

Всё верно, но проблема в том что я беру не сам АД, а его разницу между 10 баров. И поэтому становится совсем не важно с какой даты идёт расчёт, разница должна быть одинаковой при любом старте расчётов. Именно поэтому графически всё одинаково, а единицы исчисления разные. НО разница между 10 барами должна быть одинаково при любом старте. А она разная. Это я уже так показал в примере, азял просто значение АД.....


Разница разная даже между соседними барами, картинку делать не буду, сам проверишь если захочешь (24277 и 24274 - это показания двух соседних баров в тестере, 72525 и 72516 эти же бары в терминале), а уж за 10 баров тем более

 
Mihail Marchukajtes:

Всё верно, но проблема в том что я беру не сам АД, а его разницу между 10 баров. И поэтому становится совсем не важно с какой даты идёт расчёт, разница должна быть одинаковой при любом старте расчётов. Именно поэтому графически всё одинаково, а единицы исчисления разные. НО разница между 10 барами должна быть одинаково при любом старте. А она разная. Это я уже так показал в примере, азял просто значение АД.....

Попробуй заменить AD на MFI (значения от 0 до 100 на любом участке истории, один индикатор объема на другой).

 

Ну хорошо. Попробую ограничить расчёт АД от конкретной даты. Посмотрим что из этого выйдет...

 
Rafil Nurmukhametov:

Разница разная даже между соседними барами, картинку делать не буду, сам проверишь если захочешь (24277 и 24274 - это показания двух соседних баров в тестере, 72525 и 72516 эти же бары в терминале), а уж за 10 баров тем более


Ерунда полная. Ограничил расчёт индикатора с конкретного дня, причём взял историю за 2 месяца назад в итоге тестер считает криво, либо терминал. Данные не совпадают...

 
Mihail Marchukajtes:

Ерунда полная. Ограничил расчёт индикатора с конкретного дня, причём взял историю за 2 месяца назад в итоге тестер считает криво, либо терминал. Данные не совпадают...


Воспользуйтесь советом:

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Индикатор от индикатора

Vladimir Karputov, 2017.11.30 06:16

Не нужно Вам делать такие индикаторы. Делайте простые: один индикатор записывает в буфер цену high, второй индикатор его считывает. И только потом сможете увеличивать сложность: задавать символ на котором будут работать индикаторы, добавлять формулы ... В общем Вам необходимо пройти стандартный путь посвящения. А пока от Вас только шум и голословные выкрики при полном непонимании работы с индикаторами.


Иначе толку не будет.

 
Vladimir Karputov:

Воспользуйтесь советом:


Иначе толку не будет.


А просто подсказать в чём проблема. Язык не поворачивается или что??? Мне как бы простенькие индикаторы ни к чему. Мне бы АД взять с другого символа по нормальной схеме и на том спасибо.....

 
Mihail Marchukajtes:

А просто подсказать в чём проблема. Язык не поворачивается или что??? Мне как бы простенькие индикаторы ни к чему. Мне бы АД взять с другого символа по нормальной схеме и на том спасибо.....


Хорошо, значит это будет первое усложнение задачи: создать индикатор, который опрашивает СТАНДАРТНЫЙ iAD

 
Vladimir Karputov:

Хорошо, значит это будет первое усложнение задачи: создать индикатор, который опрашивает СТАНДАРТНЫЙ iAD


Детский сад какойто... Ну ладно.... давай поиграем....

Файлы:
Train.mq5  7 kb
 
Mihail Marchukajtes:

Детский сад какойто... Ну ладно.... давай поиграем....


В справке есть пример. В нём проверки: количество просчитанных баров в вызываемом индикаторе, кол-во копируемых данных. 

Что можно изменить в примере из справки: удалить блок

//--- create handle of the indicator 
   if(type==Call_iAD) 
      handle=iAD(name,period,volumes); 
   else 
     { 
      //--- fill the structure with parameters of the indicator 
      MqlParam pars[1]; 
      pars[0].type=TYPE_INT; 
      pars[0].integer_value=volumes; 
      handle=IndicatorCreate(name,period,IND_AD,1,pars); 
     } 

и всё связанное с

//+------------------------------------------------------------------+ 
//| Enumeration of the methods of handle creation                    | 
//+------------------------------------------------------------------+ 
enum Creation 
  { 
   Call_iAD,               // use iAD 
   Call_IndicatorCreate    // use IndicatorCreate 
  }; 

оставить только

handle=iAD(name,period,volumes); 


И не вставляйте больше ничего лишнего.


После этого можно запускать в тестере и сравнивать значения.

 
Vladimir Karputov:

В справке есть пример. В нём проверки: количество просчитанных баров в вызываемом индикаторе, кол-во копируемых данных. 

Что можно изменить в примере из справки: удалить блок

и всё связанное с

оставить только


И не вставляйте больше ничего лишнего.


После этого можно запускать в тестере и сравнивать значения.


Хорошо, попробу разобратся чуть позже...