- [АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3.
- Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6.
- Вопросы от начинающих MQL5 MT5 MetaTrader 5
Подскажите, как определить целое число или нет? То есть требуется a/b и если оно целое то одно решение, если нет то breake; очень надо)
Можно проверить с какой-то заданной наперед точностью.
Например
int start(){ double Val1; int Val2; double preciz=0.0000001; //Требуемая точность ....................... Val2=NormalizeDouble(Val1,0); if (MathAbs(Val1-Val2)<=preciz) { //Целое или близкое к нему} return(0); }
Если а и b сами целые, то возьми a%b - остаток от деления первого на второе. Если он равен нулю, то a кратно b.
Если аргументы нецелые, то тут... Vinin уже показал.
{
Alert ("Неправильно задан период");
return(0);
}
Спасибо всем, за интересные решения сделал так
{
Alert ("Неправильно задан период");
return(0);
}
Опять сам и ответил
Низзя так. Проверяй только в пределах заданной точности, с помощью CompareDoubles(). Иначе можешь легко наткнуться на разрыв функции в целой точке.
А что такое разрыв функции в заданной точке? Пример, а то так не соображаю, пожалуйста....
И ещё раз: Как найти первый бар текущего дня и его индекс?
Почитай внимательно тему 'НЕ РАБОТАЕТ MathMod !!!' - особенно то, что писал stringo.
По поводу первого бара можно так. Пробегись вглубь истории по барам в цикле, начиная с текущего, и отслеживай DayOfWeek(). Как только впервые наткнешься на изменение DayOfWeek(), это будет последний вчерашний бар. Ну а затем вычти из индекса найденного единицу.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования