Я, честно говоря, не пользовался никогда этими ресурсами СБ. Но что вам мешает посмотреть в СБ где там, какими методами, задаются цвета. То, что вы показали в листинге:
- так это имена объектов - классов CPanel, CEdit, CBmpButton и CWndClient.
А вам нужно найти имена членов этих классов, в которых хранятся цвета, и поглядеть какими методами они могут быть инициализированы или изменены.
И наверняка придётся сначала инициализировать нужные значения, а уже потом строить сам объект.
Цвета задаются в Дефайнах, потом объекты раскрашиваются через функции ObjectSetInteger(). Я тоже сейчас пока этим методом напрямую перекрашиваю. Но хотелось бы через ООП попробовать. Я так понимаю, если нет отдельного публичного метода для изменения, то до private-члена не достучаться. Просто не настолько силен в наследованиях, виртуальных методах, еще "плаваю" и изучаю эту тему. Ладно, попробую в сервис-деске попросить сделать публичный метод для раскраски, а если можно по-другому, может подскажут как.
Не стоит выкладывать на данный форум декомпилированные коды. Я понимаю, что вы выложили не код, а лишь картинку. Но это означает, что вы работаете с ворованными программными продуктами. Здесь такое категорически не приветствуется - это ... как бы сказать ... нарушение этики сообщества. Здесь, на форуме и ресурсе львиную долю форумчан составляют программисты - мы сами пишем свои коды или пользуемся публичными наработками своих коллег. Вы же пользуетесь и переделываете у кого-то украденный код (может быть и у кого-то из присутствующих здесь). В общем - не стоит так начинать здесь свою деятельность.
Vasiliy Pushkaryov: Цвета задаются в Дефайнах, потом объекты раскрашиваются через функции ObjectSetInteger(). Я тоже сейчас пока этим методом напрямую перекрашиваю. Но хотелось бы через ООП попробовать. Я так понимаю, если нет отдельного публичного метода для изменения, то до private-члена не достучаться. Просто не настолько силен в наследованиях, виртуальных методах, еще "плаваю" и изучаю эту тему. Ладно, попробую в сервис-деске попросить сделать публичный метод для раскраски, а если можно по-другому, может подскажут как.
Временно - скопируйте себе в Include\Ваша_папка этот класс и впишите в него нужные вам переменные-члены класса для хранения цветов и публичные методы их установки и возврата.
Плюс - вы сможете делать так, как уже нужно вам. Минус - при обновлении СБ в исходном классе могут появиться доработки, а у вас их не будет и придётся опять копировать и вписывать в обновлённый класс нужные вам методы.
... ну странно, что нет возможности спокойно менять цвет - без дефайнов ...
Прошу помочь - как быстро получить и информацию по объему (количество лотов всего) всех открытых позиций на всех инструментах? Поделитесь, пожалуйста, функцией.
Прошу помочь - как быстро получить и информацию по объему (количество лотов всего) всех открытых позиций на всех инструментах? Поделитесь, пожалуйста, функцией.
Функция GetAmountLotFromOpenPos().
Данная функция возвращает сумму лотов открытых позиций. Более точный отбор учитываемых позиций задаётся внешними параметрами:
sy - Наименование рыночного инструмента. Если задать этот параметр, то функция учтёт позиции только заданного инструмента. Значение по умолчанию - "" означает любой рыночный инструмент. NULL означает текущий инструмент.
op - Торговая операция, тип позиции. Допустимые значения: OP_BUY, OP_SELL или -1. Значение по умолчанию -1 означает любую позицию.
mn - Идентификатор позиции, MagicNumber. Значение по умолчанию -1 означает любой идентификатор.
//+----------------------------------------------------------------------------+//| Автор : Ким Игорь В. aka KimIV, http://www.kimiv.ru |//+----------------------------------------------------------------------------+//| Версия : 19.02.2008 |//| Описание : Возвращает сумму лотов открытых позиций |//+----------------------------------------------------------------------------+//| Параметры: |//| sy - наименование инструмента ( "" - любой символ, |//| NULL - текущий символ) |//| op - торговая операция ( -1 - любая позиция) |//| mn - MagicNumber ( -1 - любой магик) |//+----------------------------------------------------------------------------+double GetAmountLotFromOpenPos(string sy="", int op=-1, int mn=-1) {
double l=0;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
l+=OrderLots();
}
}
}
}
}
}
return(l);
}
Будьте добры, подскажите такой вопрос: Зиг-заг по порогу(depth(в пунктах, High(Low) образуются после прохождения n-пунктов, depth=Depth*Point). Есть цепочка точек(ArrUp(ArrDn)), показывающих дорисовку зигзага, т.е. была точка ArrUp последняя, потом отстут depth и образовалась первая точка ArrDn, после нее еще серия точек ArrDn, т.к. цена пошла вниз,(дорисовка). Нужно так построить алгоритм, чтобы был отступ depth м.у этими точка. Может цикл for, не могу сообразить.
Я, честно говоря, не пользовался никогда этими ресурсами СБ. Но что вам мешает посмотреть в СБ где там, какими методами, задаются цвета. То, что вы показали в листинге:
- так это имена объектов - классов CPanel, CEdit, CBmpButton и CWndClient.
А вам нужно найти имена членов этих классов, в которых хранятся цвета, и поглядеть какими методами они могут быть инициализированы или изменены.
И наверняка придётся сначала инициализировать нужные значения, а уже потом строить сам объект.
Щелкнуть по сообщению об ошибке. Курсор укажет имя переменной. Ее надо объявить
Спасибо!
Не стоит выкладывать на данный форум декомпилированные коды. Я понимаю, что вы выложили не код, а лишь картинку. Но это означает, что вы работаете с ворованными программными продуктами. Здесь такое категорически не приветствуется - это ... как бы сказать ... нарушение этики сообщества. Здесь, на форуме и ресурсе львиную долю форумчан составляют программисты - мы сами пишем свои коды или пользуемся публичными наработками своих коллег. Вы же пользуетесь и переделываете у кого-то украденный код (может быть и у кого-то из присутствующих здесь). В общем - не стоит так начинать здесь свою деятельность.
Цвета задаются в Дефайнах, потом объекты раскрашиваются через функции ObjectSetInteger(). Я тоже сейчас пока этим методом напрямую перекрашиваю. Но хотелось бы через ООП попробовать. Я так понимаю, если нет отдельного публичного метода для изменения, то до private-члена не достучаться. Просто не настолько силен в наследованиях, виртуальных методах, еще "плаваю" и изучаю эту тему. Ладно, попробую в сервис-деске попросить сделать публичный метод для раскраски, а если можно по-другому, может подскажут как.
Временно - скопируйте себе в Include\Ваша_папка этот класс и впишите в него нужные вам переменные-члены класса для хранения цветов и публичные методы их установки и возврата.
Плюс - вы сможете делать так, как уже нужно вам. Минус - при обновлении СБ в исходном классе могут появиться доработки, а у вас их не будет и придётся опять копировать и вписывать в обновлённый класс нужные вам методы.
... ну странно, что нет возможности спокойно менять цвет - без дефайнов ...
Прошу помочь - как быстро получить и информацию по объему (количество лотов всего) всех открытых позиций на всех инструментах? Поделитесь, пожалуйста, функцией.
Прошу помочь - как быстро получить и информацию по объему (количество лотов всего) всех открытых позиций на всех инструментах? Поделитесь, пожалуйста, функцией.
Функция GetAmountLotFromOpenPos().
Данная функция возвращает сумму лотов открытых позиций. Более точный отбор учитываемых позиций задаётся внешними параметрами:
Спасибо.
Будьте добры, подскажите такой вопрос: Зиг-заг по порогу(depth(в пунктах, High(Low) образуются после прохождения n-пунктов, depth=Depth*Point). Есть цепочка точек(ArrUp(ArrDn)), показывающих дорисовку зигзага, т.е. была точка ArrUp последняя, потом отстут depth и образовалась первая точка ArrDn, после нее еще серия точек ArrDn, т.к. цена пошла вниз,(дорисовка). Нужно так построить алгоритм, чтобы был отступ depth м.у этими точка. Может цикл for, не могу сообразить.
Всем привет.
Научите, как остановить работу советника и запустить при появлении новой свечи.