- 2023.11.12
- www.mql5.com
какие заклинания надо сказать чарту, чтобы масштаб цен и такая линия визуально стала 45 градусов ?
Из цены и времени посредством ChartTimePriceToXY координаты получаю,
а дальше что-то подустал :-)
Может у кого есть готовая функция или удачная вырезка для Copy-Paste ?
получаем коэффициент из найденых точек x1,x2,y1,y2:
double k = fabs(double(x1-x2)/(y1-y2));
который в данном случае больше 1
после меняем MaxPrice и MinPrice чарта:
double center_price =CurrentMaxPrice - ( CurrentMaxPrice-CurrentMinPrice)*((y1+y2)/2.0)/HeightChatInPixels; double newMaxPrice =center_price+(CurrentMaxPrice-center_price)*k; double newMinPrice =center_price-(center_price-CurrentMinPrice)*k;
надеюсь, ничего не напутал.
но это только для 45 градусов. Для других углов нужно будет вводить тригонометрические функции
получаем коэффициент из найденых точек x1,x2,y1,y2:
который в данном случае больше 1
после меняем MaxPrice и MinPrice чарта:
надеюсь, ничего не напутал.
но это только для 45 градусов. Для других углов нужно будет вводить тригонометрические функции
возможно что-то напутал..потому как чё-то неработает :-)
вот это вот что значило :
CurrentMaxPrice - ( CurrentMaxPrice-CurrentMinPrice)*((y1+y2)/2.0)/HeightChatInPixels;
??
насколько понимаю - имелась в виду цена, которая по центру..(которая при изменении масштаба некуда не сдвинется). Неисправленный вариант с
(CurrentMaxPrice-CurrentMinPrice)/2.0
кажется более логичным, хотя тоже не работает :-)
Это тоже не работает? Нужно попробовать передать туда скорость линии (на бар)
bool ChartPointsPerBarSet(const double value,const long chart_ID=0) { //--- сбросим значение ошибки ResetLastError(); //--- установим значение свойства if(!ChartSetDouble(chart_ID,CHART_POINTS_PER_BAR,value)) { //--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError()); return(false); } //--- успешное выполнение return(true); }
Это не тоже не работает? Нужно попробовать передать туда скорость линии (на бар)
тоже странно себя ведёт.. надо ещё видимо как-то пункты (_Points) переводить в пиксели и дюймы, чтобы визуально стало 45 градусов
или надо как-то оба предложения объединять :-)
---
это для всяких графо-построений на чартах: есть опорные линии которые на любом тайм-фрейме и разрешении должны визуально получаться диагональю 45.
например так.
Индикатор находит максимум и минимум и строит между ними линию с наклоном 45 градусов, накладывая новый чарт на канвасе с измененным масштабом
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
какие заклинания надо сказать чарту, чтобы масштаб цен и такая линия визуально стала 45 градусов ?
Из цены и времени посредством ChartTimePriceToXY координаты получаю,
а дальше что-то подустал :-)
Может у кого есть готовая функция или удачная вырезка для Copy-Paste ?