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

 
alexeymosc:

Добрый день!

 

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

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

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

В целых пунктах MathRound(X/5)*5, если надо, потом умножайте на Point.
 
evillive:
В целых пунктах MathRound(X/5)*5, если надо, потом умножайте на Point.
Спасибо Вам!
 

Как можно найти максимум, минимум прошлого дня на  пятиминутке не прибегая графику дневки?

 
iHigh() - iLow() с соответствующими параметрами.
 
AlexeyVik:
iHigh() - iLow() с соответствующими параметрами.
Но, это возможно только через данные дневного графика.
 
woin2110:
Но, это возможно только через данные дневного графика.

Через iHighest(),iLowest(), сколько баров М5 в сутках известно, смещение до окончания прошлых суток, думаю, тоже можно высчитать.

    Max = high[iHighest(NULL, 0, MODE_HIGH, P, sh)];
    Min = low[iLowest( NULL, 0, MODE_LOW , P, sh)];

Где P - сколько баров считать
    sh - смещение до начала отсчёта (последний бар прошлого дня), считает в сторону возрастания номера бара, т.е. вглубь истории
 
woin2110

Кроме того, как вариант на случай возможного отсутствия баров, sh и P из поста выше можно высчитать, применяя количество секунд за день. К примеру, как-то так. Из прилагаемого там наброска варианта кода, в общем-то, принцип должен быть понятен.

В том посте ссылка есть на статью очень хорошую.
 
Всё дело в дибильном брокере который на дневном графике отрисовывает понедельник как воскресную свечу, а вместо понедельника каким-то хххудожником нарисована своя свеча. Вот теперь и думаю как корректней взять данные прошлых дней. Нужно сделать эксперта под всех брокеров. А имеенно найти долбаный минимум и максимум последнего рабочего дня.
 


 
woin2110:
Всё дело в дибильном брокере который на дневном графике отрисовывает понедельник как воскресную свечу, а вместо понедельника каким-то хххудожником нарисована своя свеча. Вот теперь и думаю как корректней взять данные прошлых дней. Нужно сделать эксперта под всех брокеров. А имеенно найти долбаный минимум и максимум последнего рабочего дня.
Ну, тогда надо искать последний бар пятницы, желательно минутный. А понедельник считать понедельником с первого бара М1, для которого DayOfWeek()=1 (или по разнице временных поясов считать).