Всем доброго времени суток, задавал уже этот вопрос, но так и не пришел ни к какому решению. Хочу используя стандартную библиотеку Canvas рисовать линии от цены открытия ордера до текущей цены, но не выходит. Подскажите пожалуйста в чем ошибка)
- Рисование прерывистых линий.
- Максимум за период
- [АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5.
Anton Novokhatskii:
Всем доброго времени суток, задавал уже этот вопрос, но так и не пришел ни к какому решению. Хочу используя стандартную библиотеку Canvas рисовать линии от цены открытия ордера до текущей цены, но не выходит. Подскажите пожалуйста в чем ошибка)
Всем доброго времени суток, задавал уже этот вопрос, но так и не пришел ни к какому решению. Хочу используя стандартную библиотеку Canvas рисовать линии от цены открытия ордера до текущей цены, но не выходит. Подскажите пожалуйста в чем ошибка)
Еще пяток веток надо открыть, чтоб уж наверняка :))
ну дал же ответ. Причем с запасом, с ответами на следующие вопросы, которые возникнут.
Вместо того чтобы множить ветки, просто вник бы в суть кода, который предоставил.
И еще на будущее - если просишь найти ошибку в коде, надо представлять весь код, чтобы люди не гадали.
#include <Canvas\iCanvas_CB.mqh> //https://www.mql5.com/ru/code/22164 #include <Trade\PositionInfo.mqh> #include <Trade\SymbolInfo.mqh> CPositionInfo m_position; CSymbolInfo m_symbol; //+------------------------------------------------------------------+ int OnInit() { m_symbol.Name(_Symbol); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ void OnTick() { m_symbol.RefreshRates(); Lines(); } //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id == CHARTEVENT_CHART_CHANGE) Lines(); } //+------------------------------------------------------------------+ void Lines() { ENUM_LINE_STYLE lineStyle=STYLE_DOT; Canvas.Erase(0x00FFFFFF); for(int j=PositionsTotal()-1; j>=0; j--) { if(m_position.SelectByIndex(j)) { ulong tick = m_position.Ticket(); if(m_position.PositionType() == POSITION_TYPE_BUY) { Canvas.LineThick((int)_X(m_position.Time()),(int)_Y(m_position.PriceOpen()),(int)_X(0.0),(int)_Y(m_symbol.Ask()),0xFF0000FF,1,lineStyle,LINE_END_ROUND); } if(m_position.PositionType() == POSITION_TYPE_SELL) { Canvas.LineThick((int)_X(m_position.Time()),(int)_Y(m_position.PriceOpen()),(int)_X(0.0),(int)_Y(m_symbol.Ask()),0xFFFF0000,1,lineStyle,LINE_END_ROUND); } } } Canvas.Update(); }iCanvas - это просто наследник CCanvas.
Спасибо большое за ответ) Просто форумом тоже особо раньше не пользовался) увидел что вопросы тут по темам делятся, решил вопрос создать в теме советников)) Вдруг и тут идеи еще какие то будут) Спасибо за понимание)
Anton Novokhatskii:
Всем доброго времени суток, задавал уже этот вопрос, но так и не пришел ни к какому решению. Хочу используя стандартную библиотеку Canvas рисовать линии от цены открытия ордера до текущей цены, но не выходит. Подскажите пожалуйста в чем ошибка)
Всем доброго времени суток, задавал уже этот вопрос, но так и не пришел ни к какому решению. Хочу используя стандартную библиотеку Canvas рисовать линии от цены открытия ордера до текущей цены, но не выходит. Подскажите пожалуйста в чем ошибка)
void Line(int x1,int y1,int x2,int y2,const uint clr); // Рисует произвольную линию согласно заданным координатам и цвету
Параметры:
- x1 - координата первой точки по оси X
- y1 - координата первой точки по оси Y
- x2 - координата второй точки по оси X
- y2 - координата второй точки по оси Y
- clr - цвет линии
Если указывать конкретно на ошибку, то посмотрите, что нужно подавать в функцию рисования линии и посмотрите, что подаете вы.
Для изучения Канвас, есть статья, рекомендую ознакомиться https://www.mql5.com/ru/articles/10361
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь