но и тут хитрый юзер(с уровнем познаний терминала выше среднего) может дописать историю на N баров )
ЗЫ: да, самое простое получить количество баров на графике(iBars), из времени текущего, вычитать время первого(самого левого) и когда разность будет меньше или равна n барам останавливать тест.
хотя iBars не подойдёт нужно ковыряться в файле истории.
быстро подумал, писать файл и читать время его создания, но тут хитрожопый юзер опять же может перевести время компа.
Именно так. Это единственная возможность узнать реальное время компьютера из тестера. Так я и делаю.
Но, юзер может перевести время, как вы верно сказали.
Alexandr Bryzgalov:
ЗЫ: если для четвёрки, то читать файл истории по которому запускается сов, искать последний бар(нулевой) и останавливать тест за n баров до последнего
Не годится. В тестере стратегий история дается не вся, а по тикам, и "остановить тестер за несколько баров" невозможно. Открытие же файла истории - это вариант с самописной DLL, которого хотелось бы избежать. Если с DLL - то, как мне кажется, запрос времени из интернета - самое надежное.
Dmitiry Ananiev: а какие настройки надо вставить и где ? что-то nы заморочился совсем. TimrCurrent() время сервера. В тестере - это время прихода тиков по времени сервера. Сколько пишу совов к локальному времени компьютера не разу не привязывался.
Дмитрий, задача в том, чтобы перестать обрабатывать тики в тестере заранее, до даты в реале. Для этого надо знать эту реальную дату. Из тестера ее узнать можно лишь как написано выше - путем файловой операции. Но, если ушлый юзер переведет время на компе вперед - файловая операция также даст не реальное время, а время смещенное вперед.
Проблема, собственно, именно в том, что если эксперт работает на таймфрейме M5 и старше (особая проблема на дневках) - становится возможным запускать его на тестере стратегий и считывать последнее действие, перенося его в дрyгой терминал, и не покупать советника, пользуясь только демо-версией.
George Merts: Не годится. В тестере стратегий история дается не вся, а по тикам, и "остановить тестер за несколько баров" невозможно. Открытие же файла истории - это вариант с самописной DLL, которого хотелось бы избежать. Если с DLL - то, как мне кажется, запрос времени из интернета - самое надежное.
остановить это образно сказано, имелось ввиду что советник перестанет реагировать на сигналы.
Единственный вариант защищенной проверки робота, это вешать на сервере метаквотов как на чемпионатах было, висит куча продажных роботов, торгует, доступ к роботам у продавцов возможен, но все их действия фиксируются и выкладываются на всеобщее обозрение. Полез ручками фиксить позиции, поменял параметры, все все видят. Только это утопия к сожалению...
быстро подумал, писать файл и читать время его создания, но тут хитрожопый юзер опять же может перевести время компа.
ЗЫ: если для четвёрки, то читать файл истории по которому запускается сов, искать последний бар(нулевой) и останавливать тест за n баров до последнего
но и тут хитрый юзер(с уровнем познаний терминала выше среднего) может дописать историю на N баров )
ЗЫ: да, самое простое получить количество баров на графике(iBars), из времени текущего, вычитать время первого(самого левого) и когда разность будет меньше или равна n барам останавливать тест.
хотя iBars не подойдёт нужно ковыряться в файле истории.
быстро подумал, писать файл и читать время его создания, но тут хитрожопый юзер опять же может перевести время компа.
Именно так. Это единственная возможность узнать реальное время компьютера из тестера. Так я и делаю.
Но, юзер может перевести время, как вы верно сказали.
Alexandr Bryzgalov:
ЗЫ: если для четвёрки, то читать файл истории по которому запускается сов, искать последний бар(нулевой) и останавливать тест за n баров до последнего
а какие настройки надо вставить и где ? что-то nы заморочился совсем. TimrCurrent() время сервера. В тестере - это время прихода тиков по времени сервера. Сколько пишу совов к локальному времени компьютера не разу не привязывался.
Дмитрий, задача в том, чтобы перестать обрабатывать тики в тестере заранее, до даты в реале. Для этого надо знать эту реальную дату. Из тестера ее узнать можно лишь как написано выше - путем файловой операции. Но, если ушлый юзер переведет время на компе вперед - файловая операция также даст не реальное время, а время смещенное вперед.
Проблема, собственно, именно в том, что если эксперт работает на таймфрейме M5 и старше (особая проблема на дневках) - становится возможным запускать его на тестере стратегий и считывать последнее действие, перенося его в дрyгой терминал, и не покупать советника, пользуясь только демо-версией.
Не годится. В тестере стратегий история дается не вся, а по тикам, и "остановить тестер за несколько баров" невозможно. Открытие же файла истории - это вариант с самописной DLL, которого хотелось бы избежать. Если с DLL - то, как мне кажется, запрос времени из интернета - самое надежное.
А узнать конечную дату теста никак нельзя?
имелось ввиду что советник перестанет реагировать на сигналы.
Даже если бы и можно было, то это все равно ничего не дает. Задача - узнать реальное текущее время из тестера без использования API.
Как раз если можно было бы - все решилось.
Реальное текущее время из тестера узнается с помощью файловой операции. Это, конечно, изврат, но он реально работает.
Если у кого есть какие идеи по поводу окончания времени тестирования из тестера - делитесь.