Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Хотя и вышло много новых моделей -- но гнаться же за понтами безумного iPhone не надо, ленивым и жадным меня Sony не называет.
на примере смартфонов лень не работает. Их меняют даже в кредит. Там основа борьбы с ленью - растущие требования развлекательного контента.
Могу, но мне это не нужно. Пишу под MT5 то, что невозможно написать под MT4.
Проблемы перехода профи-MT4 на MT5 останутся проблемами, пока он не захочет их решить хотя бы вопросом на форуме, почему у него все так хреново, а у других пашет без проблем.беру два терминала из "коробки", закачиваю одинаковую историю, беру идущий в комплекте советник, не мной, а создателями терминала написаный же и вижу то, что вижу.
Все данные для воспроизведения в студию, пожалуйста! Потратил массу времени на исследования производительности тестеров/оптимизаторов. Такого дикого расхождения в производительности не заметил.
Сам использую только тики. OHLC H4 никогда не пробовал и даже не понимаю, зачем оно может быть надо.
Все данные для воспроизведения в студию, пожалуйста! Потратил массу времени на исследования производительности тестеров/оптимизаторов. Такого дикого расхождения в производительности не заметил.
Сам использую только тики. OHLC H4 никогда не пробовал и даже не понимаю, зачем оно может быть надо.
Это как ? В смысле OHLC M1 ?
Я всегда использую этот режим, когда появились тики - хотел было перейти на тестирование на них - в результате увидел, что разница даже для экспертов на М5 - очень невелика, а на M15 и выше - вобще практически отсутствует (менее процента), поэтому тики использовать перестал. Да и верно замечено - зачем тестирование с точностью до тика на данных, которых больше никогда не будет...
Нет. Это ошибка. Как раз блокировка ограничивает тебя от этих самых ошибок.
Вот, гляди на мои интерфейсы - в них просто невозможно ошибиться. Любая функция - очень проста, чаще всего - безо всяких параметров.
Где тут по-твоему, место для ошибки ?
И сравни с реальными функциями выбора позиции, где запросто можно перепутать входные параметры, но компилятор этого не заметит, потому, что тип параметров - один. Прибавь еще и необходимость кроссплатформенности - и, по-моему, становится ясно, что гораздо лучше, когда ты имеешь доступ исключительно только к необходимым данным, а остальное - ничего тебе не доступно.
Нужна позиция ? Запросил, получил интерфейс, который тебе не дает ничего лишнего. Ты не имеешь доступа ни к объекту, который эту позицию содержит, ни к каким промежуточным буфферам, вобще ни к чему, кроме конкретно того, в чем заключался твой запрос. Ты даже не можешь сказать, на какой именно платформе работаешь, что конкретно у тебя открыто - то ли МТ4-ордер, то ли МТ5-Хедж-позиция, то ли МТ5-Нетт-позиция. Ты это можешь узнать, запросив соответствующие интерфейсы в другом месте, но там - ты не будешь иметь доступа к позициям.
Сам я когда-то тоже был сторонником прямого доступа к любым структурам данным программы. Однако, по мере роста проектов - я убедился в ошибочности такого подхода.
Считаю очень верным принцип: пользователь имеет доступ исключительно только к тому, что запросил, и ни к биту больше.
Для начала нужно еще понять что именно этот интерфейс делает, куда и как подсоединяется и при каких условиях, а это уже целая немаленькая логика витеиватая со своими фокусами, которую еще нужно каждый раз вспоминать - и это при том что никаких полезных вычислений тут не производится.
И это для самого простого проекта, а что будет если проект будет чуть посложней?
Также вопрос о том должен ли программист, севший писать код, придумывать средства против самого себя мы уже обсуждали - если программист в трезвом уме и временно не пьян, то "защиты от дурака", то есть от него самого, ему не нужны в принципе, не говоря уже о том что это затрудняет понимание логики, потому что дурак при желании всегда найдет способ как себя обдурачить и эта борьба двух дураков имеет непредсказуемый результат.
И еще про ООП, объект - это тип данных и вроде бы работают с ним как типом данных, например объявление объекта и т.п.
Но сразу видна полная неадекватность тех кто это все придумывал ибо к этим данным начисто отсутствует доступ извне и нормально работать с ними как с данными практически невозможно.
Более того эти данные имеют способность неконтролируемо накапливаться и нужно придумывать всякие извращения как за всем этим следить...
Не будем говорить про структуры - это логичный тип данных ибо это тупо было украдено из Си и ООП деятели просто не смогли это испоганить...
И еще про ООП, объект - это тип данных и вроде бы работают с ним как типом данных, например объявление объекта и т.п.
Но сразу видна полная неадекватность тех кто это все придумывал ибо к этим данным начисто отсутствует доступ извне и нормально работать с ними как с данными практически невозможно.
Более того эти данные имеют способность неконтролируемо накапливаться и нужно придумывать всякие извращения как за всем этим следить...
Не будем говорить про структуры - это логичный тип данных ибо это тупо было украдено из Си и ООП деятели просто не смогли это испоганить...
Всё проще, чем вы себе придумали.
Если библиотекой пользуется кто-то другой, и этот кто-то другой берёт, и заменяет тикет ордера, а потом кричит, что тикет ордера не верный, то кто ж виноват? Вот если метод установки тикета ордера будет приватным, и устанавливать его будет сам класс, а не пользователь класса, то он (пользователь) и не сможет вписать в переменную, хранящую тикет, какое-либо своё число, лишь потому, что он так решил сделать.
Те методы, которые предназначены для использования извне класса, они и публичные. Всё остальное, что нельзя менять пользователю, во-избежание нарушения работы класса и библиотеки в общем - они должны быть защищены от кривых ручек дурака.
Если библиотекой пользуется кто-то другой, и этот кто-то другой берёт, и заменяет тикет ордера, а потом кричит, что тикет ордера не верный, то кто ж виноват? Вот если метод установки тикета ордера будет приватным, и устанавливать его будет сам класс, а не пользователь класса, то он (пользователь) и не сможет вписать в переменную, хранящую тикет, какое-либо своё число, лишь потому, что он так решил сделать.
Вот поэтому логика должна быть прозрачной - какой тикет пользователь установил тот и должен исполняться, а не тот что задумал создатель класса. Это приводит к куче непоняток бессмысленных.
Всё проще, чем вы себе придумали.
Если библиотекой пользуется кто-то другой, и этот кто-то другой берёт, и заменяет тикет ордера, а потом кричит, что тикет ордера не верный, то кто ж виноват? Вот если метод установки тикета ордера будет приватным, и устанавливать его будет сам класс, а не пользователь класса, то он (пользователь) и не сможет вписать в переменную, хранящую тикет, какое-либо своё число, лишь потому, что он так решил сделать.
Те методы, которые предназначены для использования извне класса, они и публичные. Всё остальное, что нельзя менять пользователю, во-избежание нарушения работы класса и библиотеки в общем - они должны быть защищены от кривых ручек дурака.
Ну, так а я о чем говорю ? У пользователя библиотеки, класса или функции - не должно быть доступа ни к чему, сверх того, что ему непосредственно надо. Все правильно - тикет ордера должен храниться внутри класса, и изменить его у пользователя не должно быть возможности. Максимум - запросить в режиме "ридонли".
Те методы, которые предназначены для использования извне класса, они и публичные. Всё остальное, что нельзя менять пользователю, во-избежание нарушения работы класса и библиотеки в общем - они должны быть защищены от кривых ручек дурака.
От кривых ручек защиты нет. )) Нужно просто корректно описать логику функции, а не городить огород со всякими ограничениями.
Например, исключения и их обработка - любой адекватный программист скажет что от этого только вред, так как логика функции должна быть описана полностью, чтобы исключений не возникало в принципе.