[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 631
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...Попробуйте сформулировать этот же вопрос иначе, да так, чтобы никто не придрался... ;)
Зачем мне формулировать вопрос, на который знаю ответ.
Это значит, что для рассчета индикатора на текущем баре нам необходимо определенное количество предыдущих значений цены, в данном случае PeriodSMA. Если не уменьшить индекс начального бара, то в самом левом конце графика будем иметь несколько неправильно рассчитанных значений индикатора.
alsu если не затруднит, можно небольшой пример привести? Я не очень понимаю суть этого "сдвига". Ведь весь ряд баров будет рассчитан в любом случае, тогда зачем этот сдвиг? И почему выбирается именно PeriodSMA, а не любое
другое сколь угодно отличное от него значение? Я нигде не смог найти описание или разъяснение этого вопроса. Спасибо!
У меня наверное глупый вопрос, но если терминал использует пятизначные котировки, то и глобальные переменные нужно указывать с дополнительными нулями? Например TP = 500, а не 50?
alsu если не затруднит, можно небольшой пример привести? Я не очень понимаю суть этого "сдвига". Ведь весь ряд баров будет рассчитан в любом случае, тогда зачем этот сдвиг? И почему выбирается именно PeriodSMA, а не любое
другое сколь угодно отличное от него значение? Я нигде не смог найти описание или разъяснение этого вопроса. Спасибо!
Например, вам надо рассчитать простое скользящее среднее с периодом PeriodSMA. Для расчета SМА необходимо сложить значения последних PeriodSMA баров и поделить на PeriodSMA. Очевидно, что для баров с номерами Bars-1, Bars-2, ..., Bars-PeriodSMA+1 это сделать не получится, т.к. нужного количества баров для расчета у нас просто нет (крайний левый бар имеет индекс Bars-1). Поэтому мы вынуждены начать расчет индикатора не с последнего бара на графике, а с того, для которого имеются все необходимые для расчета данные, т.е. с бара с индексом Bars-PeriodSMA.
Почему пишут именно это значение, а не сколь угодно отличное? Да просто потому что именно такой сдвиг начала расчета позволяет обсчитать максимальное количество баров без ущерба для правильности собственно расчета.
Но имейте в виду, что это я описал простейший случай. Иногда бывает, что из кода сразу неочевидно, сколько прошлых баров нужно программе для расчетов, и откуда берется именно такой сдвиг. Ну, тогда следует, видимо, поговорить с тем, кто писал код и поинтересоваться. Но вообще есть универсальный способ - просто смотрите по коду, какой в принципе максимальный индекс бара может получиться при использовании ценовых данных и данных индексных буферов в ходе работы программы, обычно уже на этом этапе становится все понятно...
new_sl = NormalizeDouble(MathMax(order_open_price + MathMax(STOP_LOSS*coef,stop_level)*Point, Ask + stop_level*Point), Digits) прочувствуйте эту конструкцию
Да и, кстати, в вопросе пример ожидался для TP, а у вас "new_sl = ".
Вы уж будьте повнимательнее, новички все-таки ..., ответ то должен быть умный, а не заумный.
Если бы вы еще упомянули при этом, что ваша переменная "coef" равна 10 для 5-знака и 1 для 4-знака, то я бы тоже прочуствовал, а так ...
Да и, кстати, в вопросе пример ожидался для TP, а у вас "new_sl = ".
Вы уж будьте повнимательнее, новички все-таки ..., ответ то должен быть умный.
тяжело в ученье - легко в бою. мне б кто рабочую стратегию подсказал (скупая мужская слеза падает на пол...)
Если я правильно понял, эту конструкцию можно вставить после start()?
Так же переменная coef, как дать ей значения из предыдущего комментария? Я имею ввиду 10 для 5 - знака и 1 для 4 - знака?
Если я понимаю, эту конструкцию можно вставить после start()?
Так же переменная coef, как дать ей значения из предыдущего комментария? Я имею ввиду 10 для 5 - знака и 1 для 4 - знака?
В советниках, которыми я пользуюсь есть примерно такая конструкция:
if (Digits==4 || Digits==2) coef=1; else coef=10; // множитель для разных типов счетов 4/2 и 5/3В советниках, которыми я пользуюсь есть примерно такая конструкция:
if (Digits==4 || Digits==2) coef=1; else coef=10; // множитель для разных типов счетов 4/2 и 5/3Спасибо за разъяснения!
И просто чтобы уточнить, если я механическим путем добавлю 0, то TP и SL будут работать в данном типе терминалов?