Init()和DeInit()执行顺序 - 页 18 1...111213141516171819202122232425...28 新评论 fxsaber 2017.04.14 13:48 #171 Alexey Kozitsyn: 即使用拐杖?我可以给你举个例子吗?你不能通过ChartIndicatorAdd()向有不同符号或TF的图表添加指标。将显示一个错误。https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd图表指示器添加在指定的图表窗口中添加一个具有指定句柄的指标。该指标和图表必须在同一符号和时间框架上绘制。 这就是现在的限制。它不会出现在服务中。 Документация по MQL5: Операции с графиками / ChartIndicatorAdd www.mql5.com Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2017.04.14 13:52 #172 一个小小的提示,几乎是关于subj的主题。 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 fxsaber, 2016.09.23 10:48 我们用手在NONE图表上设置指标#property indicator_separate_window #property indicator_buffers 1 #property indicator_plots 1 double Buffer[]; int handle = INVALID_HANDLE; void OnInit() { ::SetIndexBuffer(0, Buffer, INDICATOR_DATA); handle = ChartIndicatorGet(0, 1, ChartIndicatorName(0, 1, 0)); } #define TOSTRING(A) #A + " = " + (string)A + "\n" int OnCalculate( const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[] ) { if (handle != INVALID_HANDLE) { Buffer[rates_total - 1] = MathRand(); double BufferCopy[]; if (CopyBuffer(handle, 0, 0, 1, BufferCopy) > 0) Print(TOSTRING(BufferCopy[0]) + TOSTRING(Buffer[rates_total - 1])); } return(rates_total); }用手将指标从图表中取出。在日志中,我们看到该指标继续运行。你可以关闭终端中的所有图表,但它仍然在执行。当然,这也无济于事。void OnDeinit( const int Reason ) { if (handle != INVALID_HANDLE) IndicatorRelease(handle); return; }重启终端会停止指标的执行。有多少指标可以像这样在闲置状态下执行,而我们对它们一无所知!根本就没有控制。 没有向开发商提出任何投诉。 [删除] 2017.04.14 14:01 #173 fxsaber: 现在这是一个限制。它不会出现在服务中。我说的根本不是这个意思。不是从EA中添加一个指标,而是使用EA创建一个指标。关于这一点。比起服务或在一个图表上运行多个EA的能力,不能完全覆盖正在讨论的陷阱?如果没有使用服务创建指标的可能性,用文件中的数据创建指标的问题就不会消失。如果OnDeinit()->OnInit()的序列不受控制。改变TF是一个用户行为,对这个行为的响应(OnDeit())将在没有必要时发生(在OnInit()之后,甚至可能在OnCalculate()之后?也就是说,如果指标将数据记录到文件中,并根据这些数据绘制图形系列,而数据不是 "连续 "写入的,就不会出现所有数据的正确显示。但是,如果该服务是一个全局程序(像GPT,但整个程序),它可以创建指标缓冲区,并且计算不会被用户的行动(如TFs变化/图表关闭)打断 - 那么问题就不会存在。但与此同时,指标被阉割了,像往常一样。 fxsaber 2017.04.14 14:08 #174 Alexey Kozitsyn:我说的根本不是这个意思。不是从EA中添加一个指标,而是使用EA创建一个指标。我不明白这些术语。 [删除] 2017.04.14 14:12 #175 fxsaber:我不明白这些术语。 计算和显示数据与在指标缓冲区 中写入数据,而不仅仅是显示数据。 Nikolai Semko 2017.04.14 14:18 #176 Slawa:还没有解决OnChartEvent的问题 你是什么意思,没有解决办法?如果没有访问鼠标的能力,那将是什么样的服务?而且我也想处理用户事件。 fxsaber 2017.04.14 14:19 #177 Alexey Kozitsyn: 计算和显示数据时要在指标缓冲区 中写入数据,而不仅仅是显示数据。他们抱怨说,该指标计算出的数据在更换TF期间不能可靠地、合理地转移到该指标的另一个副本。如果服务将做计算部分,而指标将显示它,这很容易通过服务来完成。在所有其他情况下,如果不属于黑体字突出显示的情况,你可以继续按照经典的指标来写。 [删除] 2017.04.14 14:23 #178 fxsaber:他们抱怨说,该指标计算出的数据在更换TF期间不能可靠地、合理地转移到该指标的另一个副本。这很容易通过服务来完成,如果服务将做计算部分,而指标将显示它。在所有其他情况下,不属于黑体字突出显示的情况,你可以继续以传统方式编写指标。 好吧,我们将看看我们得到什么。什么时候进行测试? fxsaber 2017.04.14 14:24 #179 Alexey Kozitsyn: 好吧,我们将看看会发生什么。什么时候进行测试? 如果我批准了,就在今晚。 Slava 2017.04.14 14:36 #180 Nikolai Semko: 你是什么意思,没有解决方案?如果没有访问鼠标的能力,那将是什么样的服务?而且我也想处理用户事件。无解是指 "还不知道如何解决",而不是 "不会"。而且自定义事件也完全没有问题 1...111213141516171819202122232425...28 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
即使用拐杖?我可以给你举个例子吗?
你不能通过ChartIndicatorAdd()向有不同符号或TF的图表添加指标。将显示一个错误。
https://www.mql5.com/ru/docs/chart_operations/chartindicatoradd
图表指示器添加
在指定的图表窗口中添加一个具有指定句柄的指标。该指标和图表必须在同一符号和时间框架上绘制。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2016.09.23 10:48
现在这是一个限制。它不会出现在服务中。
我说的根本不是这个意思。不是从EA中添加一个指标,而是使用EA创建一个指标。
关于这一点。
比起服务或在一个图表上运行多个EA的能力,不能完全覆盖正在讨论的陷阱?
如果没有使用服务创建指标的可能性,用文件中的数据创建指标的问题就不会消失。如果OnDeinit()->OnInit()的序列不受控制。改变TF是一个用户行为,对这个行为的响应(OnDeit())将在没有必要时发生(在OnInit()之后,甚至可能在OnCalculate()之后?
也就是说,如果指标将数据记录到文件中,并根据这些数据绘制图形系列,而数据不是 "连续 "写入的,就不会出现所有数据的正确显示。
但是,如果该服务是一个全局程序(像GPT,但整个程序),它可以创建指标缓冲区,并且计算不会被用户的行动(如TFs变化/图表关闭)打断 - 那么问题就不会存在。但与此同时,指标被阉割了,像往常一样。
我说的根本不是这个意思。不是从EA中添加一个指标,而是使用EA创建一个指标。
我不明白这些术语。
我不明白这些术语。
还没有解决OnChartEvent的问题
计算和显示数据时要在指标缓冲区 中写入数据,而不仅仅是显示数据。
他们抱怨说,该指标计算出的数据在更换TF期间不能可靠地、合理地转移到该指标的另一个副本。
如果服务将做计算部分,而指标将显示它,这很容易通过服务来完成。
在所有其他情况下,如果不属于黑体字突出显示的情况,你可以继续按照经典的指标来写。
他们抱怨说,该指标计算出的数据在更换TF期间不能可靠地、合理地转移到该指标的另一个副本。
这很容易通过服务来完成,如果服务将做计算部分,而指标将显示它。
在所有其他情况下,不属于黑体字突出显示的情况,你可以继续以传统方式编写指标。
好吧,我们将看看会发生什么。什么时候进行测试?
你是什么意思,没有解决方案?如果没有访问鼠标的能力,那将是什么样的服务?而且我也想处理用户事件。
无解是指 "还不知道如何解决",而不是 "不会"。
而且自定义事件也完全没有问题