
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Ну вот например для расчета тейкпрофита для Buy и Sell ордеров. Выбранный принцип один и тот же. Но в одном случае надо прибавлять, а в другом вычитать. А так код фактически одинаков. Как тут что разделить на 2 части?
Ну вот например для расчета тейкпрофита для Buy и Sell ордеров. Выбранный принцип один и тот же. Но в одном случае надо прибавлять, а в другом вычитать. А так код фактически одинаков. Как тут что разделить на 2 части?
На примере TrailingStop. Надо написать трейлинг для Buy и Sell.
Подсветкой показал, в каких местах отличия. Т.е. на 99% копипаста, делая которую, конечно, можно ошибиться. Очевидно, что в мире программирования давно в курсе подобных рисков, поэтому придуманы различные решения.
Для замены копипасты (в очень широком смысле) практикуют много методов, три из которых перечислены ниже.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Можно ли в коде изменить математический знак (только знак) по выбранному условию?
fxsaber, 2023.09.09 11:34
Один из этих вариантов должен помочь, если правильно понял задачу.
У каждого есть свои плюсы и минусы. Вот так выглядит решение через макрос.
Для компилятора эта запись и самая верхняя идентичны.
Вы можете дальше использовать эти функции в классическом виде.
На примере TrailingStop. Надо написать трейлинг для Buy и Sell.
Подсветкой показал, в каких местах отличия. Т.е. на 99% копипаста, делая которую, конечно, можно ошибиться. Очевидно, что в мире программирования давно в курсе подобных рисков, поэтому придуманы различные решения.
Для замены копипасты (в очень широком смысле) практикуют много методов, три из которых перечислены ниже.
У каждого есть свои плюсы и минусы. Вот так выглядит решение через макрос.
Для компилятора эта запись и самая верхняя идентичны.
Вы можете дальше использовать эти функции в классическом виде.
Браво! Похоже то, что нужно. Осталось только понять что такое макрос в MQL, но благо пример привели, надеюсь разберусь. На макросах - это лучшее решение?
Большое спасибо за примеры! Причем и за тот, который наконец-то явно описал суть проблемы! )
На макросах - это лучшее решение?
Это исключительно дело вкуса. Т.е. очень субъективно. Основной минус подобных конструкций - сложность при отладке. Сам активно использую, как и другие методы.
1. Макросы увеличивают вероятность ошибок в коде. Потому что при компиляции код макроса не проверяется. Короче, написать макрос и не сделать ошибку, сложнее, чем скопипастить функицю и изменить в ней пару знаков.
2. С макросом вот эта вот "передача" знака в "функцию" возможна только на стадии компиляции.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Можно ли в коде изменить математический знак (только знак) по выбранному условию?
fxsaber, 2023.09.09 14:03
Когда смотрю на эту запись, понимаю, что точно не ошибся логически, т.к. все параметры перевернутые. Но это опять же очень субъективно.
В остальных методах с указателями и шаблонами, такие же проблемы?
Ну вот например для расчета тейкпрофита для Buy и Sell ордеров. Выбранный принцип один и тот же. Но в одном случае надо прибавлять, а в другом вычитать. А так код фактически одинаков. Как тут что разделить на 2 части?
Так это ещё проще чем макросы. Вот на примере ниже
Или без тернарного оператора, за одно условие типа позиции меняется цена и коэффициент.
В остальных методах с указателями и шаблонами, такие же проблемы?
Там иные подходы. Для каждой задачи свои решения.