Боюсь ограничение по кол-ву запусков никак, ну или почти никак ... Можно по номеру счета, типу счета (например только демо), только тестер, времени использования... А как - дополнительным условием перед выполнением основного кода эксперта.
Напр. if (!IsDemo() || !IsTesting()) return(0);
Спасибо! Это интересно, подумаю.
По количеству запусков есть варианты: 1-файл создать в какой-нибудь папке windows, или несколько файлов в разных папках, чтобы понять сложнее было. 2 - делать запись в реестр windows. Во всех случаях переустановка windows позволит советнику работать. Обновить системный диск c образа дело нескольких минут, так что делать такую защиту наверно не имеет смысла.
С количеством запусков - это действительно проблема.
То, что Вы Integer предлагаете можно сделать, но будет очень трудоемко, да и как Вы
сами написали: " Во всех случаях переустановка windows позволит советнику работать. Обновить системный диск c образа дело нескольких минут, так что делать такую защиту, наверно, не имеет смысла".
Также, спасибо за помощь !
По количеству запусков есть варианты: 1-файл создать в какой-нибудь папке windows, или несколько файлов в разных папках, чтобы понять сложнее было. 2 - делать запись в реестр windows. Во всех случаях переустановка windows позволит советнику работать. Обновить системный диск c образа дело нескольких минут, так что делать такую защиту наверно не имеет смысла.
Если просто сделать ограничение по времени - то можно хотя бы так:
if ( (Month()>3) || (Year()!=2007) ) { Comment("Демонстрационное время советника вышло!"); Alert("Демонстрационно время работы советника вышло"); return; }
Однако в Windows ничего не стоит отмотать календарик, не пойдет :) Ограничение на количество записей можно организовать только через работу с файлами, как правильно заметил матерый Integer
Как вариант - можно логику советника запрограммировать в dll. А ограничение по времени через системные функции С++ реализовать.
Но дизассемблером такая защита снимается, хотся для этого нужны квалифицированные взломщики.
Самый реальный вариант - это работа через сервер, на котором крутится советник, отдающий сигналы в клиентскую часть. ЭТо очень сложно сломать :)
А кто-нибудь пробовал так делать ?
Integer , может просвятите народ о способах защиты?
а разве терминал не запрашивает дату и время с сервака?
вот же, из хэлпа:
Замечание: при тестировании последнее известное время сервера моделируется. |
вот тоже для года:
Замечание: при тестировании последнее известное время сервера моделируется. |
имхо как раз такой вариант и пойдет и календарик можно крутить скока влезет - не сработает...
if(Time[0]>StrToTime("2006.12.31")){ Alert("Демо! время закончилось"); return(0); }
Я так делаю
Задумайтесь, а действительно-ли у Вас есть нечто такое, что достойно
защиты...
Женщина одна умная мне сказала, что самомнение у мужчин размером
с маленькую галактику. Я тогда посмеялся, а сейчас мне грустно.
..
Был период в моей жизни, когда тоже ломал голову над способами
защиты. А потом понял простую вещь, что лучшая защита - это её
отсутствие. Открытость не сломаешь. А продавать нужно не программу,
а отношение. За отношение клиент платит любые деньги.
KimIV. Все хорошо, но только до той поры пока ты не узнаешь, что твоя программа перепродается и за большие деньги, этим твоим клиентом с которым ты так доверительно общаешься :(. Может правда к программам разработанным для FOREX это не относится, т.к. мой печальный опыт был совершенно не связан с FOREX, но я так думаю, если люди увидят возможность заработать, то они заработают, а потом еще и посмеются над тобой. Вот тогда действительно начнешь задумываться над защитой своего ПО
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите, как создать советника с ограничениями:
- срок работы;
- количество запусков.
Также интересно узнать какие еще существуют варианты ограничений?