|
外汇股票公式
专用 加密方案 |
|
因特网认证 |
电子注册 |
信息发布系统 |
|
|
|
|
外汇公式 高级 加密方法(源码写入DLL)
张裕飞
http://www.Zlocksoft.com
把 MT 系统自带的 CCI.mq4 写入 DLL 的简单例子
假设您原来公式为 CCI.mq4,其中的 start 函数部分如下:
//+------------------------------------------------------------------+
int start()
{
int i, k, counted_bars =
IndicatorCounted();
double price, sum, mul;
if(CCIPeriod <= 1)return(0);
if(Bars <= CCIPeriod)return(0);
//---- initial zero
if(counted_bars < 1)
{
for(i = 1; i <= CCIPeriod; i++)
CCIBuffer[Bars-i] = 0.0;
for(i = 1; i <= CCIPeriod; i++)
DevBuffer[Bars-i] = 0.0;
for(i = 1; i <= CCIPeriod; i++)
MovBuffer[Bars-i] =0.0;
}
//---- last counted bar will be recounted
int limit = Bars - counted_bars;
if(counted_bars > 0)
limit++;
//---- moving average
for(i = 0; i < limit; i++)
MovBuffer[i] = iMA(NULL,0,CCIPeriod,0,MODE_SMA,PRICE_TYPICAL,i);
//---- standard deviations
i = Bars - CCIPeriod + 1;
if(counted_bars > CCIPeriod - 1)
i = Bars - counted_bars - 1;
mul = 0.015 / CCIPeriod;
while(i >= 0)
{
sum = 0.0;
k = i + CCIPeriod - 1;
while(k >= i)
{
price =(High[k] + Low[k] + Close[k])
/ 3;
sum += MathAbs(price - MovBuffer[i]);
k--;
}
DevBuffer[i] = sum*mul;
i--;
}
i = Bars - CCIPeriod + 1;
if(counted_bars > CCIPeriod - 1)
i = Bars - counted_bars - 1;
while(i >= 0)
{
price = (High[i] + Low[i] + Close[i]) / 3;
RelBuffer[i] = price - MovBuffer[i];
i--;
}
//---- cci counting
i = Bars - CCIPeriod + 1;
if(counted_bars > CCIPeriod - 1)
i = Bars - counted_bars - 1;
while(i >= 0)
{
if(DevBuffer[i] == 0.0)
CCIBuffer[i] = 0.0;
else
CCIBuffer[i] = RelBuffer[i] /
DevBuffer[i];
i--;
}
//----
return(0);
}
//+------------------------------------------------------------------+
则写入DLL加密后公式为:
//+------------------------------------------------------------------+
int start()
{
double Zlock[][6];
ArrayCopyRates(Zlock);
ZlockSoft_com(Zlock,IndicatorCounted(), Bars, CCIPeriod, CCIBuffer,
RelBuffer, DevBuffer, MovBuffer);
return(0);
}
//+------------------------------------------------------------------+
其中用 1 行(红色)代码,代替了原来 50
多行代码。这样,即使解密者还原出您公式的源码,也搞不清楚函数ZlockSoft_com()是如何工作的。并且这个函数不注册是不能运行的。这样才能真正起到加密的作用。
如果需要这种加密,必须把您的源码,提供给我(全部或部分源码,当然我这里会保证不扩散您的源码),我根据源码来编写 dll
替代函数。这样不同公式,里面的替代函数算法是完全不同的,解密者无法了解初始的mq4代码是什么。
具体例子,参见压缩包中“公式写入 DLL 例子” 目录下面的“CCI_DLL.mq4”等。
注意:要执行压缩包中的 Setup.exe,把加密支持文件安装到系统上。
下载演示版。 |