Ошибки, баги, вопросы - страница 3593

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это - неочевидно.
В статистике есть понятия "полная выборка" и "подвыборка".
Для полной выборки считается size. Для подвыборки (например, в скользящем окне) считается size-1
О чём и речь. У вас
для x.Cov(y) считает как "подвыборка" size-1,
для x.Var() считает как "полная выборка" size.
Почему разногласие в двух методах?
Например я хочу использовать оба метода в неком расчёте.
Сейчас один метод считает "подвыборку", второй метод "полную выборку".
Ну это не корректор ведь будет.
Для рыночных данных используется "подвыборка".
О чём и речь. У вас
для x.Cov(y) считает как "подвыборка" size-1,
для x.Var() считает как "полная выборка" size.
Почему разногласие в двух методах?
Например я хочу использовать оба метода в неком расчёте.
Сейчас один метод считает "подвыборку", второй метод "полную выборку".
Ну это не корректор ведь будет.
Для рыночных данных используется "подвыборка".
Мы считаем ровно так же, как считаются в питоне аналогичные функции cov и var
А если в питоне ошибка ))
Ну неправильно же cov и var считать по разным выборкам.
А если в питоне ошибка ))
Ну неправильно же cov и var считать по разным выборкам.
Добавим в методы Std, Var и Cov параметр ddof (Delta Degrees of Freedom), чтобы можно было устанавливать делитель на size или size-1
Добавим в методы Std, Var и Cov параметр ddof (Delta Degrees of Freedom), чтобы можно было устанавливать делитель на size или size-1
Спасибо.
Не читается дата записанная в файл. Что не так?
Вывод:
LJ 0 12:44:54.122 TestScript (EURUSD,H4) -----
NS 0 12:44:54.122 TestScript (EURUSD,H4) Date1=2024.11.28 09:22:00
QS 0 12:44:54.122 TestScript (EURUSD,H4) Str= 1732785720 2024.11.28 09:22
QQ 0 12:44:54.122 TestScript (EURUSD,H4) Date2=1970.01.01 00:00:00
CL 0 12:44:54.122 TestScript (EURUSD,H4) StrStr[0]= 1732785720 StrStr[1]=2024.11.28 StrStr[2]=09:22
DJ 0 12:44:54.122 TestScript (EURUSD,H4) Date3=1970.01.01 00:00:00
всё нормально...это просто чудеса Print() и приведения типов в нём. По хорошему его надо использовать только с единственным аргументом - строкой. Остальное только для быстрой отладки и чревато фокусами.
вот так примерно (константа copy-paste взята у вас)
Print("date is "+TimeToString(d,TIME_DATE|TIME_MINUTES|TIME_SECONDS));
Попробовал, не помогло.
DL 0 23:51:40.684 TestScript (EURUSD,H4) Date3=1970.01.01 00:00:00
PG 0 23:51:40.684 TestScript (EURUSD,H4) date is 1970.01.01 00:00:00
Попробовал, не помогло.
DL 0 23:51:40.684 TestScript (EURUSD,H4) Date3=1970.01.01 00:00:00
PG 0 23:51:40.684 TestScript (EURUSD,H4) date is 1970.01.01 00:00:00
тогда откройте файл в HEX редакторе и посмотрите первый байт. что там у вас.
потому-что вот тут:
там пробела вроде как не должно быть...может там у вас какой-то служебный символ попался. Может BOM
и ещё раз: не надо Print...
PrintFormat("Str[0]=<<%s>>",Str[0]); // и будет отчётливо видно, есть там лишние "пустые" символы или нет
Не читается дата записанная в файл. Что не так?
Вывод:
LJ 0 12:44:54.122 TestScript (EURUSD,H4) -----
NS 0 12:44:54.122 TestScript (EURUSD,H4) Date1=2024.11.28 09:22:00
QS 0 12:44:54.122 TestScript (EURUSD,H4) Str= 1732785720 2024.11.28 09:22
QQ 0 12:44:54.122 TestScript (EURUSD,H4) Date2=1970.01.01 00:00:00
CL 0 12:44:54.122 TestScript (EURUSD,H4) StrStr[0]= 1732785720 StrStr[1]=2024.11.28 StrStr[2]=09:22
DJ 0 12:44:54.122 TestScript (EURUSD,H4) Date3=1970.01.01 00:00:00
>>>К разработчикам<<<
Кажется нашел проблемное место. Открыл текстовый файл в 16-ричном коде. Обнаружил пару байт, в самом начале файла, 'FF' и 'FE'. Они дают лишний/неизвестный знак к числу '1732785720'. Очевидно, что StringToInteger() возвращает по ошибке "неизвестной цифры" ноль. Поэтому ноль и выводится...
Интересно, что если убрать строку:
то все начинает работать нормально. Если же принудительно перевести указатель файла на ноль, тогда и происходит ошибка чтения из текстового файла.
PS
Пробовал в МТ4, там без проблем, ни каких лишних байт не пишется.
Пробовал удалить байты "в ручную", после этого файл читается без сбоев.
Пробовал создавать тестовый файл в блокноте и в word, таких байт в начале не обнаружено.
>>>К разработчикам<<<
Кажется нашел проблемное место. Открыл текстовый файл в 16-ричном коде. Обнаружил пару байт, в самом начале файла, 'FF' и 'FE'. Они дают лишний/неизвестный знак к числу '1732785720'. Очевидно, что StringToInteger() возвращает по ошибке "неизвестной цифры" ноль. Поэтому ноль и выводится...
Интересно, что если убрать строку:
то все начинает работать нормально. Если же принудительно перевести указатель файла на ноль, тогда и происходит ошибка чтения из текстового файла.
PS
Пробовал в МТ4, там без проблем, ни каких лишних байт не пишется.
Пробовал удалить байты "в ручную", после этого файл читается без сбоев.
Пробовал создавать тестовый файл в блокноте и в word, таких байт в начале не обнаружено.
Попробуйте при открытии файла добавлять флаг FILE_ANSI.