Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 833

 
evillive:

Борис, я на вас удивляюсь. Откидывает дробь не нормализацией по Digits, откидывает именно по MathFloor и именно тогда, когда и в калькуляторе (калькулятор позволяет всё уравнение полностью ввести, хоть и решает его пошагово).

Советник: lots=MathFloor(AccountFreeMargin()*rsk*0.01/margin/lotstep)*lotstep=MathFloor(1000*1*0,01/275,88/0,01)*0,01=0,03 - как видите, нет никакой "нормализации"

Калькулятор: Trunc(1000*0.01/275.88/0.01)*0.01=0,03 - прям так и задаю

Вопрос закрыт, советник считает верно, я при проверке подставлял не то значение маржи и получал неверный результат.

Поздравляю с обнаружением "злоумышленника"! ;)
 
пункты (1.0003–1.0001) умножаю на 10000, после NormalizeDouble(1.0003–1.0001,0) будет всё правильно округлено?
 
eddy:
пункты (1.0003–1.0001) умножаю на 10000, после NormalizeDouble(1.0003–1.0001,0) будет всё правильно округлено?
А где умножение? Без него выходит нОль.
 

Удобная отладка эксперта - просьба помочь

MetaEditor 5.0 Build 1035

Набросал эксперт, в настройках MetaEditor указал на закладке Debug: Use...=Yes, Symbol=EURUSD, Period=H4.

1) Запускаю отладку и в MT4 Build 765 открывается нужный мне фин.инструмент с нужным периодом и подключенным экспертом.

2) Меняю вид charts, добавляют нужные индикаторы, настраиваю масштаб...

3) Срабатывает событие, в режиме отладки по шагам прохожу нужный алгоритм, исправляю ошибку, перекомпилирую эксперта и ... перехожу к шагу 1).

Проблема: приходиться проходить каждый раз шаг 2), чтобы привести к нужному виду окно фин.инструмента (пробовал использовать Template фин.инструмента - не помогает, открывается из режима отладки с дефолтными настройками).

Вопрос: есть ли возможность запомнить настройки вида фин.инструмента, чтобы ускорить процесс отладки?

 
AndreiIT:

Удобная отладка эксперта - просьба помочь

MetaEditor 5.0 Build 1035

Набросал эксперт, в настройках MetaEditor указал на закладке Debug: Use...=Yes, Symbol=EURUSD, Period=H4.

1) Запускаю отладку и в MT4 Build 765 открывается нужный мне фин.инструмент с нужным периодом и подключенным экспертом.

2) Меняю вид charts, добавляют нужные индикаторы, настраиваю масштаб...

3) Срабатывает событие, в режиме отладки по шагам прохожу нужный алгоритм, исправляю ошибку, перекомпилирую эксперта и ... перехожу к шагу 1).

Проблема: приходиться проходить каждый раз шаг 2), чтобы привести к нужному виду окно фин.инструмента (пробовал использовать Template фин.инструмента - не помогает, открывается из режима отладки с дефолтными настройками).

Вопрос: есть ли возможность запомнить настройки вида фин.инструмента, чтобы ускорить процесс отладки?

А шаблон с именем debug сохранить надо.
 
evillive:
А шаблон с именем debug сохранить надо.

Сделал через окно ФИ: Template->Save Template...->debug.tpl

Сейчас отладка из MetaEditor не запускается: моргает окно MT4 и возвращается в MetaEditor без запуска. 

 
AndreiIT:

Сделал через окно ФИ: Template->Save Template...->debug.tpl

Сейчас отладка из MetaEditor не запускается: моргает окно MT4 и возвращается в MetaEditor без запуска. 

Странно, у меня работает. Может ошибки какие в журнале?
 
evillive:
Странно, у меня работает. Может ошибки какие в журнале?

Спасибо за наводку: в журнале МТ4 пишет сначала "... Expert ProbaExpert EURUSD,H4: loaded successfully", а затем сразу же "... Expert ProbaExpert EURUSD,H4: removed"

Точки останова стоят везде, в т.ч. и в OnInit() 


 
как проще всего загрузить всю доступную историю графика?
 

Добрый день!

 

Могли бы вы подсказать, как можно коротко написать выражение, округляющее целое число (количество пунктов) до заданной точности, например, до 5.

Я понимаю, что если я хочу округлить до 10, то я пользуюсь NormalizeDouble(point_val, 4) / Point = NormalizeDouble(0.00175, 4) = 0.0018 / 0.0001 = 180.

А как округлить с точностью до 5 пунктов?