как можно получить значения цвета пикселя с графика в МТ4?
Конкретный пиксель - только через WinAPI. Функция GetPixel.
Но, возможно, требуется узнать цвет фона графика. Тогда достаточно использовать свойство графика CHART_COLOR_BACKGROUND. Аналогично действуем, если требуется узнать цвет осей, сетки и шкалы - CHART_COLOR_FOREGROUND. Цвет сетки - CHART_COLOR_GRID и т. д.
- msdn.microsoft.com
пробую получить цвет пикселя из окна терминала
для этого прежде всего получаю дискриптор окна
с помощью функции
wh=WindowHandle("USDCHF",PERIOD_H1);
значение выдает
далее пишу вызов к функции
color cl=GetPixel(wh,low_x,low_y);
саму функцию импортирую вот таким кодом
#import "gdi32.dll" int GetPixel(int x1,int x,int y); #import
функция обычно выдает 255;255;255 что не есть правильно.
в чем может быть проблема?
пробую получить цвет пикселя из окна терминала
для этого прежде всего получаю дискриптор окна
с помощью функции
значение выдает
далее пишу вызов к функции
саму функцию импортирую вот таким кодом
функция обычно выдает 255;255;255 что не есть правильно.
в чем может быть проблема?
А не проще получить цвет графика? https://docs.mql4.com/ru/chart_operations/chartsetinteger
CHART_COLOR_BACKGROUND – цвет фона графика.
ps: чуть позже увидел что уже говорилось об этом... Ну, да ладно...
- docs.mql4.com
элементы, чаще всего, это объекты, то есть вам нужно знать имя (или префикс) объекта, и по нему находить/определять какого цвета/начертания объект...
дело в том что у меня индикатор который написан при использовании сторонних dll и в нем рассчитывается куча данных. на выходе видно только стрелочки. использовать iCustom не получается и за за низкой производительности. и не корректной работы iCustom для данного задачи. поэтому нужна функция определения цвета чтоб можно было прокрутить график и скачать данные в csv а дальше уже на истории с данными из CVS строить стратегии.
стрелочки в буфере индикатора.
Если индикатор куплен - обратитесь к разработчику. Если из интернета - выложите, найдем решение. Или хотя бы скриншот параметров индикатора и запись используемой функции iCustom. Как вы определяете номер требуемого пикселя на экране? Правильно ли это делаете? Отсчет пикселей от верха монитора или окна
При вызове функции iCustom указывайте лишь Инструмент, ТаймФрейм, Имя Индикатора ---Далее пропускаем--- Номер буфера, Номер бара.
iCustom(NULL,0,"ИмяИндикатора",НомерБуфера,НомерБара);Остальные параметры будут взяты по умолчанию со вкладки Параметры
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования