Какова стоимость одного пикселя?

 
Каково значение одного пикселя на оси Y текущего графика?

Мне нужно это значение, чтобы я мог рассчитать значение 600 пикселей.

Это потому, что мне нужен уровень тейк-профита в 600 пикселей, а не 600 пунктов или 600 пипсов.

Мне нужен единый уровень тейк-профита на всех графиках, независимо от их значений Point или Pip.

Пришло время торговать в терминах пикселей. Заранее спасибо.
 
macpee:
Каково значение одного пикселя на оси Y текущего графика? Заранее благодарю.

Значение? У пикселя нет "значения".

Что вы имеете в виду?

 
macpee:
Каково значение одного пикселя на оси Y текущего графика? Заранее спасибо.
Я думаю, что это даже не на форексе
Это в фотошопе ;)

Возможно, вы отправляете на другой сайт
 
Alain Verleyen:

Значение? У пикселя нет "значения".

Что вы имеете в виду?

Если пиксель не имеет значения, как тогда можно нарисовать линию, используя оси x и y (конечно, эти переменные принимают значения в пикселях) или создать кнопки и т.д., которые используют координаты?
 
double max_price  = ChartGetDouble(0,CHART_PRICE_MAX),
       min_price  = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
 
honest_knave:
double max_price  = ChartGetDouble(0,CHART_PRICE_MAX),
       min_price  = ChartGetDouble(0,CHART_PRICE_MIN);
long chart_height = ChartGetInteger(0,CHART_HEIGHT_IN_PIXELS);
printf("1 pixel = %f",(max_price-min_price)/chart_height);
Большое спасибо. Я думаю, что это лучший ответ, который я должен попытаться использовать.
 
macpee:
Если пиксель не имеет значения, как тогда можно нарисовать линию, используя оси x и y (конечно, эти переменные принимают значения в пикселях) или создать кнопки и т.д., которые используют координаты?

См. https://www. mql5.com/en/docs/chart_operations/chartxytotimeprice

Documentation on MQL5: Chart Operations / ChartXYToTimePrice
Documentation on MQL5: Chart Operations / ChartXYToTimePrice
  • www.mql5.com
Chart Operations / ChartXYToTimePrice - Reference on algorithmic/automated trading language for MetaTrader 5
 
macpee:
Если пиксель не имеет значения, как тогда можно нарисовать линию, используя оси x и y (конечно, эти переменные принимают значения в пикселях) или создать кнопки и т.д., которые используют координаты?

Вероятно, стоит упомянуть, что существует 2 различных способа рисования объектов.

  • Используя время / цену... такие как OBJ_TREND и OBJ_TEXT.
    • Эти объекты будут перемещаться по экрану при прокрутке графика влево/вправо/вверх/вниз.
  • Используя пиксели X/Y... такие как OBJ_BUTTON и OBJ_LABEL
    • Эти объекты не будут перемещаться по экрану, даже если график прокручивается.

Иногда их необходимо смешивать, например, вы хотите нарисовать объект относительно времени по оси X, а пиксели - по оси Y.

В таких случаях нужно использовать ChartXYToTimePrice() или ChartTimePriceToXY(), как предложил Марко.

 
Вот это да! Я думаю, это будет очень полезно. Большое спасибо. Я объединю его со следующей обратной функцией:

bool  ChartTimePriceToXY(
   long           chart_id,     // Chart ID
   int            sub_window,   // The number of the subwindow
   datetime       time,         // Time on the chart
   double         price,        // Price on the chart
   int&           x,            // The X coordinate for the time on the chart
   int&           y             // The Y coordinates for the price on the chart
   );
 
Попытка рассчитать TP, SL и т.д. с помощью пикселей, скорее всего, будет ненадежной. Увеличение или уменьшение масштаба повлияет на расчеты. Как насчет экрана высокого разрешения с более чем стандартным DPI?

Может быть очень большой бар в крайней левой части экрана, когда этот бар выходит за пределы видимой области, то все рассчитанные значения будут меняться, так как график подстраивается под общий диапазон.

А как насчет того, когда у вас открыты окна терминала и/или тестера стратегий?

При использовании пикселей не будет ничего однородного.
 
macpee:
Ух ты! Я думаю, это будет очень полезно. Большое спасибо. Я буду комбинировать его со следующей обратной функцией:

bool  ChartTimePriceToXY(
   long           chart_id,     // Chart ID
   int            sub_window,   // The number of the subwindow
   datetime       time,         // Time on the chart
   double         price,        // Price on the chart
   int&           x,            // The X coordinate for the time on the chart
   int&           y             // The Y coordinates for the price on the chart
   );
Согласно этой логике, какова цена в координатах пикселя 0,0? И почему она не 0? И почему она меняется при прокрутке данных в терминале? И почему она меняется при изменении масштаба отображаемого графика или при изменении масштаба графика? И почему он меняется на тех же пикселях, когда формируется новый бар? И почему на вашем терминале и на моем терминале координаты пикселей отличаются? Используйте цены там, где они доступны, если вы не планируете торговать пикселями
Причина обращения: