跳到正文

以二进制出售 Pine Script:规划中

  1. strategy.pine
    你写的策略。交出它,就交出了一切。
  2. strategy.cpp
    转译器据此生成的 C++,在你自己的机器上完成,现在就能用。
  3. strategy.so
    买家将运行的编译库。围绕它的许可证机制还在规划中。

为什么必须是二进制模型

计划是:把你的 PineScript v6 编译成原生.so库,让买家在自己的数据上运行而看不到你的源码,许可证限制也由你自己设定。这些都还没有开发。

今天卖 Pine 策略的痛点在于:Pine 即源码。你只要把一个.pine文件交给别人,就等于交出了全部:逻辑、参数,还有你的交易优势。没有什么能阻止买家修改、转卖或公开它。TradingView 可以隐藏已发布脚本的源码(受保护脚本和仅限邀请脚本),但这样一来,脚本就只能在 TradingView 上运行。

MetaQuotes 在 MQL5 上走的是编译路线。在 MQL5 Market 上,你出售的是.ex5二进制文件:买家下载编译后的文件,在 MetaTrader 中针对自己的账户运行,拿不到源码。许可证绑定买家的机器,可激活次数由卖家设定,交付和收款由市场平台负责。

PineForge 计划把同样的模式用到 Pine 上:你的策略先转译为 C++,再编译成.so共享库,这就是你要分发的交付物。买家将用 PineForge 运行时在自己的数据上运行它,运行时会在执行前校验许可证。许可证服务器目前还不存在。

转译和编译现在已经可以在本地完成(pineforge-release 镜像),所以你的源码无需离开你的机器。编译后的库是原生机器码:比 Pine 难读得多,不过有决心的工程师仍然可以逆向出它的逻辑。

MQL5 Market 自 2011 年起就一直按这种模式运营。PineForge 要做的,是在 Pine 上支撑同一模式的基础设施。

规划中的许可证限制

按照规划,你在发布策略时定义许可证,由运行时强制执行。共有六项限制:

限时
许可证在指定日期到期,例如按月订阅、付款后续期。
绑机
许可证绑定一台机器;迁移到其他机器需要你批准。
绑券商
许可证只能在你指定的券商或交易所的数据上运行。
绑标的
许可证只能在你允许的交易品种和周期上运行,这样为 BTC-USD 1 小时周期打造的策略,就不会被拿到其他市场上评判。
输入参数区间
买家只能在你允许的范围内调整输入参数,你的确切参数因此得以保密。
即时吊销
你可以吊销许可证,例如在发生拒付之后;下一次许可证校验会失败,策略随即停止运行。

规划概要请见/sell 页面。

暂无上线日期

坦白说:集市(浏览、购买、订阅、评分、争议处理)还在规划中,没有上线日期。它所需要的许可证服务器、卖家工具和支付,目前都还不存在。

目前进展:

  • 现在:本地编译。pineforge-release 镜像可以在你的机器上转译并编译任何受支持的 Pine v6 策略。流水线的这一部分已经真实可用。
  • 规划中:许可证。许可证签发,以及运行时中的许可证校验。
  • 规划中:集市。上架策略的发现、支付、评分和一致性报告。

如果你现在就在向自己的受众出售策略,并且需要这个功能,请加入卖家候补名单;这能让我们知道该先和谁聊。

下一步