Защита авторства MQL кода в МТ5. security certificates - страница 9

 
hrenfx:

Есть эксперты, в которые вшита история. Или которые умеют считывать историю из исторический базы. Такие эксперты-пустышки показывают замечательные результаты в тестере. Будет ли какая-нибудь защита от такого рода мошенничества? Особенно, если эксперт поставляется вместе с DLL...

Как сервис будет бороться за свою репутацию на случай MQL5-кода + вредоносный DLL (от шпионов до вирусов)?

С DLL продаваться ничего не будет. Это наш осознанный шаг.

Борьба с зашитыми точками входа будет простой - мы специально реализуем штатные способы агрессивного режима тестирования, включая автосдвиг истории для обнаружения откровенно обманных экспертов.

 
Renat:

С DLL продаваться ничего не будет. Это наш осознанный шаг.

Борьба с зашитыми точками входа будет простой - мы специально реализуем штатные способы агрессивного режима тестирования, включая автосдвиг истории для обнаружения откровенно обманных экспертов.

ну если с DLL не будет магазинов, то будьте добры заполняйте качественным кодом раздел https://www.mql5.com/ru/code/libraries , вот яркий пример уже существующей библиотеки http://imglink.ru/pictures/09-11-10/3fc300a90666621bcc2d74447db572f3.jpg - информативности и иже с ними комментариев уйма, бери и пользуйся ;)

чтобы можно было туда заглянуть и взять готовую штатную библиотеку на mql5 - без багов и с конкретным описанием ф-ций, да и названия ф-ций чтобы выглядели схожими в Си или Delphi

ЗЫ: вот конкретный пример: потратил день на перевод библиотеки вейвлет-преобразований в mql5, столкнулся с тем, что в mql5 невозможно работать с многомерными динамическими массивами, попробовал через структуры, после написания кода получил подобие вейвлет-преобразований на mql5, с бесчисленными проверками и ошибками, плюнул подключил DLL и пользуюсь уже готовым решением, думаю, что если займусь генетическими алгоритмами, то проще будет найти сторонюю DLL с описанием, чем в библиотеке mql5 на данном этапе 

MQL5 Code Base: Библиотеки
MQL5 Code Base: Библиотеки
  • www.mql5.com
Библиотека исходных кодов на языке MQL5 для MetaTrader 5
 
YuraZ:

Неужели это вызывает вопрос ?  тот кто продает разумеется  тот и привяжет

у меня на это уходит от 1-до 5 минут... 

после получения данных автоматом делается генерация релиза,

решено все вплоть до автоматической рассылки изменений релизов


или мысль у вас идет дальше , Вы спите а софт покупают в автомате ,  на сайте ? :-)


ну при должном  контроле и так можно сделать! прямо на www


1-завязка с теми же сервисами оплаты WM

    после факта оплаты п 2 3 4

2-внесение клиентом личных данных , для персонализации , в специальные поля

3-генерация релиза

4-рассылка релиза по почте


это тоже решается все ! проблем особых не вижу









Есть автор , магазин и покупатель. С момента когда автор выставил свой товар в магазине надо считать что он улетел на луну . Продажи должен осуществлять магазин без привлечения автора.

Если должна быть привязка к счету, то это должен делать магазин. Создание ,содержание магазина и способов защиты это расходы .Украсть можно почти всё , это вопрос средств которые можно на это потратить,

защитить можно почти всё , это тоже вопрос средств которые можно ( рентабельно ) на защиту потратить. Очевидно что защита магазина торгующего условно алмазами  и защита магазина торгующего софтом

по цене от 5 до 500 уе , будет разная. Нет предела совершенства , это только вопрос рентабельности. 

 
Renat:

Борьба с зашитыми точками входа будет простой - мы специально реализуем штатные способы агрессивного режима тестирования, включая автосдвиг истории для обнаружения откровенно обманных экспертов.

Тогда продумайте, как будете бороться с арбитражными советниками. Арбитражному советнику ровно до всех агрессивных режимов тестирования:

Чем более агрессивней режим, тем меньше прибыль. Но прибыль будет всегда. И только в тестере.

Более того, одно дело, если арбитраж рассматривается, как частный случай. Например, только в одной тройке: EURUSD, GBPUSD и EURGBP.

И другое дело, когда арбитраж универсальный: рассматриваются тысячи вариантов троек и четверок и ловятся арбитражные флуктуации (в свободном доступе есть такой вариант на MQL4, который тоже работает в неттинговом режиме и требует минимальных переделок под MQL5). С таким советником никакой агрессивный режим не поможет.

P.S. Арбитражный советник вывести на чистую воду можно только потиковой историей. Нет, это не прежний холивар. Можно сделать супер-режим тестера, который тестирует, например, только за сутки на тиковой истории. И тиковую историю берет не с торгового сервера, а сам собирает. Т.е. если пользователь хочет провести тестирование в супер-режиме, пусть изволит держать терминал в онлайне в течение суток для сбора тиков.

P.P.S. Более того, если бы сам терминал штатно собирал тики и давал к собранным тикам доступ через MQL5, то можно было бы гораздо проще создавать советники для стат. арбитража, который реально существует на биржах. Например, индекс РТС и его фьючерс. Согласен, сбор тиков можно осуществить средствами MQL5 и даже организовать к собранным и собираемым тикам доступ для любой программы на MQL5, но решение "не очень".

 
Mischek:

Есть автор , магазин и покупатель. С момента когда автор выставил свой товар в магазине надо считать что он улетел на луну . Продажи должен осуществлять магазин без привлечения автора.

Если должна быть привязка к счету, то это должен делать магазин. Создание ,содержание магазина и способов защиты это расходы .Украсть можно почти всё , это вопрос средств которые можно на это потратить,

защитить можно почти всё , это тоже вопрос средств которые можно ( рентабельно ) на защиту потратить. Очевидно что защита магазина торгующего условно алмазами  и защита магазина торгующего софтом

по цене от 5 до 500 уе , будет разная. Нет предела совершенства , это только вопрос рентабельности. 

Ну тогда в магазин передается  функционал по привязке - привязка занимает 5 минут делов

  кроме того можно еще и автоматизировать привязку ...  

при  покупке в онлайн магазине покупатель вводит номер счета или ФИО и получает продукт

  присутствие разработчика  не обязательно


не вижу проблем!


--


Вообще то изначально речь шла о другом - о том как делать привязку к железу или специфично к номеру счета фио

я за привязку к фио или номеру счета...  и против привязки по железу


в свое время писал защиты которые вязались по железу      как ни странно но всегда находилось такое железо на котором возникали проблемы

мир так разнообразен - и тех кто отступает от стандартов - не мало ...

--

например есть такие ... не буду писать  ,  у которых пара EURUSD  зачем то называется _EURUSD или EURUSD_

или EURUSDx ...

я просто не понимаю зачем так делать? зачем называть пару так как это не принято ? 

   как говорил Остап, убивать таких деятелей надо

--

во так и с железом.. бывает

всегда найдется какой нибудь ... производитель...  который сотворит на ровном месте проблемы

--

Опять же я описывал неудобство для конечного пользователя

  возникнут проблемы с UPGRADE м - с неудобством работать с продуктом на разных машинах и т п


но есть прекрасный вариант в рамках специфики нашей  - номер счета или ФИО - если реал  ,  к которому и можно привязать 


трейдер берет продукт и сможет работать на нем  только на своем счете!

и трейдер не зависит от железяки, это может быть и мобильны ноутбук и домашний комп и даже арендованый в гостинице на курорте

 а  другому , такой продукт не интересен, идеальная привязка... 


спросите у трейдера - у покупателя - что ему интересней ? какой вариант для него лучше ?

я уверен он ответит что мой вариант лучше...

 

Renat:

Лучше всего посмотреть на работающую схему продажи через AppStore/iTunes от Apple. Покупатель просто кликает и приобретает программы, не мучаясь необходимостью что-то передавать или использовать ключи. Покупателю достаточно иметь аккаунт на MQL5.com, на котором сохраняется история покупок и есть возможность переактивировать ранее купленные программы.

только что владелец iPhone4 вживую показал мне как выполняются покупки в AppStore. там есть такой момент: покупаемый продукт привязывается в апаратному идентификатору ЕГО телефона и будет работать только на нем. для телефона - это правильно и очень разумно. телефон физически нельзя проапгрейдить не сменив его: ну например нельзя поменять к-во памяти, "видеокарту", сетевые карты/интерфейсы. поэтому привязка к железу гарантирует использование только тем, кто его купил на его собственном телефоне.

однако в нашем с вами случае ситуация в корне иная. я молчу про ситуацию когда докупаются новые винты, меняются видеокарты или материнка. я покупаю эксперта который может работать на ЛЮБОМ компьютере. например я купил одного эксперта и совершенно честно буду пользоваться им на ТРЕХ машинках: дома - на домашнем ПК, по дороге на работу - на нетбуке, на работе - на рабочем ПК. могу еще в коммандировке на выданном мне ноуте. Заметьте - все совершенно честно и законопослушно: я купил один продукт и использую его только одну копию в один момент времени!

Если вы сделаете при продаже ТОЛЬКО привязку к железу - вы лишаете ТАКОГО честного покупателя честно работать с купленным товаром. Выход один - онлайн активация: я могу зарегистрировать кучу железяк но при запуске эксперт должен лезть в базу на сайт мкл5 смотреть есть ли там то железо, на котором он сейчас запущен и разрешать ему работу на нем, одновременно запрещая работу на остальных зарегистрированных железках. Вашим магазинным серверам не поплохеет от такой нагрузки?! они выдержат режим 24/7 (=365) без всяких там сайт временно не доступен (это форум может подождать ваши 503 а проданный эксперт такой задержки не должен получить никогда)?

так что ваши утверждения

что гораздо лучше ключей защищает продавца

и

Наша задача состоит в максимальном упрощении процесс покупки/продажи.

конечно правильные но, это защищает продавца упрощает ВАМ процесс покупки/продажи, но совершенно отбивает охоту покупать чтото либо для себя (я бы лично в описанной мной ситуации я бы ничего не купил) и соответственно чтото разрабатывать на продажу.

еще один момент который  в корне отличается от продаж апловых игрушек и музыки: игрушку я могу посмотреть у когото на телефоне и купив себе такую же, буду на 100% что у меня будет ТАЖЕ САМАЯ ИГРУШКА. Но с экспертами ситуация совсем другая: эксперт нормально "рубящий капусту" на депозите 10К просто не выставит нормальные стопы на депо 100$ или не будет там работать из за ошибки 130 или же допустимые на 10К просадки посадят 100$ депо за одну-две сделки.

поэтому я все таки возвращаюсь к своему предложению ОБДУМАТЬ не только механизм продаж но и предоставления демки или триала (ограничение по датам запуска, времени работы, демо счете, ... ).

 
ForexTools:

Выход один - онлайн активация: я могу зарегистрировать кучу железяк но при запуске эксперт должен лезть в базу на сайт мкл5 смотреть есть ли там то железо, на котором он сейчас запущен и разрешать ему работу на нем, одновременно запрещая работу на остальных зарегистрированных железках.

Идея очень понравилась. Несколько замечаний:

  1. EX5-файл распространяется бесплатно и сожержит (в дополнение к стратегии) анализ железа, на котором запущен, свой идентификатор и возможность связи с общей базой (проплаченные всеми пользователя советника конфигурации) разрешенных конфигураций железа для его работы на настоящих счетах (не тестере).
  2. Пользователь покупает лишь ячейку его базы разрешенных конфигураций железа для советника, которым хочет пользоваться.
  3. Пользователь через личный кабинет магазина может менять конфигурацию железа сколько угодно раз.
  4. Советник все время держит связь с базой разрешенного железа и опрашивает ее, можно ему работать или нет.
  5. База разрешенного железа может содержать столько одновременно активных конфигураций, сколько оплатил пользователь.
  6. Если пользователь хочет, чтобы советник работал одновременно не на 10 (как сейчас) различных компьютерах, а на 11 - он платит за это, после чего список разрешенных конфигураций (в личном кабинете) увеличивается на один элемент.

Т.е. EX5-файл находится у всех желающих. Работать же он будет только на том количестве конфигураций железа (отдельных компьютеров), сколько суммарно пользователи оплатили.

Слабое звено:

  1. Необходимость постоянной связи с базой разрешенных конфигураций железа. Т.е. магазин должен будет обрабатывать одновременно огромное количество запросов - количество одновременно запущенных всех когда-либо свободно распространенных EX5-файлов магазина (это могут быть миллионы запросов в секунду). И это только корректные запросы. А можно организовать еще и аттаку запросами... которую необходимо выдерживать. Дорогое решение.
  2. Копировать действия советника по инвест-счету всегда можно.
  3. В любом случае где-то в EX5-файле будет производиться сравнение:
if (CurrentHardware != AllowHardware)
  return;
которое будет не архи-сложно найти и "закомментировать" (но это известная проблема всех защит и имеет массу решений различного уровня надежности (сложности взлома)). На самом деле сравнение железа с базой будет происходить в самом магазине, а советник будет получать результат сравнения (это необходимо, чтобы разрешенные конфигурации нельзя было узнать). Но проблема "закомментировать" все равно будет присутствовать.
 

Наша позиция по автоматической защите при продаже через наш магазин:

  1. Привязки к номерам счетов не будет - пользователь должен иметь право запускать программу на любом брокере и любом счете.

    Кроме того, во вторую очередь, ни активного логина ни сервера может и не быть в момент запуска программы - система не должна обламывать пользователя на отложенной активации счета.

  2. Покупатель только нажимает на кнопку "купить", используя свой аккаунт на MQL5.com и больше ничего о себе не сообщает.

    Продавец видит отчеты о продажах с логинами покупателей. При возникновении вопросов продавец и покупатель могут обсуждать свои вопросы через личку. Покупатели могут публично комментировать купленные продукты, выставлять оценки, а продавцы имеют право отвечать.

  3. Никакого механизма "постоянных лицензионных проверок на сайте" не будет - это сказочная точка отказов, которая угробит всю систему продаж и контроля лицензий.

    Даже не обсуждается. Купленная программа должна работать в оффлайне.

  4. Любая продаваемая программа (индикатор или эксперт) могут быть бесплатно и безусловно скачаны для проверки в тестере. Продавец не может отказаться от этой возможности.

    В этом случае демо-версия программы специально автоматически перекодируется и шифруется с возможностью расшифровки и запуска только на агенте тестирования. В терминале программа даже не сможет расшифроваться и запуститься.

    Задача демо-версии в безусловной и обязательной возможности удостовериться покупателю в честности продавца и корректности программы.

  5. Любая программа должна пройти ряд наших тестов (аналог как на Automated Trading Championship) для оценки стабильности и отсутствия мошеннических действий и откровенных ошибок.

    Наша задача - снизить уровень откровенного надувательства со стороны продавцов граалей. У каждого эксперта будут публично представлены результаты стресс-тестирования.
     
  6. Каждая продаваемая EX5 копия программы перекомпилируется в нативный код, перезащищается под железо покупателя и подписывается нашим ключом.

    Тем самым максимально защищается продавец. Покупатель имеет право до 3х активаций купленной программы на разном железе. Скорее всего разрешим продавцу увеличивать количество разрешенных активаций до разумной величины, но не меньше 3.

  7. Идеология ограниченного количества активаций базируется на выставлении разумной цены продавцом.

    Продавец, имея мощную систему контроля лицензионного использования своих продуктов, должен выставлять разумные цены. То есть, цена должна быть достаточно дешевой и позволять покупать программу даже повторно (при истечении предыдущих активаций) широкому кругу пользователей.

Продажа софта - это бизнес.

Поэтому продажи надо строить с точки зрения бизнеса, а не программисткого подхода. Лучше в этом вопросе больше доверять нашему опыту и возможностям.

Особенно в свете того что мы своим магазином дадим продавцам прямой доступ к 100% всех пользователей терминала. А это стоит гораздо дороже ожидаемой 10% комиссии с продаж.

 
ну что ж, комплексный подход. для разработчика даже есть свой плюс - на вопрос "а почему вы не можете сделать для меня демку, триал, .... который может...." всегда есть отмазка - "а потому что разработчики терминала не предусмотрели такой возможности" - во всем можно найти выгоду для себя ;)


Renat:

В этом случае демо-версия программы специально автоматически перекодируется и шифруется с возможностью расшифровки и запуска только на агенте тестирования. В терминале программа даже не сможет расшифроваться и запуститься.

а как быть со скриптами которые работают по сбросу на график? их конечно будет мизер среди общего объема но все же:как их проверить в тестере? или будет режим визуального тестирования?
Визуализируй стратегию в тестере MetaTrader 5
Визуализируй стратегию в тестере MetaTrader 5
  • 2012.06.08
  • MetaQuotes Software Corp.
  • www.mql5.com
Каждому из нас давно знакома поговорка "Лучше один раз увидеть, чем сто раз услышать". Вы можете прочитать десятки книг о Париже или Венеции, но мысленные образы не позволят вам испытать те же ощущения, как от прогулки по их вечерним улицам. Преимущество визуализации, или наглядного представления, может быть легко спроецировано на любой аспект нашей жизни, включая и работу на рынке, например, анализ цен на графиках при помощи индикаторов, и конечно же, визуализация тестирования стратегий. В данной статье собраны все возможности тестера стратегий MetaTrader 5 по визуализации вычислений.
 
Renat:

Любая программа должна пройти ряд наших тестов (аналог как на Automated Trading Championship) для оценки стабильности и отсутствия мошеннических действий и откровенных ошибок.
Наша задача - снизить уровень откровенного надувательства со стороны продавцов граалей. У каждого эксперта будут публично представлены результаты стресс-тестирования.

Что с арбитражниками-пустышками? Это вопрос даже не магазина, а репутации результатов тестера.

Причина обращения: