Ну как сказать... Когда-то уже была и ситуация с перепродажей сигналов, и сейчас есть клиенты, которые используют эту ТС для работы на своих ПАММах.
ТС не сильно "супер-пупер-прибыльная", однако, ее стабильность весьма высока. А главное - возможность копирования сделок из тестера не нравится ее автору. И он предлагает мне, как программисту, подумать над возможностями решения этой проблемы.
Ну, разве что это чисто техническая задача. Но с точки зрения заказчика она все равно останется глупостью.
George Merts: Да, еще один вариант - это знать точную дату окончания теста. В этом случае - тоже все нормально, но как узнать-то эту дату ?
Дату окончания теста можно поставить в будущем, не катит.
Попробуйте такой вариант: первый прогон должен пройти без каких-либо действий, и только с запоминанием даты последнего тика. Повторный прогон должен вести торговлю, но только до нужной даты (запомненная минус месяц). Куда запомнить (и как зашифровать) дату последнего тика - вопрос техники. Неудобство одно (и пока - наименьшее) - тест нужно запустить 2 раза ;)
Дмитрий, задача в том, чтобы перестать обрабатывать тики в тестере заранее, до даты в реале. Для этого надо знать эту реальную дату. Из тестера ее узнать можно лишь как написано выше - путем файловой операции. Но, если ушлый юзер переведет время на компе вперед - файловая операция также даст не реальное время, а время смещенное вперед.
Проблема, собственно, именно в том, что если эксперт работает на таймфрейме M5 и старше (особая проблема на дневках) - становится возможным запускать его на тестере стратегий и считывать последнее действие, перенося его в дрyгой терминал, и не покупать советника, пользуясь только демо-версией.
Vitalie Postolache: Интересно, а автор данной ветки может привести хоть один пример, когда кто-то смог воспроизвести по результатам тестирования сделки на реале и заработать при этом? Имея только демо-советника в тестере и ничего больше?
Если задаться целью, то можно и скальперские стратегии так копировать. Что мешает отслеживать сигнал из тестетра каждые 2-3 секунды ?
Dmitiry Ananiev: Если задаться целью, то можно и скальперские стратегии так копировать. Что мешает отслеживать сигнал из тестетра каждые 2-3 секунды ?
То, что это ТЕСТЕР, он априори в прошлом работает и сколько ни тужься, не сможешь повторить сделку по тем же условиям и в то же время. Но если это не пипсовка, а долгосрок, тогда действительно кто-то может и додуматься так делать, хотя смысла всё равно мало, проще разгадать стратегию и повторить.
При первом прогоне эксперт торгует в тестере стратегий до даты защитой в него (или за месяц до этой даты, условия - на усмотрение автора).
После даты указанной в нем, он продолжает получать котировки, запоминая время последней пришедшей котировки в тестере стратегий, но не совершая торговых действий.
По окончанию тестирования, он записывает запомненное последнее время в специальный файл.
Сама запись зашифрована и следовательно нельзя заменить ее содержимое таким образом, что бы при расшифровки записи она указывала на дату в будущем.
При последующем запуске в тестере стратегий, эксперт прочтет этот файл, расшифрует его содержимое и поймет, что уже запускался по крайней мере до даты, указанной в нем.
Далее дело техники, во второй и следующие прогоны он продолжает торговать до даты указанной в файле минус один месяц.
При этом получая все более новые даты в тестере стратегий или на реале, он будет постоянно автоматически двигаться вслед за новой историей, держа дистанцию один месяц.
С точки зрения пользователя это будет выглядеть так, что в первый раз, в момент прогона, он будет почему-то торговать не до конца выбранного оптимизационного периода. Однако начиная уже со второго прогона и далее, его запаздывание сократиться и будет соответствовать одному месяцу или около того.
При этом снять защиту можно будет только лишь полностью расшифровать файл путем подбора ключа или декомпиляции советника. Учитывая современные технологии и качество защиты MQ своих программ, это практически невозможно. Если пользователь решит удалить файл шифрования, советник создаст его заново, со старой датой защитой в него еще при компиляции, и пользователь все равно не сможет добиться от него торговли в текущий момент.
Что хорошо, подобный метод лишь чуточку ограничивает удобство пользователей. Повторный запуск советника полностью исправит слишком большую задержку. В тоже время, подобная защита не требует внешних DLL, а значит может распространяться в маркете. Например, можно создать бесплатную версию, торгующую только до определенной даты.
...Ровно за месяц до окончания теста. И хоть куда переводи время компа... результат останется прежним, за месяц до окончания теста.
Но если нет вариантов узнать дату окончания теста, то и идея несбыточная.
Ну как сказать... Когда-то уже была и ситуация с перепродажей сигналов, и сейчас есть клиенты, которые используют эту ТС для работы на своих ПАММах.
ТС не сильно "супер-пупер-прибыльная", однако, ее стабильность весьма высока. А главное - возможность копирования сделок из тестера не нравится ее автору. И он предлагает мне, как программисту, подумать над возможностями решения этой проблемы.
Ну, разве что это чисто техническая задача. Но с точки зрения заказчика она все равно останется глупостью.
Да, еще один вариант - это знать точную дату окончания теста. В этом случае - тоже все нормально, но как узнать-то эту дату ?
Дату окончания теста можно поставить в будущем, не катит.
Попробуйте такой вариант: первый прогон должен пройти без каких-либо действий, и только с запоминанием даты последнего тика.
Повторный прогон должен вести торговлю, но только до нужной даты (запомненная минус месяц). Куда запомнить (и как зашифровать) дату последнего тика - вопрос техники.
Неудобство одно (и пока - наименьшее) - тест нужно запустить 2 раза ;)
Дмитрий, задача в том, чтобы перестать обрабатывать тики в тестере заранее, до даты в реале. Для этого надо знать эту реальную дату. Из тестера ее узнать можно лишь как написано выше - путем файловой операции. Но, если ушлый юзер переведет время на компе вперед - файловая операция также даст не реальное время, а время смещенное вперед.
Проблема, собственно, именно в том, что если эксперт работает на таймфрейме M5 и старше (особая проблема на дневках) - становится возможным запускать его на тестере стратегий и считывать последнее действие, перенося его в дрyгой терминал, и не покупать советника, пользуясь только демо-версией.
Если так серьезно, можно откуда-нибудь с интернета брать время.
Интересно, а автор данной ветки может привести хоть один пример, когда кто-то смог воспроизвести по результатам тестирования сделки на реале и заработать при этом? Имея только демо-советника в тестере и ничего больше?
Если задаться целью, то можно и скальперские стратегии так копировать. Что мешает отслеживать сигнал из тестетра каждые 2-3 секунды ?
Говорят, что WebRequest в тестере не работает...
...
Проблема не так проста как может показаться в начале. Можно предложить следующее (следите за мыслью):
С точки зрения пользователя это будет выглядеть так, что в первый раз, в момент прогона, он будет почему-то торговать не до конца выбранного оптимизационного периода. Однако начиная уже со второго прогона и далее, его запаздывание сократиться и будет соответствовать одному месяцу или около того.
При этом снять защиту можно будет только лишь полностью расшифровать файл путем подбора ключа или декомпиляции советника. Учитывая современные технологии и качество защиты MQ своих программ, это практически невозможно. Если пользователь решит удалить файл шифрования, советник создаст его заново, со старой датой защитой в него еще при компиляции, и пользователь все равно не сможет добиться от него торговли в текущий момент.
Что хорошо, подобный метод лишь чуточку ограничивает удобство пользователей. Повторный запуск советника полностью исправит слишком большую задержку. В тоже время, подобная защита не требует внешних DLL, а значит может распространяться в маркете. Например, можно создать бесплатную версию, торгующую только до определенной даты.