[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 308 1...301302303304305306307308309310311312313314315...652 新评论 Shniperson 2011.10.31 19:45 #3071 美国现在几点钟? 美国几点钟开/关? 日本几点钟开/关? 只是随着冬令时的废除,有点不清楚......欧洲、亚洲、美国都在调时钟吗? Владимир Тезис 2011.11.01 00:31 #3072 Elenn: 这个解决方案真的很有创意,我们应该试试。但是当阵列被重新初始化时,数据不会因为重新初始化而丢失吗? 。 如果你增加阵列的大小,之前输入的数据不会丢失。而 "捕获的"(新)细胞将包含RAM垃圾。而且,如果你缩小阵列,在缩小的单元中的数据将不可挽回地丢失。这就是编程的基础知识。 Artyom Trishkin 2011.11.01 00:55 #3073 vilard:MODE_TRADE挂单需要多长时间才能变成MODE_HISTORY订单? 在任何时候都是如此。待处理的订单 不存储在历史中。 一旦它被转化为市场订单并被关闭 - 那么它将成为历史,但具有市场订单类型。 比如说。 如果有OP_BUYSTOP,那么它被转换为OP_BUY。在 其结束后 ,它将被列入历史。 但是,从OP_BUYSTOP转换到OP_BUY后,原来的OP_BUYSTOP将不会 出现在历史中。 Artyom Trishkin 2011.11.01 01:17 #3074 001: 晚上好,请指教。在不同的柱子上有两个指标值。如何画一条穿过它们的线以及如何在指标中使用它?谢谢你! 它们之间的线可以用对象OBJ_TREND 来画。第一个坐标是第一个柱子的时间和价格,第二个坐标是第二个柱子的时间和价格。 职能。 //+----------------------------------------------------------------------------+ void SetTLine(color cl, string nm, datetime t1=0, double p1=0, datetime t2=0, double p2=0, int st=0, int sz=0) { if (ObjectFind(nm)<0) ObjectCreate(nm, OBJ_TREND, 0, 0, 0, 0, 0); ObjectSet(nm, OBJPROP_TIME1 , t1); ObjectSet(nm, OBJPROP_PRICE1 , p1); ObjectSet(nm, OBJPROP_TIME2 , t2); ObjectSet(nm, OBJPROP_PRICE2 , p2); ObjectSet(nm, OBJPROP_COLOR , cl); ObjectSet(nm, OBJPROP_STYLE , st); ObjectSet(nm, OBJPROP_WIDTH , sz); ObjectSet(nm, OBJPROP_RAY , 0); } //+----------------------------------------------------------------------------+ 我希望这里面的一切都很清楚。 cl - 对象颜色,nm - 对象名称,t1, p1 - 原点坐标,t2, p2 - 末点坐标,st - 线条样式,sz - 尺寸。 你也可以添加射线:1-射线,0-段。这个函数的最后一行定义了一个段。你可以用要传递的参数的名字代替0。 至于如何在指标中使用它(这一行)--你需要知道你从它那里需要什么。但其上的数据(线)可以用标准函数得到 ObjectGet("object name",required object property)。 Александр 2011.11.01 03:06 #3075 artmedia70: 你可以用OBJ_TREND对象在它们之间画一条线。第一个坐标是第一个柱子的时间和价格,第二个坐标是第二个柱子的时间和价格。 职能。 我希望这里面的一切都很清楚。 cl - 对象的颜色,nm - 对象名称,t1, p1 - 原点坐标,t2, p2 - 末点坐标,st - 线条风格,sz - 尺寸。 你也可以添加射线:1-射线,0-段。这个函数的最后一行定义了一个段。你可以用要传递的参数的名字代替0。 至于如何在指标中使用它(这一行)--你需要知道你从它那里需要什么。然而,其上的数据(线)可以用标准函数得到 ObjectGet("object name", the necessary object property)。 非常感谢您!如果我可以的话,还有一个问题。如何工作(我需要知道趋势在某个条形图上的数值),如何在EA中运作趋势。我想把指标的一部分转移到专家顾问中(计算)。 Dimka-novitsek 2011.11.01 06:08 #3076 无法进入该账户!这他妈的是什么 "常见错误"? Dimka-novitsek 2011.11.01 06:14 #3077 是不是电脑又出了什么问题? Владимир Тезис 2011.11.01 07:57 #3078 Elenn: 这个解决方案真的很有创意,我们应该试试。 我就引用一下Delphi教程中的一段文字吧。了解一下也无妨。 "动态数组 "是动态的数据结构,所以程序应该规定当你用完这些数组时,可以明确地从计算机内存中删除它们。从计算机内存中删除不必要的动态变量的过程有时被称为垃圾收集"。 在MQL4中的一个变体是,当程序完成对动态数组的处理时,使用ArrayResize()函数https://docs.mql4.com/ru/array/ArrayResize,将动态数组的大小调整为零长度。 Artyom Trishkin 2011.11.01 08:30 #3079 drknn: 我想我将引用Delphi教程中的一小段文字。这很好理解。 "动态数组 "是动态的数据结构,所以程序应该规定当你用完这些数组时,可以明确地从计算机内存中删除它们。从计算机内存中删除不必要的动态变量的过程有时被称为垃圾收集"。 一个适合MQL4语言的变体是在你完成对动态数组的处理后,使用ArrayResize()函数https://docs.mql4.com/ru/array/ArrayResize,将动态数组的长度调整为零。 这都是事实:清理垃圾是一个很好的经验法则......。 但在这种情况下,如何确定我们现在是否应该清理 "垃圾",或者反过来说:这不是垃圾,而是进一步计算的必要数据。 按照我的理解,deinit()应该用来清理垃圾,但...它不仅在交易工具的图表被删除和EA被删除时被执行,而且在TF被改变时也被执行。在这种情况下,TF的所有累积数据都会丢失,当专家顾问回到前一个时间框架时,将以一个零数组重新开始工作。如果我们改变任何EA的参数,也会发生同样的情况。 事实证明,在某些情况下,"清扫 "是一个复杂的逻辑过程,而不是简单地改变一个数组的大小。 Artyom Trishkin 2011.11.01 08:35 #3080 001: 非常感谢您!如果我可以的话,还有一个问题。如何工作(我需要知道趋势在某个柱子上的数值),如何在EA中与趋势一起工作。我想把指标的一部分转移到专家顾问中(计算)。ObjectGetValueByShift()来帮助你 而你将如何与之合作--只有你自己知道......。 1...301302303304305306307308309310311312313314315...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个解决方案真的很有创意,我们应该试试。但是当阵列被重新初始化时,数据不会因为重新初始化而丢失吗? 。
如果你增加阵列的大小,之前输入的数据不会丢失。而 "捕获的"(新)细胞将包含RAM垃圾。而且,如果你缩小阵列,在缩小的单元中的数据将不可挽回地丢失。这就是编程的基础知识。
MODE_TRADE挂单需要多长时间才能变成MODE_HISTORY订单?
在任何时候都是如此。待处理的订单 不存储在历史中。
一旦它被转化为市场订单并被关闭 - 那么它将成为历史,但具有市场订单类型。
比如说。
如果有OP_BUYSTOP,那么它被转换为OP_BUY。在 其结束后 ,它将被列入历史。
但是,从OP_BUYSTOP转换到OP_BUY后,原来的OP_BUYSTOP将不会 出现在历史中。
晚上好,请指教。在不同的柱子上有两个指标值。如何画一条穿过它们的线以及如何在指标中使用它?谢谢你!
它们之间的线可以用对象OBJ_TREND 来画。第一个坐标是第一个柱子的时间和价格,第二个坐标是第二个柱子的时间和价格。
职能。
我希望这里面的一切都很清楚。
cl - 对象颜色,nm - 对象名称,t1, p1 - 原点坐标,t2, p2 - 末点坐标,st - 线条样式,sz - 尺寸。
你也可以添加射线:1-射线,0-段。这个函数的最后一行定义了一个段。你可以用要传递的参数的名字代替0。
至于如何在指标中使用它(这一行)--你需要知道你从它那里需要什么。但其上的数据(线)可以用标准函数得到
ObjectGet("object name",required object property)。
你可以用OBJ_TREND对象在它们之间画一条线。第一个坐标是第一个柱子的时间和价格,第二个坐标是第二个柱子的时间和价格。
职能。
我希望这里面的一切都很清楚。
cl - 对象的颜色,nm - 对象名称,t1, p1 - 原点坐标,t2, p2 - 末点坐标,st - 线条风格,sz - 尺寸。
你也可以添加射线:1-射线,0-段。这个函数的最后一行定义了一个段。你可以用要传递的参数的名字代替0。
至于如何在指标中使用它(这一行)--你需要知道你从它那里需要什么。然而,其上的数据(线)可以用标准函数得到
ObjectGet("object name", the necessary object property)。
非常感谢您!如果我可以的话,还有一个问题。如何工作(我需要知道趋势在某个条形图上的数值),如何在EA中运作趋势。我想把指标的一部分转移到专家顾问中(计算)。
这个解决方案真的很有创意,我们应该试试。
我就引用一下Delphi教程中的一段文字吧。了解一下也无妨。
"动态数组 "是动态的数据结构,所以程序应该规定当你用完这些数组时,可以明确地从计算机内存中删除它们。从计算机内存中删除不必要的动态变量的过程有时被称为垃圾收集"。
在MQL4中的一个变体是,当程序完成对动态数组的处理时,使用ArrayResize()函数https://docs.mql4.com/ru/array/ArrayResize,将动态数组的大小调整为零长度。
我想我将引用Delphi教程中的一小段文字。这很好理解。
"动态数组 "是动态的数据结构,所以程序应该规定当你用完这些数组时,可以明确地从计算机内存中删除它们。从计算机内存中删除不必要的动态变量的过程有时被称为垃圾收集"。
一个适合MQL4语言的变体是在你完成对动态数组的处理后,使用ArrayResize()函数https://docs.mql4.com/ru/array/ArrayResize,将动态数组的长度调整为零。
这都是事实:清理垃圾是一个很好的经验法则......。
但在这种情况下,如何确定我们现在是否应该清理 "垃圾",或者反过来说:这不是垃圾,而是进一步计算的必要数据。
按照我的理解,deinit()应该用来清理垃圾,但...它不仅在交易工具的图表被删除和EA被删除时被执行,而且在TF被改变时也被执行。在这种情况下,TF的所有累积数据都会丢失,当专家顾问回到前一个时间框架时,将以一个零数组重新开始工作。如果我们改变任何EA的参数,也会发生同样的情况。
事实证明,在某些情况下,"清扫 "是一个复杂的逻辑过程,而不是简单地改变一个数组的大小。
非常感谢您!如果我可以的话,还有一个问题。如何工作(我需要知道趋势在某个柱子上的数值),如何在EA中与趋势一起工作。我想把指标的一部分转移到专家顾问中(计算)。
ObjectGetValueByShift()来帮助你
而你将如何与之合作--只有你自己知道......。