Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В индикаторе подобные схемы будут работать только на демо или реале, потому что для индикаторов не моделируется серверное время, все функции получения даты и время возвращают данные последней записи в текущей истории, вот такой косяк в тестере.
Проверить это просто в метод start() индикатора просто добавте код возвращающий через алерт текущее «смоделированное» время
и будете во время теста получать все время одни и теже данные. Хотя в справке четко написано
Замечание: при тестировании последнее известное время сервера моделируется.
Но нет уточнения для чего именно моделируется, а для чего нет, для индикаторов видимо нет.
И какой выход из этого, как мне в тестере решать эту проблему? Для демо и реала проблем нет, можно взять iTime с часового ТФ.
Сейчас что-нибудь изобразим и для этого случая…
в принципе с натяжкой можно считать что последнее время сервера совпадает с Time(0)
Попробовала такую конструкцию, начала работать, но не совсем корректноНо мне нужно не последнее время сервера, а начало нового часа определить.
Но мне нужно не последнее время сервера, а начало нового часа определить.
Ох, этот вечный парсинг строк… и сейчас выручил :)
Параметр step – номер текущего считаемого бара в индикаторе, если нужно конечно корректно считать историю, а если нужно только текущее данные во время теста то можно просто присвоить 0.
Ох, этот вечный парсинг строк… и сейчас выручил :)
Параметр step – номер текущего считаемого бара в индикаторе, если нужно конечно корректно считать историю, а если нужно только текущее данные во время теста то можно просто присвоить 0.
Спасибо, попробую приспособить, но уже завтра, пора спать.
Помогите разобраться в мистике.
Хочу сохранять в файле данные торговли. Знаю, что они сохраняются в папке терминала /EXPERTS/FILES .
Написал следующий тестовый код (обработку ошибок убрал):
---------------
string FileName = "MyFile.csv";
int handle;
handle = FileOpen(FileName, FILE_CSV|FILE_WRITE, ';');
FileWrite(handle, " Proba");
FileClose(handle);
handle = FileOpen(FileName, FILE_CSV|FILE_READ,';');
Comment (FileReadString(handle), " FileName = ", FileName, " FileSize = ", FileSize (handle));
FileClose(handle);
------------
То есть, открыл файл на запись, записал туда текст, закрыл файл.
Опять открыл, но для чтения, прочитал из него текст, вывел текст в строку комментария на графике, закрыл файл.
Так вот, всё это работает и комментарий на график выводится, но файла в той директории я не нашёл! Более того, пустил поиск по всему диску C:\, но опять файла не нашёл! Мистика какая-то! Файл, вроде есть, но его нет.
Когда к простому имени файла я добавил полный путь к папке /EXPERTS/FILES, то вышла ошибка о неправильном имени файла.
Ну не должно так быть! Не правильно это!
Где мой файл?
В ОЗУ.
Разбейте процесс записи и чтения, например так
Файл успеет записаться на жесткий диск и вы его найдете.
Попробовала такую конструкцию, начала работать, но не совсем корректноНо мне нужно не последнее время сервера, а начало нового часа определить.
Похоже, не корректность работы связана с пропуском баров в истории на которой произвожу тестирование.
Попробовала такую конструкцию, начала работать, но не совсем корректноНо мне нужно не последнее время сервера, а начало нового часа определить.
Кстати ваш код, тоже очень даже рабочий. Его можно даже еще более упростить
Так что со своим методом я немного перемудрил, все можно сделать и по проще :))
Кстати ваш код, тоже очень даже рабочий. Его можно даже еще более упростить
Так что со своим методом я немного перемудрил, все можно сделать и по проще :))
Я не случайно брала двойную конструкцию if, я использую как проверку на начало нового бара для определенных логических задач, так и переопределение переменных при наступлении нового часа, а последнюю функцию я внесла внутрь первой, чтобы к ней не было обращений по каждому тику, а только по началу нового бара.