程序库: 多功能测试仪 - 页 20 1...131415161718192021222324252627...56 新评论 traveller00 2020.08.10 07:05 #191 一个堆崩溃的棘手错误,似乎已经存在了很长时间。 ::ArrayResize(Buf, (int)user32::SendMessageW(Handle, CB_GETLBTEXTLEN, 0, 0 )); user32::SendMessageW(Handle, CB_GETLBTEXT, 0, Buf); CB_GETLBTEXTLEN:返回值是字符串的长度,以 TCHAR 为单位,不包括结束符空字符。 CB_GETLBBTEXT:缓冲区必须有足够的空间容纳字符串和结束符空字符。 应写入 ::ArrayResize(Buf, (int)user32::SendMessageW(Handle, CB_GETLBTEXTLEN, 0, 0 )+1); fxsaber 2020.08.10 07:42 #192 traveller00:一个巧妙的失误,一个似乎活了很久的堆积。 CB_GETLBTEXTLEN:返回值是字符串的长度,以 TCHAR 为单位,不包括结束符空字符。 CB_GETLBBTEXT:缓冲区必须有足够的空间容纳字符串和结束符空字符。 应写入 谢谢!的确,使用这种方法的 GetExpertName 几乎已成为一种基本方法。 traveller00 2020.08.10 07:52 #193 fxsaber:在使用 GetExpertName 时,它几乎已成为一种基本功能。 怎么说呢,它是 在SetExpertName 中使用的,而 SetExpertName 又是从 Run 中 提取的 ,事实上它是 MultiTester 的主要功能之一。虽然这种错误很少见,但我还是无意中发现了。 fxsaber 2020.08.10 08:47 #194 traveller00:怎么说呢,它是在 SetExpertName 中使用的 ,而SetExpertName 则是从 Run 中提取的 ,事实上它也是 MultiTester 的主要功能之一。虽然这个错误很少出现,但我还是无意中遇到了。 已经有一段时间没有这样了。 traveller00 2020.08.10 14:07 #195 Str += iBeginTime ? "FromDate==" + ::TimeToString(iBeginTime, TIME_DATE) + "\n" : NULL; Str += iEndTime ? "ToDate==" + ::TimeToString(iEndTime, TIME_DATE) + "\n" : NULL; FromDate==" 和 "ToDate==" 中多余的等号 ? fxsaber 2020.08.10 14:43 #196 traveller00:FromDate==" 和 "ToDate==" 中多余的等号 ? 没有必要,谢谢。 Good Beer 2020.09.03 20:12 #197 您好。我正在使用 MultiTester 作为标准远期的 WFO,但标准的 1/4 周期分隔符是不够的。我试图理解您的代码并教会 MultiTester 填入正向日期字段,但如果没有 OOP 知识,我是做不到的。我找到了 MTTester 文件中的 Run() 函数。我无法进一步理解。所有参数都粘在一行中,然后传给 SetSettings2 和 SetSettings,在那里它们被相乘并传给剪贴板。如果字符串中出现另一个参数,以及 MultiTester 将数据插入窗口的位置,您能告诉我还需要修改什么吗? 同时,请告诉我 TesterSettings.Add() 函数中 INITDEINIT fInit 和 INITDEINIT fDeinit 的用途。 fxsaber 2020.09.03 20:19 #198 Good Beer: 您好。我正在使用 MultiTester 作为标准远期的 WFO,但标准的 1/4 周期分隔符是不够的。我试图理解您的代码并教会 MultiTester 填入正向日期字段,但如果没有 OOP 知识,我是做不到的。我找到了 MTTester 文件中的 Run() 函数。我无法进一步理解。所有参数都粘在一行中,然后传给 SetSettings2 和 SetSettings,在那里它们被相乘并传给剪贴板。如果该行中出现另一个参数,以及 MultiTester 在何处将数据插入窗口,需要更正哪些内容? 在 "测试仪"->"设置 "选项卡中按 CTRL+C,然后在文本编辑器中按 CTRL+V。您将看到测试仪的 所有设置。 ForwardMode ForwardDate 这两个参数负责转发(当第一个参数为 4 时,第二个参数相关)。 MTTester 通过剪贴板管理测试仪设置,通过 CTRL+V 创建文本编辑器中的设置。 Good Beer 2020.09.03 20:38 #199 fxsaber:MTTester 通过剪贴板管理测试仪设置,通过 CTRL+V 创建文本编辑器中的设置。 谢谢。 任务很明确:从顶部开始数,找到正确的一行,然后用所需的文本替换。 fxsaber 2020.09.03 21:03 #200 Good Beer:任务很明确:从顶部找到正确的一行,并用所需的文字替换。 行号的变化并不重要。 static bool Run( const string ExpertName = NULL, const string Symb = NULL, const ENUM_TIMEFRAMES period = PERIOD_CURRENT, const datetime iBeginTime = 0, const datetime iEndTime = 0, const int ForwardMode = 0 ) { string Str = "[Tester]\n"; Str += (ExpertName != NULL) ? "Expert=" + ExpertName + "\n" : NULL; Str += (Symb != NULL) ? "Symbol=" + Symb + "\n" : NULL; Str += iBeginTime ? "FromDate=" + ::TimeToString(iBeginTime, TIME_DATE) + "\n" : NULL; Str += iEndTime ? "ToDate=" + ::TimeToString(iEndTime, TIME_DATE) + "\n" : NULL; Str += "ForwardMode=" + (string)ForwardMode + "\n"; return(MTTESTER::SetSettings2(Str) && MTTESTER::SetTimeFrame(period) && MTTESTER::ClickStart()); 1...131415161718192021222324252627...56 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
一个堆崩溃的棘手错误,似乎已经存在了很长时间。
CB_GETLBTEXTLEN:返回值是字符串的长度,以 TCHAR 为单位,不包括结束符空字符。
CB_GETLBBTEXT:缓冲区必须有足够的空间容纳字符串和结束符空字符。
应写入
一个巧妙的失误,一个似乎活了很久的堆积。
CB_GETLBTEXTLEN:返回值是字符串的长度,以 TCHAR 为单位,不包括结束符空字符。
CB_GETLBBTEXT:缓冲区必须有足够的空间容纳字符串和结束符空字符。
应写入
谢谢!的确,使用这种方法的 GetExpertName 几乎已成为一种基本方法。
在使用 GetExpertName 时,它几乎已成为一种基本功能。
怎么说呢,它是 在SetExpertName 中使用的,而 SetExpertName 又是从 Run 中 提取的 ,事实上它是 MultiTester 的主要功能之一。虽然这种错误很少见,但我还是无意中发现了。
怎么说呢,它是在 SetExpertName 中使用的 ,而SetExpertName 则是从 Run 中提取的 ,事实上它也是 MultiTester 的主要功能之一。虽然这个错误很少出现,但我还是无意中遇到了。
已经有一段时间没有这样了。
FromDate==" 和 "ToDate==" 中多余的等号 ?
FromDate==" 和 "ToDate==" 中多余的等号 ?
没有必要,谢谢。
同时,请告诉我 TesterSettings.Add() 函数中 INITDEINIT fInit 和 INITDEINIT fDeinit 的用途。
您好。我正在使用 MultiTester 作为标准远期的 WFO,但标准的 1/4 周期分隔符是不够的。我试图理解您的代码并教会 MultiTester 填入正向日期字段,但如果没有 OOP 知识,我是做不到的。我找到了 MTTester 文件中的 Run() 函数。我无法进一步理解。所有参数都粘在一行中,然后传给 SetSettings2 和 SetSettings,在那里它们被相乘并传给剪贴板。如果该行中出现另一个参数,以及 MultiTester 在何处将数据插入窗口,需要更正哪些内容?
在 "测试仪"->"设置 "选项卡中按 CTRL+C,然后在文本编辑器中按 CTRL+V。您将看到测试仪的 所有设置。
这两个参数负责转发(当第一个参数为 4 时,第二个参数相关)。
MTTester 通过剪贴板管理测试仪设置,通过 CTRL+V 创建文本编辑器中的设置。
MTTester 通过剪贴板管理测试仪设置,通过 CTRL+V 创建文本编辑器中的设置。
谢谢。
任务很明确:从顶部开始数,找到正确的一行,然后用所需的文本替换。
任务很明确:从顶部找到正确的一行,并用所需的文字替换。
行号的变化并不重要。