Как сделать чтобы добавленные из советника граф. объекты были сразу видны на графике?

 
Начал изучать MQL4 и возникла проблема с отрисовкой элементов которые добавленны в советнике.
я написал простую функцию для этого и вызываю её в функции start()
void DrawNumber() { string object_name = Bars - 1; int ret = ObjectFind(object_name); PrintLastError(); if(ret != -1) return (0); ObjectCreate(object_name, OBJ_TEXT, 0, Time[1], High[1] + 5*Point); PrintLastError(); string number = Bars - 1; ObjectSetText(object_name, number, 7, "Arial", RGB(255,0,0)); ObjectSet(object_name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1); PrintLastError(); } void PrintLastError() { int error = GetLastError(); if(error != 0) { Print(ErrorDescription(error)); } }

Затем запускаю советник для евродоллора к примеру для H1
Открываю окно графика нажав на кнопку "Открыть график", но график пустой только бары.
Смотрю в диалоге "Список объектов" есть все мои объекты и я могу сделать их видимыми нажав на кнопку "Показать".
Это конечно хорошо, но я хочу чтобы объекты СРАЗУ были видны как тольо я их добавил в советнике и не лезть в диалог "Список объектов".
Есть ли такая возможность? Может быть надо включить какую-то опцию для этого в метатрейдере или в самом коде советника?
Функция RedrawObjects() не помогает сделать сразу их видимыми.

Заранее спасибо за советы.
 
Функция RedrawObjects() не помогает сделать сразу их видимыми.
Наверное, имелось ввиду ObjectsRedraw()?
Странно, что не помогает. В моих программах это успешно работает.
 
SKif:
Функция RedrawObjects() не помогает сделать сразу их видимыми.
Наверное, имелось ввиду ObjectsRedraw()?
Странно, что не помогает. В моих программах это успешно работает.
Не знаю ObjectsRedraw не помогает всем моим объектам перерисоваться.
Я запускаю советника и открываю график и он пуст нет моих объектов но иду в диалог
"все объекты" и уже там выделяю их и делаю видимыми. Что за проблема не пойму.
А ты бы не мог прислать фрагмент своего кода где ты добавляешь графические компоненты
и заставляешь их быть видимыми сразу?
 
У меня там достаточно сложно всё. Вернее там всего много. https://www.mql4.com/ru/forum/2773/
А ObjectsRedraw() используется как положено один раз в файле AG_Work_scr. mq4

Тут одно из двух:
- либо в твоём коде управление просто не проходит через этот оператор,
- либо в МТ где-то есть галочка, кот. надо просто включить.

Но то, что сама по себе функция ObjectsRedraw() работает, - точно.
 
Кнопка "Показать" всего лишь перематывает график на ту дату/время, которая указана в первой координате объекта. Точно так же после открытия графика Вы можете вручную проскроллится до ближайшего объекта.
Возникает законный вопрос, почему объекты не рисуются в конце графика? Потому что тестер работает на данных из FXT-файла. Например, Вы его получили месяц назад. Тестер будет работать вплоть до даты 8 февраля.
Нажимайте иногда галочку "Пересчитать"
 
Потому что тестер работает на данных из FXT-файла
Насколько я понял речь идёт не о тестировании.
 
SKif:
Потому что тестер работает на данных из FXT-файла
Насколько я понял речь идёт не о тестировании.
===
Открываю окно графика нажав на кнопку "Открыть график", но график пустой только бары.
===
 
stringo,
да, я согласен. Просто сразу не обратил внимание.
 
Stringo, спасибо за ответы.
Я здесь писал стратегию свою и в ней добавлял объекты и они видны сразу. Этот пример, который запостил сдесь в начале темы, я попробовал вновь и он тоже заработал.
Не понимаю, в чём была проблема, но возможно из-за
ObjectSet(object_name, OBJPROP_TIMEFRAMES, OBJ_PERIOD_H1);
Хотя кажется я пробовал запускать на часовиках и небыли видны сразу объекты. Уже не помню. Но сейчас нет такой проблемы и слава богу.
Кстати а что по умолчанию первый бар начинает приходить только начиная с сотого?
То есть первый вызов функции "старт" начиная с сотого бара? А можно ли это изменить скажем чтобы первый приходил двадцатый?
Воообще мт4 мне понравился. Достаточно прост в освоении. Посмотрим дальше как пойдёт.
 
Кстати а что по умолчанию первый бар начинает приходить только начиная с сотого?
Тестирование начинается с 100 бара специально. Во избежание глупейших ошибок работы на пустой истории и неправильных результатов индикаторов.
Это правило изменено не будет.
 
Renat:
Кстати а что по умолчанию первый бар начинает приходить только начиная с сотого?
Тестирование начинается с 100 бара специально. Во избежание глупейших ошибок работы на пустой истории и неправильных результатов индикаторов.
Это правило изменено не будет.
Ну это нормальное правило, я думаю. Просто, в некоторых экспертах, которые в сети нашёл, идет проверка типа
if (Bars < 25) return (0)

Вот и подумал мож я чего не знаю ещё и можно где то выбрать опцию, чтобы начинать с заданного бара.

А нельзя ли в МТ4 добавить опцию, которая позволяла бы выбрать тип баров по умолчанию? К примеру, я хочу при любом новом открытии
чарта для инструмента, у меня было представление ввиде японских свечей сразу.