Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Функция WritingLineInFile().
Я тут на днях немного переделал эту функцию, добавил параметр fs, отвечающий за возможность записи первой строки файла, отличающейся от остальных строк, например, шапка таблицы. Первая строка будет записываться в файл только при соблюдении двух условий одновременно: длина строки больше нуля и нулевой размер файла. А для того, чтобы сохранить совместимость с предыдущей версией, новый параметр сделал необязательным.
Параметры функции WritingLineInFile():
ЗЫ. Во вложении скрипт для тестирования функции.
DateBeginQuarter
в первую очередь пытаюсь понять строки:
по умолчанию nq = 0, поэтому не ясно что мы получаем от выражения MathMod(nq/4), ведь результат всегда будет 0. Так же не ясна вторая строка, так как 0/4 не имеет остатка, разъясните пожалуйста.
Благодарю, Наташа, за вопрос. Благодаря Вам, я заново проверил работу функции и нашёл ошибку. В строке
нужно заменить знак минус на плюс
А теперь по существу Вашего вопроса. nq ведь не всегда равно нулю. Могут быть любые целые значения, в том числе и отрицательные. Указанные Вами строки работают в случаях, когда nq кратно 4, то есть, когда нужно прибавить или отнять 4 квартала (год).
Благодарю, Наташа, за вопрос. Благодаря Вам, я заново проверил работу функции и нашёл ошибку. В строке
нужно заменить знак минус на плюс
А теперь по существу Вашего вопроса. nq ведь не всегда равно нулю. Могут быть любые целые значения, в том числе и отрицательные. Указанные Вами строки работают в случаях, когда nq кратно 4, то есть, когда нужно прибавить или отнять 4 квартала (год).
Спасибо за ответ, Игорь.... с функцией разбиралась дольше обычного, но все же разобралась))))))) в этой же функции, мне кажется, не нужно уменьшать год в выражении:
тогда все будет верно.
...в этой же функции, мне кажется, не нужно уменьшать год в выражении...
Функция GetDrawdownOpenPosInPoint()
Ну вот, кажись, закончил тщательное тестирование этой функции. Учёл, где надо, спрэд, постарался оптимизировать... Функция возвращает максимальную просадку текущих открытых позиций в пунктах. Традиционно в функцию можно передать параметры и таким образом отфильтровать нужные для анализа позиции:
ЗЫ. Во вложении скрипт для тестирования функции GetDrawdownOpenPosInPoint().
Обоснуйте, Наташа, почему не нужно? Мне, наоборот, представляется логичным уменьшать год после замыкания месячного круга в обратную сторону. В указанном Вами выражении уменьшить год - это тоже самое, что передвинуть часовую стрелку на один час назад после того, как минутную отмотали на целый круг. Приведите свой вариант функции, обсудим... может быть Ваш вариант окажется удачнее моего.
Я рассуждала так: допустим нам нужно определить начало 7 квартала в прошлом и будущем, тогда nq= -7 и nq=7 соответственно. Mathfloor вернет -2 для прошлого и +1 для будущего (судя по описанию функции в документации), следовательно для ситуации в прошлом мы будем вычитать на один год больше, чем прибавлять в будущем..... если продолжать дальнейшие вычисления для прошлого, то нам придется еще раз уменьшить год и мы окажемся в 2009.....
К сожалению из-за нехватки времени (я едва успеваю прочесть страничку сайта), я не могу сейчас предоставить правильный на мой взгляд код, но думаю при необходимости подправить его будет не сложно.
Я рассуждала так: допустим нам нужно определить начало 7 квартала в прошлом и будущем, тогда nq= -7 и nq=7 соответственно. Mathfloor вернет -2 для прошлого и +1 для будущего (судя по описанию функции в документации), следовательно для ситуации в прошлом мы будем вычитать на один год больше, чем прибавлять в будущем..... если продолжать дальнейшие вычисления для прошлого, то нам придется еще раз уменьшить год и мы окажемся в 2009...
Я согласен с Вашими рассуждениями, но Вы забываете о типах данных, участвующих в операциях. От функции MathFloor() вообще можно отказаться. Посмотрите результат работы скрипта во вложении.