Скачать MetaTrader 5

Пишу эксперта, нужна помощь в визуализации...

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Matvey Alekseev
525
Matvey Alekseev 2013.06.02 00:23 
Всем привет!
Вот взялся за написание эксперта, у меня есть свой индекс (это слегка изменённый Ask при каждом тике ) и буферный массив для него indexMassBuffer, каждый тик я наращиваю массив новым значением индекса. Не подскажите, как мне имея такой массив данных отобразить его на общем графике? Не могу никак логику понять, это очень схоже с мувингом... но как в мувинг тогда запихнуть мои расчётные данные (y компонента)? И как к этим данным время привязать (x компоненту)? У меня вся обработка идёт на OnTick()

ps: только стал изучать mql5, тыканье носом в нужные документы приветствуется.
Maxim Bondarchuk
9962
Maxim Bondarchuk 2013.06.02 19:25  

Судя по тому что Вы описали - Вам не советник, а индикатор нужно было создавать. В индикаторе 1 буффер, который и выводит на график цену.

Matvey Alekseev
525
Matvey Alekseev 2013.06.02 20:55  

Спасибо, что-то стало получаться.... создал пользовательский индикатор, вызываю его из эксперта... теперь нужна вертикальная линяя по текущему времени, как заставить её перерисовываться???? Объявил её в эксперте: 

int OnInit()
{
   ObjectCreate(0,"v_level",OBJ_VLINE,0,TimeCurrent(),0);


На тике делаю:

 ObjectSetInteger(0,"v_line",OBJPROP_TIME,TimeCurrent());

В итоге она рисуется один раз и не перемещается вместе со временем... что не так делаю? 

Переход на новые рельсы: пользовательские индикаторы в MQL5
Переход на новые рельсы: пользовательские индикаторы в MQL5
  • 2009.11.23
  • Андрей
  • www.mql5.com
Я не буду перечислять все новые возможности и особенности нового терминала и языка. Их действительно много, и некоторые новинки вполне достойны освещения в отдельной статье. Вы не увидите здесь кода, написанного по принципам объектно-ориентированного программирования — это слишком серьезная тема для того, чтобы просто быть упомянутой в контексте как дополнительная вкусность для кодописателей. В этой статье остановимся подробней на индикаторах, их строении, отображении, видах, а также особенностях их написания по сравнению с MQL4.
Olegs Kucerenko
12061
Olegs Kucerenko 2013.06.02 21:04  
Как минимум указывать тоже самое имя объекта..
Matvey Alekseev
525
Matvey Alekseev 2013.06.02 21:12  
Karlson:
Как минимум указывать тоже самое имя объекта..
Да, мой косяк, спасибо, что указали.... а то в чужом глазе соринку замечу, а у себя бревна не вижу...
Matvey Alekseev
525
Matvey Alekseev 2013.06.02 23:58  

Рано обрадовался.... Расскажите, пожалуйста, как такое может быть? При тестировании эксперта график кривой индикатора в визуализации отображается, но при реальной торговле его нет???

 Код эксперта:

 

int zIndicator = 0;            // Объявляем переменную для хранения хендла быстрой MA

//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

  {

//---

   zIndicator = iCustom(NULL,0,"zont\\zIndicator",

                          PERIOD_CURRENT,          // Период

                          0,          // Смещение

                          MODE_SMA,   // Метод рассчета

                          PRICE_CLOSE // считаем по ценам закрытия

                 );

    

//---

   return(INIT_SUCCEEDED);

  } 

 Индикатор стандартный, пользовательский.


Slava
Модератор
6913
Slava 2013.06.03 07:08  

Есть нюанс.

При визуализации тестирования созданный/вызванный в эксперте индикатор автоматически присоединяется к графику визуализации. При обычной работе эксперта такого не происходит.

Вам нужно либо руками этот индикатор положить на график, либо воспользоваться функцией ChartIndicatorAdd

Matvey Alekseev
525
Matvey Alekseev 2013.06.03 09:43  
stringo:

Есть нюанс.

При визуализации тестирования созданный/вызванный в эксперте индикатор автоматически присоединяется к графику визуализации. При обычной работе эксперта такого не происходит.

Вам нужно либо руками этот индикатор положить на график, либо воспользоваться функцией ChartIndicatorAdd

Да, нюансов тут хватает. Спасибо, индикатор заработал! 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий