ну тут то в чем вопрос, классы упрощают время разработки программного обеспечения - скажем так если на поток писать ПО (как на конвейере - по сути сборка софта)
но увы, чуда не бывает - чтобы использовать классы нужно время на их изучение
но в части стандартных классов из поставки МТ, ими можно пользоваться - есть справка, классы написаны в хорошем стиле программирования, и довольно просто читаются
Да не все уж очень можно использовать. Бывают моменты что проще написать свой класс, ну или как минимум скопировать стандартный и внести нужные изменения.
Открывает следующую сделку, если все предыдущие по символу и направлению в плюсе.
Для начала отлично работает... надо закончить, а то Лехи некогда... как то привязать уровни - может этот скрипт подойдет https://www.mql5.com/ru/code/20189
Скрипт рассчитывает и выводит на график уровни безубытка отдельно для открытых позиций BUY и SELL. После изменений количества позиций требуется повторный запуск скрипта.
Я не говорю о стандартных классах MQL, они намного упрощают код. И чтобы их использовать совсем не надо знать ООП.
ну если Вы уже используете стандартные классы MQL, то до ООП Вас отделяет лишь один шаг
тут вопрос как обстоит, если имеет смысл писать класс, то пишем, нет - не пишем
в той же графике, без классов ну никак не получится, я застиг во время своего обучения еще TurboPascal и была на тот момент графическая библиотека для работы с текстовыми панелями, причем речи не шло об ООП - код окошек и меню был такой замудренный, что руки опускались что то делать из такой библиотеки, да и как ни крути все равно из той библиотеки получался NortonCommander
))))
ну и еще пример, вот MQL дает возможность создавать синтетические символы, можно все поля нового инструмента один раз заполнить из кода, а если нужно создать несколько инструментов? - тогда начнете придумывать массив структур или т.п.
ну или берем ищем поиском по форуму и находим готовое решение в виде класса class SYMBOL
берем и юзаем или берем наследуем и переписывает методы которые считаем что можем реализовать лучше
увы, живем в век в котором количество информации преобладает над возможностями ее изучения конкретным человеком, нужно уметь искать и пользоваться готовыми решениями
Библиотека содержит некоторый функционал, позволяющий разобраться на начальном этапе, как идет работа с кастомными символами, и предлагает некоторые готовые решения, могущие быть полезными. Пример При запуске бэктеста на кроссах тестер тянет за собой не только основной символ, но и вспомогательный, который позволяет конвертировать валюту...
у Вас оптимистичный сценарий развития события, я же пессимист и вижу такой ход событий: после препарирования получаем увеличение кукиша аж в 20 раз! ))))
ну а по сабжу:
это то все ясно, скажем так эти вопросы возникают лишь у тех кто первый раз прочитал что такое ООП, если сейчас идет речь о базовых принципах ООП, то интересуют вопросы:
- как наследовать более одного родительского класса
- как унаследовать от CObject принципы связанных списков, как пример хочу научиться "скрещивать" CLabel с CObject , в результате хочу получить CLabel .Prev , CLabel .Next и аналогичные методы
На MQL никак, даже в виде интерфейсов.
Нет там никаких принципов для наследования, есть функции-пустышки и все, все надо делать самому. Класс-то из нескольких строчек
class CObject
{
private:
CObject *m_prev; // previous item of list
CObject *m_next; // next item of listpublic:
CObject(void): m_prev(NULL),m_next(NULL) { }
~CObject(void) { }
//--- methods to access protected data
CObject *Prev(void) const { return(m_prev); }
void Prev(CObject *node) { m_prev=node; }
CObject *Next(void) const { return(m_next); }
void Next(CObject *node) { m_next=node; }
//--- methods for working with filesvirtualbool Save(constint file_handle) { return(true); }
virtualbool Load(constint file_handle) { return(true); }
//--- method of identifying the objectvirtualint Type(void) const { return(0); }
//--- method of comparing the objectsvirtualint Compare(const CObject *node,constint mode=0) const { return(0); }
};
ну тут то в чем вопрос, классы упрощают время разработки программного обеспечения - скажем так если на поток писать ПО (как на конвейере - по сути сборка софта)
но увы, чуда не бывает - чтобы использовать классы нужно время на их изучение
но в части стандартных классов из поставки МТ, ими можно пользоваться - есть справка, классы написаны в хорошем стиле программирования, и довольно просто читаются
И многие очень эффективно написаны, например CHashMap рвет по скорости все аналоги, что публиковались тут в статьях и кодобазе. А я хеш-таблицы очень широко использую.
Для начала отлично работает... надо закончить, а то Лехи некогда... как то привязать уровни - может этот скрипт подойдет https://www.mql5.com/ru/code/20189
Увы, Лехе надо и на хавчик зарабатывать )) Сделаем, но не мгновенно
в той же графике, без классов ну никак не получится, я застиг во время своего обучения еще TurboPascal и была на тот момент графическая библиотека для работы с текстовыми панелями, причем речи не шло об ООП - код окошек и меню был такой замудренный, что руки опускались что то делать из такой библиотеки, да и как ни крути все равно из той библиотеки получался NortonCommander
Помнится, там какие-то зачатки ООП появились в TP 7
Увы, Лехе надо и на хавчик зарабатывать )) Сделаем, но не мгновенно
Проставь счет веб мани в профиль...и накидаем с миру по нитке...голому рубаха...за труды и вдохновение твое... не только же для себя любимого корячишься на общее благо и понимание истины...
Проставь счет веб мани в профиль...и накидаем с миру по нитке...голому рубаха...за труды и вдохновение твое... не только же для себя любимого корячишься на общее благо и понимание истины...
Я, как человек глубоко циничный, в чудеса не верю ))) Но, в качестве социального эксперимента написал кошельки. Вдруг случиться чудо и в ВМ брякнет монетка, мое сердце растает и я, растрогавшись, пойду на эту монетку кормить бездомных котят )) Или подберу и вылечу уточку с перебитым крылом с соседнего озера. Но обещаю не пропить, не спустить на баб и не проиграть в карты! https://www.mql5.com/ru/users/vdev
Опубликовал пост ScalpHunter2 v1.38_EN.ex4 Немного измененная версия, из-за чемпионата не получилось много поработать, внизу смотрите ScalpHunter2 v1.38_EN.zip, работает до 2018.07.31, настройки те же... Добавил тему Шифрование программ? Тут коллега спрашивает, ломаются ли программы из Маркета и обычные, зашифрованные на Сервере MQ? Кто не в...
Обновил в Хранилище проект, в основном дополнил класс CM1PivotLevels. Проект лежит в Хранилище по адресу "MQL5\Shared Projects\PrepareScalping". Пока он не рабочий, скоро добью.
ну тут то в чем вопрос, классы упрощают время разработки программного обеспечения - скажем так если на поток писать ПО (как на конвейере - по сути сборка софта)
но увы, чуда не бывает - чтобы использовать классы нужно время на их изучение
но в части стандартных классов из поставки МТ, ими можно пользоваться - есть справка, классы написаны в хорошем стиле программирования, и довольно просто читаются
Да не все уж очень можно использовать. Бывают моменты что проще написать свой класс, ну или как минимум скопировать стандартный и внести нужные изменения.
Версия для MT5 будет?
Небольшая заготовка для MT5 (работает в тестере).
Открывает следующую сделку, если все предыдущие по символу и направлению в плюсе.
Для начала отлично работает... надо закончить, а то Лехи некогда... как то привязать уровни - может этот скрипт подойдет https://www.mql5.com/ru/code/20189
Я не говорю о стандартных классах MQL, они намного упрощают код. И чтобы их использовать совсем не надо знать ООП.
ну если Вы уже используете стандартные классы MQL, то до ООП Вас отделяет лишь один шаг
тут вопрос как обстоит, если имеет смысл писать класс, то пишем, нет - не пишем
в той же графике, без классов ну никак не получится, я застиг во время своего обучения еще TurboPascal и была на тот момент графическая библиотека для работы с текстовыми панелями, причем речи не шло об ООП - код окошек и меню был такой замудренный, что руки опускались что то делать из такой библиотеки, да и как ни крути все равно из той библиотеки получался NortonCommander
))))
ну и еще пример, вот MQL дает возможность создавать синтетические символы, можно все поля нового инструмента один раз заполнить из кода, а если нужно создать несколько инструментов? - тогда начнете придумывать массив структур или т.п.
ну или берем ищем поиском по форуму и находим готовое решение в виде класса class SYMBOL
https://www.mql5.com/ru/code/18855
берем и юзаем или берем наследуем и переписывает методы которые считаем что можем реализовать лучше
увы, живем в век в котором количество информации преобладает над возможностями ее изучения конкретным человеком, нужно уметь искать и пользоваться готовыми решениями
у Вас оптимистичный сценарий развития события, я же пессимист и вижу такой ход событий: после препарирования получаем увеличение кукиша аж в 20 раз! ))))
ну а по сабжу:это то все ясно, скажем так эти вопросы возникают лишь у тех кто первый раз прочитал что такое ООП, если сейчас идет речь о базовых принципах ООП, то интересуют вопросы:
- как наследовать более одного родительского класса
- как унаследовать от CObject принципы связанных списков, как пример хочу научиться "скрещивать" CLabel с CObject , в результате хочу получить CLabel .Prev , CLabel .Next и аналогичные методы
На MQL никак, даже в виде интерфейсов.
Нет там никаких принципов для наследования, есть функции-пустышки и все, все надо делать самому. Класс-то из нескольких строчек
ну тут то в чем вопрос, классы упрощают время разработки программного обеспечения - скажем так если на поток писать ПО (как на конвейере - по сути сборка софта)
но увы, чуда не бывает - чтобы использовать классы нужно время на их изучение
но в части стандартных классов из поставки МТ, ими можно пользоваться - есть справка, классы написаны в хорошем стиле программирования, и довольно просто читаются
И многие очень эффективно написаны, например CHashMap рвет по скорости все аналоги, что публиковались тут в статьях и кодобазе. А я хеш-таблицы очень широко использую.
Для начала отлично работает... надо закончить, а то Лехи некогда... как то привязать уровни - может этот скрипт подойдет https://www.mql5.com/ru/code/20189
Увы, Лехе надо и на хавчик зарабатывать )) Сделаем, но не мгновенно
в той же графике, без классов ну никак не получится, я застиг во время своего обучения еще TurboPascal и была на тот момент графическая библиотека для работы с текстовыми панелями, причем речи не шло об ООП - код окошек и меню был такой замудренный, что руки опускались что то делать из такой библиотеки, да и как ни крути все равно из той библиотеки получался NortonCommander
Помнится, там какие-то зачатки ООП появились в TP 7
Увы, Лехе надо и на хавчик зарабатывать )) Сделаем, но не мгновенно
Проставь счет веб мани в профиль...и накидаем с миру по нитке...голому рубаха...за труды и вдохновение твое... не только же для себя любимого корячишься на общее благо и понимание истины...
Проставь счет веб мани в профиль...и накидаем с миру по нитке...голому рубаха...за труды и вдохновение твое... не только же для себя любимого корячишься на общее благо и понимание истины...
Я, как человек глубоко циничный, в чудеса не верю ))) Но, в качестве социального эксперимента написал кошельки. Вдруг случиться чудо и в ВМ брякнет монетка, мое сердце растает и я, растрогавшись, пойду на эту монетку кормить бездомных котят )) Или подберу и вылечу уточку с перебитым крылом с соседнего озера. Но обещаю не пропить, не спустить на баб и не проиграть в карты! https://www.mql5.com/ru/users/vdev