Начиная с анонса МТ5 все пытаюсь добиться ответа на вопрос:
На сколько возрастут показатели моего советника (или чьего бы то ни было), если я в него все это супер-пупер внедрю?
Ни разу не получил ответа...
...
Вы не сможете реализовать сложный торговый алгоритм без развитого языка программирования. Простые решения на уровне "купил выше машки продали ниже", - остались в прошлом, в годах эдак в 80-ых. Следовательно, вы в принципе ничего прибыльного написать на ограниченном языке программирования не сможете (везение не в счет конечно).
Запрещены внешние библиотеки, а следовательно R маркете. Если бы не это ограничение я бы просто обогатился без всякого риска на продаже очень качественных индикаторов.
...
Знаете что плохому танцору мешает?
Никто не запрещает Вам обогащаться, переводя суперприбыльные стат. методы в MQL код. AlgLib вам в помощь.
Но все это из серии Ваших фантазий: "Вот если бы был бы такой же, но с розовыми пугавицами, вот тогда я бы такое забацал что стал бы в топе..." - А Вы попробуйте для начала написать хоть что-то, и продать хотя бы одну копию своего продукта. Быстро с небес на землю спуститесь, и поймете, что все гораздо сложней чем просто реализовать какой-то стат. метод.
К сожалению, интерфейсы в MQL5 запрещены, и это очень печально, хотя их можно было бы включить изящным ходом: разрешить множественной наследование чисто абстрактных классов.
Интерфейсы в MQL5 работают:
class Interface
{
public:
virtualvoid Do(void)=0;
};
class MyTest : public Interface
{
public:
MyTest(void) {};
~MyTest(void) {};
virtualvoid Do(void) { Print("Hello!"); }
};
voidOnStart()
{
MyTest test;
test.Do();
}
//+------------------------------------------------------------------+//| Class of all classes |//+------------------------------------------------------------------+class CObject
{
};
//+------------------------------------------------------------------+//| Enumerator interface |//+------------------------------------------------------------------+template<typename T>
class IEnumerator
{
public:
virtualbool MoveNext();
virtual void Reset();
virtual T Current();
};
class CList : public CObject, public IEnumerator
{
...
}
Т.е. пока IEnumerator чисто абстрактный класс, множественное наследование с его участием полностью безопасно.
А пока по факту, интерфейсы все равно приходится заворачивать в длинные цепочки наследования. Пример тому, замечательная библиотека Internal выложенная MQ:
Renat Fatkhullin: Над этим уже работаем, самим нужно.
Молодцы. Это реально круто будет. Тем более решение вполне изящное: достаточно разрешить множественное наследование от классов тогда и только тогда, когда они представлены в виде чисто абстрактных классов (не содержат данных и реализаций, все методы публичны). Т.е. вводить какую-то специфическую конструкцию или ключевое слово, не входящее в стандарт С++ не потребуется.
Также из пожеланий: нужно и дальше развивать библиотеку Internal. Она станет просто суперской либой, когда появятся интерфейсы. Старый CObject забудем как страшный сон.
Vasiliy Sokolov: достаточно разрешить множественное наследование от классов тогда и только тогда, когда они представлены в виде чисто абстрактных классов (не содержат данных и реализаций, все методы публичны).
... и ни от кого не наследуются, иначе все равно ромбы.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Начиная с анонса МТ5 все пытаюсь добиться ответа на вопрос:
На сколько возрастут показатели моего советника (или чьего бы то ни было), если я в него все это супер-пупер внедрю?
Ни разу не получил ответа...
...
...
Запрещены внешние библиотеки, а следовательно R маркете. Если бы не это ограничение я бы просто обогатился без всякого риска на продаже очень качественных индикаторов.
...
Знаете что плохому танцору мешает?
Никто не запрещает Вам обогащаться, переводя суперприбыльные стат. методы в MQL код. AlgLib вам в помощь.
Но все это из серии Ваших фантазий: "Вот если бы был бы такой же, но с розовыми пугавицами, вот тогда я бы такое забацал что стал бы в топе..." - А Вы попробуйте для начала написать хоть что-то, и продать хотя бы одну копию своего продукта. Быстро с небес на землю спуститесь, и поймете, что все гораздо сложней чем просто реализовать какой-то стат. метод.
К сожалению, интерфейсы в MQL5 запрещены, и это очень печально, хотя их можно было бы включить изящным ходом: разрешить множественной наследование чисто абстрактных классов.
Интерфейсы в MQL5 работают:
Интерфейсы в MQL5 работают:
Объект должен уметь поддерживать множество интерфейсов, иначе выхолащивается смысл их применения.
К сожалению только на уровне хотелок:
Т.е. пока IEnumerator чисто абстрактный класс, множественное наследование с его участием полностью безопасно.
Интерфейсы в MQL5 работают:
А пока по факту, интерфейсы все равно приходится заворачивать в длинные цепочки наследования. Пример тому, замечательная библиотека Internal выложенная MQ:
Объект должен уметь поддерживать множество интерфейсов, иначе выхолащивается смысл их применения.
Над этим уже работаем, самим нужно.
достаточно разрешить множественное наследование от классов тогда и только тогда, когда они представлены в виде чисто абстрактных классов (не содержат данных и реализаций, все методы публичны).