Обсуждение статьи "Кроссплатформенный торговый советник: повторное использование компонентов из Стандартной библиотеки MQL5"

 

Опубликована статья Кроссплатформенный торговый советник: повторное использование компонентов из Стандартной библиотеки MQL5:

В Стандартной библиотеке MQL5 есть некоторые компоненты, которые могут оказаться полезными в версиях кроссплатформенных торговых экспертов для MQL4. В этой статье рассматривается метод создания некоторых компонентов Стандартной библиотеки MQL5, совместимых с компилятором MQL4.

Подобно тому, как обсуждалось в первой статье этого цикла, мы используем общий заголовочный файл, который в идеале консолидирует сходства в коде между MQL4- и MQL5-версиями. На самом деле, можно переписать класс CSymbolinfo на три раздельных файла, так, чтобы сходства были объединены в одном файле, а различия разнесены на два других файла. Однако в этой статье мы пойдем простейшим (и самым быстрым) путем: скопируем файл класса CSymbolinfo, после чего закомментируем строки, которые несовместимы с MQL4. Для обеих версий итоговая файловая структура будет выглядеть следующим образом:

Автор: Enrico Lambino

 

Привет!

В самом начале вы пишете: "Однако его главный недостаток в том, что нам не придется переписывать много кода".

Вы имеете в виду "... преимущество ..." - правильно?

 
Привет,
Очень хорошая работа и четкие объяснения. Буду оставаться на связи, так как на данный момент нечем вас наградить, только словами. СПАСИБО!
 

Я никогда не понимал, почему кто-то хочет использовать такой класс-обертку, как SymbolInfo?

В нем есть только 1 полезная функция:

double CSymbolInfo::NormalizePrice(const double price) const

Все остальное - просто перегрузка для замедления кода. Хорошо закодированный класс Symbol может быть полезен, а этот "стандартный" просто бесполезен. Даже не хочу говорить о "CAccountInfo".

@Enrico Lambino почему вы не создали свои собственные классы?