Новая версия платформы MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале - страница 15

 
Andrei Iakovlev #:

Так было сделано специально только для OBJ_BUTTON?

Видимо, недоглядели разработчики.

Другие скрытые объекты сохраняются.

Похоже, это баг.

 
fxsaber #:
Как на EURCHF попали autotrade-объекты
На график EURCHF как попали эти стрелки? Может всё таки есть возможность отделить объекты сделок, объекты календаря и т.п. от скрытых объектов, созданными пользовательскими программами, и не называть их всех "мусором"? 
 
fxsaber #:

Можете попробовать в названии всех своих объектов написать слово autotrade. Предполагаю, что такие hidden-объекты сохранятся.

Для OBJ_BUTTON не сработала гипотеза. Занятно, что в tpl прописывается количество всех (без исключений) объектов с сохраняемого графика.

<window>
height=83.048220
objects=1
 
Andrei Iakovlev #:

При загрузке шаблона объекты будут не скрыты, а хотелось бы, чтобы они оставались скрытыми.

Решение.

#define HIDDEN_NAME(A) A + "\nhidden=1"

void OnStart()
{
  ObjectCreate(0, HIDDEN_NAME("HelloWorld!"), OBJ_BUTTON, 0, 0, 0);
  ObjectSetInteger(0, HIDDEN_NAME("HelloWorld!"), OBJPROP_HIDDEN, false);
}

При загрузке шаблона объект будет скрыт. Т.е. отдельный загрузчик tpl не нужен.

 
Забавно получается. После найденного решения обсуждение впало в ступор.
А где спасибо?
Словно решение никому не нужно было, а нужен был лишь повод повозмущаться.
Истинно говорят:
Кто хочет, тот ищет возможности, кто не хочет — ищет причины
 
fxsaber #:

Решение.

При загрузке шаблона объект будет скрыт. Т.е. отдельный загрузчик tpl не нужен.

Интересно. Как Вы догадались до такого решения? Где-то что-то подобное уже описывается?

 
Nikolai Semko #:
Забавно получается. После найденного решения обсуждение впало в ступор.
А где спасибо?
Словно решение никому не нужно было, а нужен был лишь повод повозмущаться.
Истинно говорят:
Кто хочет, тот ищет возможности, кто не хочет — ищет причины

я лично немного подвис увидев решение, обдумываю. хотя я и не был инициатором дискуссии - Сабереу спасибо!

нашли решение - замечательно, не было б дискуссии - не было бы решения, потому что оно очень не очевидно. это скорее хак, противоречащий задумке разработчиков.
 
Andrey Dik #:

я лично немного подвис увидев решение

Все объекты, которые скрыты, делаем не скрытыми, далее добавляем к их имени

"\nhidden=1"

и сохраняем шаблон.

 

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

Новая версия платформы MetaTrader 5 build 4000: Улучшения в торговом отчете и веб-терминале

Andrei Iakovlev, 2023.10.12 13:44

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

1. скрипт добавит объект OBJ_BUTTON на график со свойством OBJPROP_HIDDEN = true

2. теперь если сохранить и загрузить шаблон графика, объекта не будет

3. если повторить все действия со свойством OBJPROP_HIDDEN = false, объект будет присутствовать на графике после загрузки шаблона


Что-то я не понимаю уже о чём спор?

Вот кнопка со свойством 

ObjectSetInteger(chart_ID, "M1 Button 25935", OBJPROP_HIDDEN, true);

и вот шаблон сохранённый с этой кнопкой

Что не сохраняется?

 
Alexey Viktorov #:
Что не сохраняется?

OBJ_BUTTON не сохраняется в шаблоне графика, если OBJPROP_HIDDEN = 1.