Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо Nicholi за этот более упрощенный код. После некоторых экспериментов я обнаружил, что объявление ask_diff как float дает разности с правильным количеством цифр, но при этом выдает ошибку компиляции о возможной потере данных при преобразовании типа. Похоже, что мне придется выбирать между очень маленькими погрешностями в моих разностях и предупреждением о компиляции. Последнее было бы лучше для торговых решений, но есть ли у кого-нибудь еще решение, как получить не более пяти знаков после запятой в ask_diff?
ваш ask_diff должен иметь тип int и выглядеть следующим образом.
Я только что обнаружил NormalizeDouble и DoubleToString. Эй, это мой первый день в этом деле...
Как это часто бывает, код делал то, что должен был делать, а не то, что я хотел. Логика требует, чтобы tick_prev всегда был заполнен, но это не так на первом тике. Меня интересует логика, которая не требует, чтобы tick_prev был заполнен на первом тике, но в остальном все работает.
Как это часто бывает, код делал то, что должен был делать, а не то, что я хотел. Логика требует, чтобы tick_prev всегда был заполнен, но это не так на первом тике. Меня интересует логика, которая не требует, чтобы tick_prev был заполнен на первом тике, но в остальном все работает.
Это тот уровень кодирования, к которому я стремлюсь. Спасибо, Эрнст!
Вы не хотите хранить разность точек как двойное число, поскольку двойные числа редко бывают равными. Вы хотите хранить ее как целое значение. Например, (1.00001 - 1.00000) / 0.00001 = 1 балл. Поэтому если вы сравниваете только два тика, вы можете сделать свой код более компактным и просто создать подкласс MqlTick и добавить атрибут int для разницы в баллах.