[АРХИВ]Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 5. - страница 175
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Нет, с того, которое переменая i имела до цикла. Запись
идентична
int cnt,i;
Вот теперь я понял. Благодарствую. А то смотрел смотрел.. не было точки отсчёта. Теперь 0 нарисовался..
Хм. Ну, например, index передаётся значением 1. Смотрим в этот кусок кода:
сразу по приходу будет так: cnt = 0, i = index + g_center - 1 = 1(значение index) + 2(значение g_center) - 1 = 2
Но согласно условию цикла он будет продолжаться до тех пор пока i не будет равно 0. Как это произойдёт?
Условие получается, что если i имеет значение от 2(если index = 1), до i >= 0 и cnt имеет от 0, до cnt < g_center ,то вложенные условия выполняются.
Получается если переменная здесь 1, то у нас будет только 1 итерация в цикле, так?
Раскройте понятие "ограничен 0 баром"
Другими словами надо нарисовать линию( не луч ) через 2 фрактала, но чтобы заканчивалась на 0 баре
Алгоритм таков:
1. Пусть координаты фракталов (i1; p1) и (i2; p2), причем i1<i2 (т.е. 1-й фрактал ближе к 0 бару, чем 2-й)
2. Уравнение прямой, проходящей через эти фракталы p = (p1-p2)/(i1-i2) * i + (p2*i1 - p1*i2)/(i1-i2)
3. Следовательно, нам необходимо нарисовать отрезок со следующими координатами концов: (0; (p2*i1 - p1*i2)/(i1-i2)) и (i2;p2)
4. ObjectCreate(...)
5. ???
6. Profit!!!
Должно срабатывать на первом тике новых суток.
Благодарю за отклик! Правда, никогда не срабатывало, пока я не вставил в начале старта индикатора
if(Hour() == 0 && Minute() == 0 && Seconds() == 0) { DeleteObject() и т.д.
}
if(Hour() >= 0 && Minute() >= 0 && Seconds() >= 1) { код индикатора ...
Недавно и с этим не срабатывает! Что делать не знаю. Что можете посветовать? Спасибо!
Только сейчас смог написать, в субботу подрабатываю на жизнь.
Да Борис, очень, кстати, подошёл! Благодарю Вас. Я этого и хотел. Крутил.. вертел.. да не докрутил видать. Опыта ещё не много, и мозг не так мыслить как у профи. Бывают затупы на ровном месте.. :(
Не хотел сразу спрашивать, но всё же пришлось. Т.к. не вышло у самого сократить.
Вот теперь я понял. Благодарствую. А то смотрел смотрел.. не было точки отсчёта. Теперь 0 нарисовался..
Хм. Ну, например, index передаётся значением 1. Смотрим в этот кусок кода:
сразу по приходу будет так: cnt = 0, i = index + g_center - 1 = 1(значение index) + 2(значение g_center) - 1 = 2
Но согласно условию цикла он будет продолжаться до тех пор пока i не будет равно 0. Как это произойдёт?
Условие получается, что если i имеет значение от 2(если index = 1), до i >= 0 и cnt имеет от 0, до cnt < g_center ,то вложенные условия выполняются.
Получается если переменная здесь 1, то у нас будет только 1 итерация в цикле, так?
Цикл заканчивается, когда перестает выполняться условие, написанное на втором месте в операторе for(), то есть в данном случае - когда либо i станет меньше 0, либо когда cnt станет больше или равно g_center. Обе переменные имеют начальные значения, присвоенные перед циклом, и изменяются в ходе его исполнения: переменная i в результате i-- (третья часть оператора for, она выполняется каждый раз когда цикл доходит до закрывающей скобки }), а переменная cnt - в результате cnt++.
Хай.
Пытаюсь экспортировать в хтмл стэйт своей торговли с демо-счета. (альпари, билд последний). Жму сохранить как отчет, открывается окно выбора папки, жму кнопку сохранить, ничего не происходит. Это у всех так на демо? Еще один момент, мой МТ4 на рабочем столе установлен. Это имеет значение?
Кто знает, можно ли, сделав Hour(), Minute() и Seconds() глобальными переменными, контролировать в полночь (0.00) смену в индикаторе DailyPivotPoints на новые уровни РР и др. линии из советника? Я раньше сделал прямо в индикаторе с Hour(), Minute(), Seconds(), и работало без необходимости каждую ночь компилировать. А недавно перестало само меняться, может, от смены бильда? Спасибо!
По-моему это самый верный путь хоть и примитивен!:) А почему бы как функцию нового бара не реализовать данный момент? Вам нужно чтоб раз сутки, т.е. начиная с 0.00 времени чтоб индюк делал перерасчёт. Значит делаем просто. В старте есс-но:
Цикл заканчивается, когда перестает выполняться условие, написанное на втором месте в операторе for(), то есть в данном случае - когда либо i станет меньше 0, либо когда cnt станет больше или равно g_center.
Тока не либо а И. Там же знак &&
Я всё понимаю. Но тут смысл в том, что:
Переменная index вообще по коду имеет значение Bar - IndicatorCounted()
Т.е. на текущем баре равно 1, а на новом 2
Входит в функцию IsUpFractal() значение либо по очередно, либо 1 если бар не новый ещё, так?
Значится, переменная i будет иметь фиксированное значение т.к. входной параметр index тоже фиксированный. Значит цикл будет всегда прерываться после первой итерации. Зачем тогда цикл?
Подскажите, пожалуйста, почему показывает неправду..