- Ошибки, баги, вопросы
- Перезагрузка терминала
- Вопрос по типизации
Maksim Neimerik:
Привет! Скажите можно ли делать проверку лота (MODE_MARGINREQUIRED; MODE_MINLOT; и т.д.) в блоке инициализации и при ошибке возвращать -1?
Можно. В смысле, что никто не запрещает.
Просто не хочется чтобы на каждом тике проганяло...
На каждом тике и не нужно. Достаточно это делать перед отправкой торгового приказа. К тому же, на мой взгляд, при указании неправильного объема лучше не останавливать программу, а просто корректировать значение, приводя его к допустимому значению:
double VolumeCast(double volume, double volumeMin, double volumeMax, double volumeStep) { if (volumeStep == 0.0) return volumeMin; return (MathMin(MathMax(MathFloor(volume / volumeStep) * volumeStep, volumeMin), volumeMax)); }
Ну или, в зависимости от постановки задачи, здесь можно MathFloor заменить на MathRound или MathCeil.
Привет! Скажите можно ли делать проверку лота (MODE_MARGINREQUIRED; MODE_MINLOT; и т.д.) в блоке инициализации и при ошибке возвращать -1? Просто не хочется чтобы на каждом тике проганяло...
Можно, но зачем?
Предположим, у вас хватает на открытие позиции, потом она закрылась по стопу и денег больше нет, но у вас по прежнему будет хватать денег, потому что проверка была при запуске. Нужно проверять непосредственно перед открытием, а не на каждом тике.
Можно, но зачем?
Предположим, у вас хватает на открытие позиции, потом она закрылась по стопу и денег больше нет, но у вас по прежнему будет хватать денег, потому что проверка была при запуске. Нужно проверять непосредственно перед открытием, а не на каждом тике.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования