新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 821 1...814815816817818819820821822823824825826827828...1953 新评论 The_Sheikh 2019.04.28 14:24 #8201 请注意我的问题。我正在写一个指标,它进行一些计算,并将它们保存在一个数组中(不是时间序列),其大小与图表中的烛台数量相同。最初,我认为如果我在终端参数中的图表中有2000个烛台,那么在出现新的烛台时,第一个烛台将是第二个,第二个-第三个,等等。但我发现,随着每根新蜡烛的出现,Rates_total的值就会增加,并高于2000的上限。 因此,重新计算数组是没有意义的。 但为什么会出现这种情况,因为终端正好设置了2000个烛台? 当终端关闭时,条数又变成了2000,当新的蜡烛出现时又开始增加。 ruslanzip: 下午.你能给我一个提示吗?该条件的代码会是怎样的。如果账户余额 增加或减少,则执行函数 //Declare a variable outside of functions: double Balance=AccountBalance()。 /添加到滴答/计算功能。 如果(Balance!=AccountBalance()) { Balance=AccountBalance()。 MyFunction(); // <-- 你的函数 } Roza75 2019.04.28 14:50 #8202 我的真实账户里有钱,但这里说你只能提取工资? Artyom Trishkin 2019.04.28 14:55 #8203 Roza75: 我的真实账户里有钱,但这里说你只能提取工资? 真实的账户,你在哪里? Roza75 2019.04.28 14:58 #8204 Artyom Trishkin: 真实的账户,你在哪里? Metatreder 4应用程序 The_Sheikh 2019.04.28 15:43 #8205 Igor Makanu:因为终端是这样工作的所以这是正常的行为,不是错误?因为一些基本的自定义指标在编写时没有考虑到这个因素,而是在每次prev_calculated==0时进行全面重新计算。 伊戈尔-马卡努。如果我在这个账户上运行第二个EA,会发生什么?你需要使用历史订单,我们的魔术师没有开放的订单 - 检查历史上最后一个订单的利润。 重装?还是重装?如果是后者,EA的行为将不会改变。如果你启动第二个EA,算法将被类似地执行,没有错误。 作者需要用什么来工作,取决于他为自己设定的任务。他提出问题的方式,我回答了。 我的问题没有更具体。 Ruslan Latypov 2019.04.28 16:53 #8206 The_Sheikh:请注意我的问题。我正在写一个指标,它进行一些计算,并将它们保存在一个数组中(不是时间序列),其大小与图表中的烛台数量相同。最初,我认为如果我在终端参数中的图表中有2000个烛台,那么在出现新的烛台时,第一个烛台将是第二个,第二个-第三个,等等。但我发现,随着每根新蜡烛的出现,Rates_total的值就会增加,并高于2000的上限。 因此,重新计算数组是没有意义的。 但为什么当终端正好设置了2000个蜡烛图时,会出现这样的情况? 当终端关闭时,条数又变成了2000,当新的蜡烛出现时又开始增加。 //Declare a variable outside of functions: double Balance=AccountBalance()。 /添加到滴答/计算功能。 如果(Balance!=AccountBalance()) { Balance=AccountBalance()。 MyFunction(); // <-- 你的函数 } 非常感谢你,它成功了! Artyom Trishkin 2019.04.28 17:06 #8207 Roza75: Metatreder 4应用程序 关于交易、自动交易系统和策略测试的论坛 关于MQL4的初学者的任何问题,对算法和代码的帮助和讨论 Artyom Trishkin, 2019.04.28 16:55 真实的账户,你在哪里? Roza75 2019.04.28 18:53 #8208 Artyom Trishkin: 我的手机上有Metatreder 4应用程序。 Seric29 2019.04.28 19:45 #8209 Alexey Viktorov:而且为什么要试图弄清楚它的内部运作方式呢?好吧,如果你想写你自己的函数,可能更方便的是排序和取最外层的一个索引的值。但它几乎不会比内置功能更快。另外,内置功能允许你在指定的索引范围内搜索一个值。所以,简单的排序是行不通的。因此,我们将不得不把数组的一部分复制到一个中间数组中,并对其进行排序,然后从其中取出所需的值,但数组复制并不是一个非常 "便宜 "的功能。你需要了解,这样你的大脑才能发展。昨天我坐了很久,做了草图,看来在枚举的原则下是可以不做排序的,但我们仍然需要会存储值的变量,更可以一次性返回值,而不是索引,这就简化了工作。你可以更好地在范围和不同的修改中做出自己的函数,以节省计算量。内置功能缺乏许多细节。但是内置函数非常快,我不明白这与什么有关,也许它们是用C++写的,因为我写的函数非常仔细,考虑到所有的细节:速度、质量、节省代码,实施修改,减少函数内的检查和传递的数量,但是由于某些原因,内置函数仍然绕过了速度,而不是质量,但是我很早就向论坛社区提出这个问题了。 Monter10000 2019.04.29 10:49 #8210 所有论坛用户下午好!面对一个问题,第二天就头疼了,我怎么也想不出来怎么实施的办法!"李先生说。如何在某个烛光下画出一个矩形、一个圆形、一个椭圆形(不管是什么图形),而不是在新的坐标上重画。而如果某些条件触发了一个数字呢?每个数字都在自己的烛台上。我是最近才开始学习mql4的,所以我对图表不熟悉。我昨天决定尝试在第10条上打印一个正方形(作为一个例子)。 我得到了一个,它不再被画出来。昨天,我把代码戳了又戳,最终还是成功了,但方块不断地在旧的地方被擦掉,在新的地方被画出来,然后烦恼的是,输出的方块只有一次。提示谁知道如何实施!或者建议在论坛上哪里有分支机构。阿卡已经看了一堆资料,只是更加迷茫了!提前感谢您的回答 1...814815816817818819820821822823824825826827828...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请注意我的问题。我正在写一个指标,它进行一些计算,并将它们保存在一个数组中(不是时间序列),其大小与图表中的烛台数量相同。最初,我认为如果我在终端参数中的图表中有2000个烛台,那么在出现新的烛台时,第一个烛台将是第二个,第二个-第三个,等等。但我发现,随着每根新蜡烛的出现,Rates_total的值就会增加,并高于2000的上限。
因此,重新计算数组是没有意义的。
但为什么会出现这种情况,因为终端正好设置了2000个烛台?
当终端关闭时,条数又变成了2000,当新的蜡烛出现时又开始增加。
下午.你能给我一个提示吗?该条件的代码会是怎样的。如果账户余额 增加或减少,则执行函数
//Declare a variable outside of functions:
double Balance=AccountBalance()。
/添加到滴答/计算功能。
如果(Balance!=AccountBalance())
{
Balance=AccountBalance()。
MyFunction(); // <-- 你的函数
}
我的真实账户里有钱,但这里说你只能提取工资?
真实的账户,你在哪里?
因为终端是这样工作的
所以这是正常的行为,不是错误?因为一些基本的自定义指标在编写时没有考虑到这个因素,而是在每次prev_calculated==0时进行全面重新计算。
如果我在这个账户上运行第二个EA,会发生什么?
你需要使用历史订单,我们的魔术师没有开放的订单 - 检查历史上最后一个订单的利润。
重装?还是重装?如果是后者,EA的行为将不会改变。如果你启动第二个EA,算法将被类似地执行,没有错误。
作者需要用什么来工作,取决于他为自己设定的任务。他提出问题的方式,我回答了。 我的问题没有更具体。
请注意我的问题。我正在写一个指标,它进行一些计算,并将它们保存在一个数组中(不是时间序列),其大小与图表中的烛台数量相同。最初,我认为如果我在终端参数中的图表中有2000个烛台,那么在出现新的烛台时,第一个烛台将是第二个,第二个-第三个,等等。但我发现,随着每根新蜡烛的出现,Rates_total的值就会增加,并高于2000的上限。
因此,重新计算数组是没有意义的。
但为什么当终端正好设置了2000个蜡烛图时,会出现这样的情况?
当终端关闭时,条数又变成了2000,当新的蜡烛出现时又开始增加。
//Declare a variable outside of functions:
double Balance=AccountBalance()。
/添加到滴答/计算功能。
如果(Balance!=AccountBalance())
{
Balance=AccountBalance()。
MyFunction(); // <-- 你的函数
}
非常感谢你,它成功了!
Metatreder 4应用程序
关于交易、自动交易系统和策略测试的论坛
关于MQL4的初学者的任何问题,对算法和代码的帮助和讨论
Artyom Trishkin, 2019.04.28 16:55
真实的账户,你在哪里?而且为什么要试图弄清楚它的内部运作方式呢?好吧,如果你想写你自己的函数,可能更方便的是排序和取最外层的一个索引的值。但它几乎不会比内置功能更快。另外,内置功能允许你在指定的索引范围内搜索一个值。所以,简单的排序是行不通的。因此,我们将不得不把数组的一部分复制到一个中间数组中,并对其进行排序,然后从其中取出所需的值,但数组复制并不是一个非常 "便宜 "的功能。
你需要了解,这样你的大脑才能发展。昨天我坐了很久,做了草图,看来在枚举的原则下是可以不做排序的,但我们仍然需要会存储值的变量,更可以一次性返回值,而不是索引,这就简化了工作。你可以更好地在范围和不同的修改中做出自己的函数,以节省计算量。内置功能缺乏许多细节。但是内置函数非常快,我不明白这与什么有关,也许它们是用C++写的,因为我写的函数非常仔细,考虑到所有的细节:速度、质量、节省代码,实施修改,减少函数内的检查和传递的数量,但是由于某些原因,内置函数仍然绕过了速度,而不是质量,但是我很早就向论坛社区提出这个问题了。