Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 588

 
Slivator:

Может этот вариант подойдёт http://www.kimiv.ru/index.php?option=com_remository&Itemid=13&func=fileinfo&id=8

Только зачем Вам менять цвет бара? Если бар нужно пометить, то может просто поставить значок.

Просто так человек хочет. И правильно делает...
 

Появилась проблема с классами.

Есть две библиотеки классов - стандартная библиотека MQL4 и библиотека стороннего разработчика. Использовать нужно обе эти библиотеки, но вся проблема в том, что в них присутствуют некоторые классы с одинаковыми именами. В итоге получается неоднозначность, компилятор не знает из какой библиотеки я использую класс.

Как быть в такой ситуации? В С++ это можно обойти путем алиасов, в MQL не знаю.

 
Barbarian:

Появилась проблема с классами.

Есть две библиотеки классов - стандартная библиотека MQL4 и библиотека стороннего разработчика. Использовать нужно обе эти библиотеки, но вся проблема в том, что в них присутствуют некоторые классы с одинаковыми именами. В итоге получается неоднозначность, компилятор не знает из какой библиотеки я использую класс.

Как быть в такой ситуации? В С++ это можно обойти путем алиасов, в MQL не знаю.

Каждый в своё пространство имён положить.
 
Zhunko:
Каждый в своё пространство имён положить.

А как в MQL4 определить пространство имен? Не могу найти. В общем пока думаю что то в этом направлении:

#ifndef CTable
   #include <\Integer_Test\GUI.mqh>
#endif
#ifndef CList
   #include <Arrays\List.mqh>
#endif

но лезут ошибки с повторным определением. Нужно наверное что то другое.

 
Barbarian:

А как в MQL4 определить пространство имен? Не могу найти. В общем пока думаю что то в этом направлении:

но лезут ошибки с повторным определением. Нужно наверное что то другое.

namespace A
 {
  class a{};
 }
namespace B
 {
  class a{};
 }
Это два разных класса, хоть они и одинаковы :-))
 
Zhunko:
Это два разных класса, хоть они и одинаковы :-))

Это пример для С++, в MQL4 namespace нет.
 
Barbarian:
Это пример для С++, в MQL4 namespace нет.

Случайно ответ удалил :-(

Надо попросить чтобы сделали.

Можно попробовать в класс со статическими членами поместить. Это почти тоже самое.

Или так:

class A
 {
  class a{};
 }
class B
 {
  class a{};
 }
 
Zhunko:

Случайно ответ удалил :-(

Надо попросить чтобы сделали.

Можно попробовать в класс со статическими членами поместить. Это почти тоже самое.

Или так:

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

Мне интересен был бы способ, как обойти эту проблему средствами MQL4 без изменения самих библиотек классов.

 
Barbarian:

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

Мне интересен был бы способ, как обойти эту проблему средствами MQL4 без изменения самих библиотек классов.

Это и есть без изменений и вмешательств.
 
AlexeyVik:


Посмотри код индикатора Heiken Ashi
я его уже распотрошил... там гистограмма, вот если способа с барами не найдется придется ее юзать...