错误、漏洞、问题 - 页 2441 1...243424352436243724382439244024412442244324442445244624472448...3184 新评论 fxsaber 2019.04.22 20:23 #24401 Sergey Dzyublik:也许MD5来自ex5文件? 也许在ex5文件中存储,用十六进制编辑器搜索...所以需要通过MQL5获得某种自身的哈希和。 Yousufkhodja Sultonov 2019.04.22 21:49 #24402 SSASultonov.mqh | //| Copyright 2018, IgorM | //| https://www.mql5.com/ru/users/igorm | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, IgorM" #property link "https://www.mql5.com/ru/users/igorm" #property version "1.00" #property strict double FactorialsTable[21]= { 1,1,2,6,24,120,720,5040,40320,362880,3628800,39916800,479001600,6227020800,87178291200,1307674368000, 20922789888000,355687428096000,6402373705728000,121645100408832000,2432902008176640000 }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CSSASultonov { private: int mcountSLAE; int mdigits; double Cx[],Cx2[],V1x[],C2xy[],C2xx[],V2xx[],C3xxy[],C3xxx[],V3xxx[]; int mSumN; double calcV(int index); double calcxx(int index1,int index2,int shift); double Factorial(const int n); public: CSSASultonov(int countSLAE,int digits); ~CSSASultonov(); void SSA(int shift); double a[5]; }; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CSSASultonov::CSSASultonov(int countSLAE,int digits) { mcountSLAE=countSLAE; mdigits=digits; ArrayResize(Cx,mcountSLAE); ArrayResize(Cx2,mcountSLAE); ArrayResize(V1x,mcountSLAE); ArrayResize(C2xy,mcountSLAE); ArrayResize(V2xx,mcountSLAE-2); ArrayResize(C3xxy,mcountSLAE-2); ArrayResize(C3xxx,mcountSLAE-2); ArrayResize(V3xxx,mcountSLAE-3); mSumN=0; for(int i=1; i<=mcountSLAE; i++) mSumN+=i; int n=mcountSLAE-1; int size_cxx=(int)(Factorial(n)/((Factorial(n-2))*2)); ArrayResize(C2xx,size_cxx); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CSSASultonov::~CSSASultonov() { } //+------------------------------------------------------------------+ double CSSASultonov::calcxx(int index1,int index2,int shift) { double result=0.0; for(int i=0;i<mcountSLAE; i++) { result+=NormalizeDouble(Open[index1+i+shift],mdigits)*NormalizeDouble(Open[i+shift+index2],mdigits); } return(result); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double CSSASultonov::calcV(int index) { return(NormalizeDouble((-0.5+sqrt(0.25+2.0 *mSumN))*Cx2[index]-Cx[index]*Cx[index],8)); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ CSSASultonov::SSA(int shift) { int i,j; double open; ZeroMemory(a); ZeroMemory(Cx); ZeroMemory(Cx2); ZeroMemory(V1x); ZeroMemory(C2xy); ZeroMemory(C2xx); ZeroMemory(V2xx); ZeroMemory(C3xxy); ZeroMemory(C3xxx); ZeroMemory(V3xxx); // формулы 27 - 35 суммы столбцов: // AI = Cx[0] AJ = Cx[1] AK = Cx[2] AL = Cx[3] AM = Cx[4] for(i=0;i<mcountSLAE; i++) { for(j=0;j<mcountSLAE; j++) { open=NormalizeDouble(Open[j+i+shift],mdigits); Cx[i]+=open; Cx2[i]+=open*open; } //AB - AE //V(x1) V(x2) V(x3) V(x4) V1x[i]=calcV(i); } // формулы 17 - 26 int countcxx=0; for(i=0;i<mcountSLAE; i++) { // AF- AI //C(x1y) C(x2y) C(x3y) C(x4y) C2xy[i]=NormalizeDouble((-0.5+sqrt(0.25+2.0 *mSumN))*calcxx(i,mcountSLAE-1,shift)-Cx[i]*Cx[mcountSLAE-1],8); for(j=i;j<mcountSLAE-2; j++) { // AJ - AO //C(x1X2) C(x1x3) C(x1x4) C(x2x3)=20 C(x2x4)=21 C(x3x4)=22 C2xx[countcxx]=NormalizeDouble((-0.5+sqrt(0.25+2.0 *mSumN))*calcxx(i,j+1,shift)-Cx[i]*Cx[j+1],8); countcxx++; // 0 = x1x2 (17) , 1 = x1x3 (18) , 2 = x1x4 (19) , 3= x2x3 (20) , 4 = x2x4 (21) , 5 = x3x4 (22) } } // формулы 14,15,16 // AV - AX // V(x1x2)=V2=14 V(x1x3)=15 V(x1x4)=16 for(i=0;i<ArraySize(V2xx); i++) V2xx[i]=V1x[0]*V1x[i+1]-C2xx[i]*C2xx[i]; // формулы 11,12,13 // AS - AU //C(x1x2y)=13 C(x1x3y)=12 C(x1x4y)=11 for(i=0;i<ArraySize(C3xxy); i++) C3xxy[ArraySize(C3xxy)-i-1]=V1x[0]*C2xy[i+1]-C2xx[i]*C2xy[0]; // формулы 6,7,8 // AP - AR // C(x1x2x3)=8 C(x1x2x4)=7 C(x1x3x4)=6 C3xxx[0] = V1x[0]*C2xx[5] - C2xx[1]*C2xx[2]; C3xxx[1] = V1x[0]*C2xx[4] - C2xx[0]*C2xx[2]; C3xxx[2] = V1x[0]*C2xx[3] - C2xx[0]*C2xx[1]; // формулы 9,10 // AY - AZ //V(x1x2x3)=V3=10 V(x1x2x4)=9 V3xxx[0] = V2xx[0]*V2xx[2] - C3xxx[1]*C3xxx[1]; V3xxx[1] = V2xx[0]*V2xx[1] - C3xxx[2]*C3xxx[2]; // формулы 3,4,5 // BC // C(x1x2x4y)=3 double Cx1x2x4y = V2xx[0]*C3xxy[0] - C3xxy[2]*C3xxx[1]; // BA // C(x1x2x3x4)=4 double Cx1x2x3x4 = V2xx[0]*C3xxx[0] - C3xxx[2]*C3xxx[1]; // BB // C(x1x2x3y)=C3=5 double Cx1x2x3y = V2xx[0]*C3xxy[1] - C3xxy[2]*C3xxx[2]; // формулы 1,2 // BE // V(x1x2x3x4)=V4=2 double Vx1x2x3x4 = V3xxx[1]*V3xxx[0] - Cx1x2x3x4 * Cx1x2x3x4; // BD // C(x1x2x3x4y)=C4=1 double Cx1x2x3x4y= V3xxx[1]*Cx1x2x4y - Cx1x2x3x4 * Cx1x2x3y; // расчет а a[4] = Vx1x2x3x4!=0.0 ? Cx1x2x3x4y / Vx1x2x3x4 : 0.0; a[3] = V3xxx[1]!=0.0 ? (Cx1x2x3y - a[4]*Cx1x2x3x4) / V3xxx[1] : 0.0; a[2] = V2xx[0]!=0.0 ? (C3xxy[2] - a[3]*C3xxx[2] - a[4]*C3xxx[1])/V2xx[0] : 0.0; a[1] = V1x[0]!=0.0 ? (C2xy[0] - a[2]*C2xx[0] - a[3]*C2xx[1] - a[4]*C2xx[2])/V1x[0] : 0.0; a[0] = (Cx[4] - a[1]*Cx[0] - a[2]*Cx[1] - a[3]*Cx[2] - a[4]*Cx[3])/mcountSLAE; /* Print("a[4] = ",a[4]); Print("a[3] = ",a[3]); Print("a[2] = ",a[2]); Print("a[1] = ",a[1]); Print("a[0] = ",a[0]); */ } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ double CSSASultonov::Factorial(const int n) { if(n<0) return(0); if(n<=20) return(FactorialsTable[n]); else { double val=FactorialsTable[20]; for(int i=21; i<=n; i++) val*=i; return(val); } } //+------------------------------------------------------------------+ 如何在我的文章中加入指标代码?这能行吗? Yousufkhodja Sultonov 2019.04.22 21:58 #24403 请帮助我如何在文章中插入 指标的代码,如附件中所示。 附加的文件: MQL4.zip 122 kb Sergey Dzyublik 2019.04.22 22:05 #24404 fxsaber:因此,你需要通过MQL5得到自己的某种哈希和。要解决这个问题,首先你需要了解这个问题,即找到它是什么样的哈希。 要做到这一点,我们需要有一个来自某个ex5的opt文件,然后根据给定的结构解压opt文件。 在检查了哈希字段之后的字段是否充分之后,你终于可以得到一个哈希值。 有了哈希值和ex5文件,就可以搜索它的来源,哈希值可能来源的前两种变体已经被我提出。也许MD5是来自ex5文件? 也许储存在ex5文件中,用十六进制编辑器搜索... Yousufkhodja Sultonov 2019.04.22 22:17 #24405 尊敬的论坛成员,是否有准备发表文章的自由职业者服务?我自己已经忘记了所有的规则和执行的微妙之处。如果没有,谁将承诺有偿编写 "系统指标 "一文的文本。如果不禁止的话,也要私下通信。 Vladimir Karputov 2019.04.23 02:24 #24406 Yousufkhodja Sultonov: 尊敬的论坛成员,是否有准备发表文章的自由职业者服务?我自己已经忘记了所有的规则和执行的微妙之处。如果没有,谁将承诺有偿编写 "系统指标 "一文的文本。如果不禁止的话,也要私下通信。 严禁将任何工作带到私人信息中。对于自由职业者的各种零星工作,有一个类别叫做 "培训"。 Yousufkhodja Sultonov 2019.04.23 03:29 #24407 Vladimir Karputov: 严禁将任何工作带入私人信息。自由职业者有一个培训类别,用于各种零星工作谢谢你的提醒,我将使用这个类别。 fxsaber 2019.04.23 04:15 #24408 Sergey Dzyublik:要解决这个问题,你首先需要了解这个问题,即找出它是什么样的哈希。有一个这样的EA void OnDeinit( const int ) { int Array[] = {123}; FileSave((string)MQLInfoInteger(MQL_PROGRAM_HASH), Array); } 当我进行传递时,它写下了一个同名的文件。这是正确的。 然后我重新编译,写下数字456而不是123。 之后,每一次传递都会写入相应的一个和相同的文件,但名称不同。 这就是我们需要以某种方式实现的功能。也就是说,如果EX5被改变,它所创建的文件名也会改变。 使用__DATETIME__宏是不合适的。 Igor Makanu 2019.04.23 05:38 #24409 fxsaber:这是一种需要以某种方式实现的功能。也就是说,如果EX5被改变,它所创建的文件名也会改变。如果你把它放在.ex5库中并重新编译呢? fxsaber 2019.04.23 05:41 #24410 Igor Makanu:如果你把.ex5库放在一个插件库中并重新编译,会怎么样?那会有什么不同呢? 1...243424352436243724382439244024412442244324442445244624472448...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也许MD5来自ex5文件?
也许在ex5文件中存储,用十六进制编辑器搜索...
所以需要通过MQL5获得某种自身的哈希和。
如何在我的文章中加入指标代码?这能行吗?
因此,你需要通过MQL5得到自己的某种哈希和。
要解决这个问题,首先你需要了解这个问题,即找到它是什么样的哈希。
要做到这一点,我们需要有一个来自某个ex5的opt文件,然后根据给定的结构解压opt文件。
在检查了哈希字段之后的字段是否充分之后,你终于可以得到一个哈希值。
有了哈希值和ex5文件,就可以搜索它的来源,哈希值可能来源的前两种变体已经被我提出。
也许MD5是来自ex5文件?
也许储存在ex5文件中,用十六进制编辑器搜索...
尊敬的论坛成员,是否有准备发表文章的自由职业者服务?我自己已经忘记了所有的规则和执行的微妙之处。如果没有,谁将承诺有偿编写 "系统指标 "一文的文本。如果不禁止的话,也要私下通信。
严禁将任何工作带入私人信息。自由职业者有一个培训类别,用于各种零星工作
谢谢你的提醒,我将使用这个类别。
要解决这个问题,你首先需要了解这个问题,即找出它是什么样的哈希。
有一个这样的EA
当我进行传递时,它写下了一个同名的文件。这是正确的。
然后我重新编译,写下数字456而不是123。
之后,每一次传递都会写入相应的一个和相同的文件,但名称不同。
这就是我们需要以某种方式实现的功能。也就是说,如果EX5被改变,它所创建的文件名也会改变。
使用__DATETIME__宏是不合适的。
这是一种需要以某种方式实现的功能。也就是说,如果EX5被改变,它所创建的文件名也会改变。
如果你把它放在.ex5库中并重新编译呢?
如果你把.ex5库放在一个插件库中并重新编译,会怎么样?
那会有什么不同呢?