С указателями в MQL4 сложно. Прямой поддержки нету. Кто-то, вроде бы здесь на форуме, пытался это сделать с помощью массивов. Точнее сказать не могу. Поищите сами...
Эта функция выполняет установку объекта OBJ_TRENDBYANGLE трендовая линия по углу наклона на текущем графике.
cl - Цвет объекта ТРЕНДОВАЯ ЛИНИЯ. Обязательный параметр.
nm - Наименование объекта. При передаче умолчательного значения - "" в качестве имени используется время открытия текущего бара.
t1 - Первая координата времени установки объекта. Значение по умолчанию - 0 - время открытия десятого бара.
p1 - Первая координата цены установки объекта. Значение по умолчанию - 0 - минимум десятого бара.
t2 - Вторая координата времени установки объекта. Значение по умолчанию - 0 - время открытия текущего бара.
p2 - Вторая координата цены установки объекта. Этот параметр является своего рода переключателем. Его ненулевое значение приравняет данную функции к функции SetTLine(), то есть трендовая линия будет построена по паре координат время/цена, а значение угла наклона трендовой будет проигнорировано. Значение по умолчанию - 0 - построение трендовой линии по углу наклона.
an - Угол наклона в градусах. Значение по умолчанию - 0 - горизонтальная линия.
ry - Флаг свойства ЛУЧ. Значение по умолчанию False.
st - Стиль линии. Допустимые значения STYLE_SOLID (по умолчанию), STYLE_DASH, STYLE_DOT, STYLE_DASHDOT, STYLE_DASHDOTDOT.
wd - Толщина линии. Значение по умолчанию - 1.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка объекта OBJ_TRENDBYANGLE трендовая линия по углу |//+----------------------------------------------------------------------------+//| Параметры: |//| cl - цвет линии |//| nm - наименование ( "" - время открытия текущего бара) |//| t1 - время открытия бара ( 0 - Time[10] |//| p1 - ценовой уровень ( 0 - Low[10]) |//| t2 - время открытия бара ( 0 - время открытия текущего бара) |//| p2 - ценовой уровень ( 0 - по углу) |//| an - угол ( 0 - по умолчанию) |//| ry - луч (False - не луч) |//| st - стиль линии ( 0 - простая линия) |//| wd - ширина линии ( 1 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetTLineByAngle(colorcl, stringnm="",
datetimet1=0, doublep1=0, datetimet2=0, doublep2=0,
doublean=0, boolry=False, intst=0, intwd=1){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[10];
if(p1<=0)p1=Low[10];
if(t2<=0)t2=Time[0];
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_TRENDBYANGLE, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1, p1);
ObjectSet(nm, OBJPROP_TIME2 , t2);
if(p2>0)ObjectSet(nm, OBJPROP_PRICE2, p2);
elseObjectSet(nm, OBJPROP_ANGLE, an);
ObjectSet(nm, OBJPROP_COLOR, cl);
ObjectSet(nm, OBJPROP_RAY , ry);
ObjectSet(nm, OBJPROP_STYLE, st);
ObjectSet(nm, OBJPROP_WIDTH, wd);
}
Эта функция выполняет установку объекта OBJ_ARROW значок текущем графике.
cd - Код значка. Обязательный параметр.
cl - Цвет значка. Обязательный параметр.
nm - Наименование объекта. При передаче умолчательного значения - "" в качестве имени используется время открытия текущего бара.
t1 - Первая координата времени установки объекта. Значение по умолчанию - 0 - время открытия текущего бара.
p1 - Первая координата цены установки объекта. Значение по умолчанию - 0 - текущая цена Bid.
sz - Размер значка. Значение по умолчанию - 0.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 12.10.2007 |//| Описание : Установка значка на графике, объекта OBJ_ARROW. |//+----------------------------------------------------------------------------+//| Параметры: |//| cd - код значка |//| cl - цвет значка |//| nm - наименование ("" - время открытия текущего бара) |//| t1 - время открытия бара (0 - текущий бар) |//| p1 - ценовой уровень (0 - Bid) |//| sz - размер значка (0 - по умолчанию) |//+----------------------------------------------------------------------------+voidSetArrow(intcd, colorcl,
stringnm="", datetimet1=0, doublep1=0, intsz=0){if(nm=="")nm=DoubleToStr(Time[0], 0);
if(t1<=0)t1=Time[0];
if(p1<=0)p1=Bid;
if(ObjectFind(nm)<0)ObjectCreate(nm, OBJ_ARROW, 0, 0,0);
ObjectSet(nm, OBJPROP_TIME1 , t1);
ObjectSet(nm, OBJPROP_PRICE1 , p1);
ObjectSet(nm, OBJPROP_ARROWCODE, cd);
ObjectSet(nm, OBJPROP_COLOR , cl);
ObjectSet(nm, OBJPROP_WIDTH , sz);
}
Огромное Вам спасибо за то что вы делаете, не будете ли вы против, если я соберу функции из этой ветки, и выложу у себя на сайте,в отдельном разделе с указанием на форум, и на Ваш сайт
А вообще классно было бы на первой странице этого поста сделать "Содержание" ветки. Таблицу списка функций, описаний и со ссылками на страницы. Или вести один обновляемый архив на первой странице, а описание уже на остальных страницах можно найти.
Поэтому если xrust осилит свое предложение, то хорошо бы повторить это здесь. Ради систематизации нажитого непосильным трудом :))
xrust писал (а)>> ...не будете ли вы против, если я соберу функции из этой ветки, и выложу у себя на сайте,в отдельном разделе с указанием на форум, и на Ваш сайт
xrust писал (а)>> Огромное Вам спасибо за то что вы делаете, не будете ли вы против, если я соберу функции из этой ветки, и выложу у себя на сайте,в отдельном разделе с указанием на форум, и на Ваш сайт
Создать файл-"инклудник" (mqh) (наверное 2 - "торговые" и "прочие"), договориться о его названии и заставить "разработчиков" включать его в дистрибутив. Чтобы каждый в кажом советнике не изобретал велосипед.
Еще раз спасибо, просто обленился маленько, хочу собрать все до кучки чтоб под рукой было. Еще вопрос, не будете ли вы против если я в своих функциях буду применять, синтаксис, и названия переменных как у Вас, что бы так сказать стандартизировать.
С указателями в MQL4 сложно. Прямой поддержки нету. Кто-то, вроде бы здесь на форуме, пытался это сделать с помощью массивов. Точнее сказать не могу. Поищите сами...
MathRand()
Программно изменять можно только первую размерность массива. Функция ArrayResize(). Вторую, третью и четвёртую размерности придётся задавать жёстко.Мда, с указателями проехали, с динамическими массивами тоже...
С нетерпением ждем 5 версии языка...
Спасибо за помощь
Работа с одной сетью реализуется несложно.
Прикол в том, что для моей задумки одной сети не хватало, и я хотел сделать алгоритм переключения между сетями, с указателями это несложно.
Ан нет... придется хардкорить.
Функция SetTLineByAngle().
Эта функция выполняет установку объекта OBJ_TRENDBYANGLE трендовая линия по углу наклона на текущем графике.
Примеры использования функции SetTLineByAngle().
ЗЫ. Во вложении скрипт для тестирования функции SetTLineByAngle().
Функция SetArrow().
Эта функция выполняет установку объекта OBJ_ARROW значок текущем графике.
Примеры использования функции SetArrow().
ЗЫ. Во вложении скрипт для тестирования функции SetArrow().
А вообще классно было бы на первой странице этого поста сделать "Содержание" ветки. Таблицу списка функций, описаний и со ссылками на страницы. Или вести один обновляемый архив на первой странице, а описание уже на остальных страницах можно найти.
Поэтому если xrust осилит свое предложение, то хорошо бы повторить это здесь. Ради систематизации нажитого непосильным трудом :))
...не будете ли вы против, если я соберу функции из этой ветки, и выложу у себя на сайте,в отдельном разделе с указанием на форум, и на Ваш сайт
Нет, не буду...
Огромное Вам спасибо за то что вы делаете, не будете ли вы против, если я соберу функции из этой ветки, и выложу у себя на сайте,в отдельном разделе с указанием на форум, и на Ваш сайт
Создать файл-"инклудник" (mqh) (наверное 2 - "торговые" и "прочие"), договориться о его названии и заставить "разработчиков" включать его в дистрибутив. Чтобы каждый в кажом советнике не изобретал велосипед.
:)