[АРХИВ!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 4. - страница 65
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Roll, спасибо за наводку, вот сделал функцию вывода комментария в левый нижний угол графика, если кому надо:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Всем привет!
Подскажите пожалуйста, можно ли вывод текста на график, типа того:
вывести как отдельную функцию, чтобы можно было её вызвать как-то так:
Посмотрите эту ф-цию:
Ищет на графике окно пустого индикатора Win_Inform и, если есть, выводит в него сообщения. Если нету, выводит принтом.
Пример вызова:
Использует массив string Mass_Name_Message[10], объявленный на глобальном уровне. Это массив для хранения имён объектов. Размер можете менять под свои нужды. Переменная Prefix хранит имя эксперта, это нужно чтобы эксперт мог идентифицировать свои объекты для правильной работы с графическими объектами. Тоже объявлена на глобальном уровне и имеет тип string. Разберётесь наверное...
Индюк в прицепе
Столкнулся с небольшой проблемой с моей функцией:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Никак, максимальная длинна строки в лейбле = 62 символа.
форматируйте текст в несколько строк (лейблов), или пишите через Comment() - там 255 символов
Ниже сам код.
Если есть более простые варианты решения проблемы, буду рад комментариям.
Столкнулся с небольшой проблемой с моей функцией:
void mycomment(color c,string mytext)
{
string name="mycomment";
if(ObjectFind(name)<0) ObjectCreate(name,OBJ_LABEL,0,0,0);
ObjectSet("mycomment", OBJPROP_CORNER, 2);
ObjectSet(name,OBJPROP_XDISTANCE,5);
ObjectSet(name,OBJPROP_YDISTANCE,7);
ObjectSetText(name,mytext,12,"",c);
}
Она длинное сообщение обрезает, например, если пытаться прокомментировать строку "Проверьте настройки вашего советника, чтобы открыть окно настроек нажмите F7."
она оставляет только это: "Проверьте настройки вашего советника, чтобы открыть окно настро" и дальше обрезано, хотя текст даже до половины окна не дошел.
Подскажите, пожалуйста, как-нибудь можно убрать это ограничение?
Как закачать эту дыру?
Как закачать историю без дыр?
И можно ли как-то проверять есть ли дыры в истории?
Попробуйте мою функцию. Она выше вашего сообщения на этой странице. Разбивайте строку на несколько так, чтобы каждая была не более 64 символов. Моя ф-ция эти разбитые строки выводит одну над другой. Далее, при выводе следующего сообщения, она старые окрашивает серым и поднимает выше, а новое сообщение опять выводит в заданном при вызове ф-ции цвете.