График в терминала после тестера стирает объекты. Как лечить?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Николай
69
Николай  

Добрый день.

 

Написал советника, он на графике рисует obj_trend в качестве понимания где был трейлинг-стоп на данный момент.
Вот скриншот:  http://clip2net.com/s/3H5uTiS показан фиолетовым цветом, скриншот из тестера стратегий.

 

После того, как тестер заканчивает, он открывает график в терминале, где этих объектов уже нет http://clip2net.com/s/3H5v6We

Очень не удобно, т.к. при смене настроек, не понятно как изменились линии.

 

Кто-нибудь знает, как можно оставить эти объекты при переносе данных с графика тестера, на график в терминале? 

e3dc4-clip-54kb.png
e3dc4-clip-54kb.png
  • clip2net.com
Clip2net — лучший способ быстро и легко сделать скриншот
Taras Slobodyanik
36245
Taras Slobodyanik  
убрать, временно, удаление объектов в онДеинит
Maxim Kuznetsov
12900
Maxim Kuznetsov  
Taras Slobodyanik:
убрать, временно, удаление объектов в онДеинит
if (IsTesting()) {
  DrawMyDetailedStatistics(); // при завершении тестирования - вывести всё возможную статистику
} else {
  DeleteMyObjects(); // когда в обычном случае - удалять всё нарисованные объекты
}

а если IsOptimization() создавать объекты(и управлять ими) вообще не надо - лишняя трата ресурсов и некоторые глюки (по крайней мере в 4-ке)
Николай
69
Николай  

void OnDeinit(const int reason) {

Дык у меня пустая функция... Кстати MT5 у меня, забыл указать

И ни где в скрипте нет удаления объектов, вообще. Полтергейст какой-то

Единственное, что рисуются у меня объекты в OnTimer() может поэтому они не перекидываются. Сейчас попробую поставить их в OnTick

Николай
69
Николай  

Те же яица, только в профиль....

 

void OnTimer() {

    if ( HavePostion  ) {

      string name="TrailStop"+(string)TimeCurrent();

      ObjectCreate(0,name,OBJ_TREND,0,0,0);

      ObjectSetInteger(0,name,OBJPROP_COLOR,C'255,140,255');

      //ObjectSetInteger(0,name,OBJPROP_BACK,true);

      ObjectSetInteger(0,name,OBJPROP_WIDTH,4);

      ObjectSetDouble(0,name,OBJPROP_PRICE,0,trailing_stop);

      ObjectSetInteger(0,name,OBJPROP_TIME,0,TimeCurrent());

      ObjectSetDouble(0,name,OBJPROP_PRICE,1,trailing_stop);

      ObjectSetInteger(0,name,OBJPROP_TIME,1,TimeCurrent()+120);

   }   

}

Я вот так рисую объекты. Может я какой параметр забыл добавить (типа не Удалять?) Уже пробовал с фона снять, все ровно удаляются

Vasiliy Pushkaryov
6956
Vasiliy Pushkaryov  
Николай:

После того, как тестер заканчивает, он открывает график в терминале, где этих объектов уже нет http://clip2net.com/s/3H5v6We

Очень не удобно, т.к. при смене настроек, не понятно как изменились линии.

 Кто-нибудь знает, как можно оставить эти объекты при переносе данных с графика тестера, на график в терминале? 

У меня то же самое. В визуализаторе текстовые значки есть, в терминале их не видно. Было бы хорошо, если бы было дублирование всей графики из визуализатора на чарты терминала. В МТ4 в этом плане удобнее, можно сравнивать как отображается графика из разных версий советника после нескольких прогонов, ну и соответственно что-то подправлять.

А линии у Вас в визуализаторе во время паузы или после прогона двигаются? У меня значки намертво к графику приклеиваются.
OBJPROP_SELECTABLE не помогает.
OBJPROP_SELECTED сделал вид, что выделил значок в квадратик. Но на попытки перенести его мышью никак не среагировал.

Может кто знает, где-то это настраивается?
Николай
69
Николай  

Судя по всему это Баг какой-то, но я нигде не нашел нужной инфы. Написал в суппорт, но там тоже пока тишита.

Ведь в действительности они открывают график в терминале с индикаторами и сделками, чтобы можно было делать анализ. А как его делать, если нужная информация пропадает.
Я как бы только начал изучать MT5 и mql, но уже задумался о смене платформы, пока не наделал слишком много...

Vladimir Karputov
Модератор
180734
Vladimir Karputov  

Справка: Особенности тестирования -> Графические объекты при тестировании:

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

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


Из этого следует, что если создаются графические объекты, значит нужно проводить визуальное тестирование. И по окончанию визуального тестирования в окне тестера останутся графические объекты.

Slava
Модератор
13445
Slava  
Объекты не передаются из тестера в терминал. Поэтому их и нет при открытии графика тестирования.

Попробуйте сделать вот что. Сохраните шаблон из визуализатора (главное меню - графики - шаблоны) и потом откройте этот шаблон в клиентском терминале
Vladimir Karputov
Модератор
180734
Vladimir Karputov  
Slawa:
Объекты не передаются из тестера в терминал. Поэтому их и нет при открытии графика тестирования.

Попробуйте сделать вот что. Сохраните шаблон из визуализатора (главное меню - графики - шаблоны) и потом откройте этот шаблон в клиентском терминале

Я пробовал - так объекты тоже не сохраняются в шаблоне.

2017.02.03 13:02:14.856 Terminal        MetaTrader 5 x64 build 1525 started (MetaQuotes Software Corp.)
2017.02.03 13:02:14.857 Terminal        Windows 10 Pro (x64 based PC), IE 11.00, UAC, Intel Core i3-3120M  @ 2.50GHz, RAM: 3598 / 8077 Mb, HDD: 336552 / 476372 Mb, GMT+02:00
2017.02.03 13:02:14.857 Terminal        C:\Users\barab\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075

Добавлено:

 

при этом шаблон сразу не доступен в терминале, нужно делать:

  • или правый клик на графике и "Загрузить шаблон"
  • или перезагрузить терминал и тогда обычным способом - правый клик на графике и выбрать шаблон.

Николай
69
Николай  
Тоже попробовал сохранять шаблон. Объектов нет
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий