Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
У Вас своя обертка, у другого - своя. Вопрос был в другом, можно ли создать обертку удобнее, чем MQL4?
По-моему, особо вариантов и не придумаешь...
Лично мне обертка нужна исключительно для кроссплатформенности - чтобы отделить логику эксперта от специфики той или иной платформы
Разумеется за красивости ООП надо платить ресурсами и большими расходами времени по отладке. ООП имеет смысл лишь как удобная обертка текста либо при минимальном использовании при инициализации среды исполнения... По сути ООП это была чисто маркетинговая штука от Микрософота для повышения расходов на рабочие часы программистов и стимулировании покупки более продвинутого оборудования. Причем сами они не дураки и весь софт пишут на Си и ассемблере.
Ну Вы фантазёр однако...
Ну Вы фантазёр однако...
Лыко вяжите что-то осмысленное сказать по теме обсуждения?
в очередной раз столкнулся...
в MQL невозможно "не криво" отделить реализацию методов от прототипа и нет возможности предоставить пользователю(покупателю, тестировщику, другу/товарищу) отдельно файл *.mqh и отдельно *.ex4 (по аналогии с *.h и .obj/lib/dll в С++)
в очередной раз столкнулся...
в MQL невозможно "не криво" отделить реализацию методов от прототипа и нет возможности предоставить пользователю(покупателю, тестировщику, другу/товарищу) отдельно файл *.mqh и отдельно *.ex4 (по аналогии с *.h и .obj/lib/dll в С++)
А поконкретнее про задачу можно услышать? Вроде довольно не криво можно предоставлять хедер с импортируемой фабрикой, которая возвращает чистые интерфейсы, а вся реализация зашита внутри ex4.
А поконкретнее про задачу можно услышать? Вроде довольно не криво можно предоставлять хедер с импортируемой фабрикой, которая возвращает чистые интерфейсы, а вся реализация зашита внутри ex4.
задача - с наименьшими телодвижениями отдать пользователю библиотеку классов в составе: mqh в котором описаны классы и ex4 в котором их реализация.
Единственный на сей день вариант тянёт тьму текста с костылями, чтобы обойти эту затыку.
Если вам известен краткий и удобный способ убрать реализацию CFoo в ex4 - поделитесь рецептом.
class CFoo {
public:
CFoo(); //default
CFoo(const CFoo orig); // copy
~CFoo();
bool Set(string key,CFoo & link);
CFoo *Get(string key);
bool Clear(string key);
};
задача - с наименьшими телодвижениями отдать пользователю библиотеку классов в составе: mqh в котором описаны классы и ex4 в котором их реализация.
Единственный на сей день вариант тянёт тьму текста с костылями, чтобы обойти эту затыку.
Если вам известен краткий и удобный способ убрать реализацию CFoo в ex4 - поделитесь рецептом.
class CFoo {
public:
CFoo(); //default
CFoo(const CFoo orig); // copy
~CFoo();
bool Set(string key,CFoo & link);
CFoo *Get(string key);
bool Clear(string key);
};
Ну так я уже написал способ - чем он не подходит? Делаете фабричный метод, или функцию, которые возвращают абстрактный класс (интерфейс), описанный в заголовочном файле. Вся реализация скрыта. Реальный пример можно найти, например, в моем блоге про библиотеку оптимизации экспертов на лету (на английском).
Ну так я уже написал способ - чем он не подходит? Делаете фабричный метод, или функцию, которые возвращают абстрактный класс (интерфейс), описанный в заголовочном файле. Вся реализация скрыта. Реальный пример можно найти, например, в моем блоге про библиотеку оптимизации экспертов на лету (на английском).
вы исходник попробуйте накидать. А ссылки на вики тут и так все знают
А ссылка не на вики с исходниками не катит? ;-)
А ссылка не на вики с исходниками не катит? ;-)
а вот не катит :-)
я-же говорю - попробуйте сделать, это лютый lot-of-code. Инстанцируемый класс "СFoo: public InterfaceCFoo" должен содержать поле InterfaceCFoo *privateContext (делать связь 1:1), создавать и удалять его через фабрику, все методы делегировать и при этом переводить CFoo* ссылки this<->privateContext туда сюда. Это "закат солнца вручную", сиречь замена наследования делегированием, причём на ровном месте.