AutoGraf 系列 4 - MQL 功能。 - 页 34 1...27282930313233343536 新评论 Dmitry Fedoseev 2009.05.23 11:31 #331 如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。 很抱歉打断你,但这么简单的问题却让你痛苦了这么久,不由得让人心疼:) Leo59 2009.05.23 11:36 #332 Integer >> : 如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。 对不起,但对这样一个简单的问题,如此长时间的痛苦并不能让你无动于衷:) >> 谢谢你。>> 我们会试一试。 Сергей Ковалев 2009.05.23 21:32 #333 Integer писал(а)>> 如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。 对不起,打扰了,但对这样一个简单的问题,如此长时间的痛苦,不会让你无动于衷的:) 我们谈论的是将函数导入已编译的EA(ex4)中。 Dmitry Fedoseev 2009.05.23 21:46 #334 SK. писал(а)>> 我们谈论的是将函数导入已编译的EA(ex4)中。 对不起,像往常一样,我不是在谈论...从 编译过的库中导入如何? - 如果主模块被编译了,那么使用策略的inculcator就没有问题了,一切都会被编译的。如果主模块是开源的,但策略是编译的,那么你可以以开源inculdnik的形式做一个适配器。 Leo59 2009.05.24 00:02 #335 亲爱的先生们! 我正在考虑以下连接链图。 函数AG_AT是一个开关,用于选择要加入的策略。 Leo59 2009.05.24 00:24 #336 女士们,先生们! 请回答一个问题。 如果AT函数不是一个开关,而是包含策略代码,那么(尽管按照我的理解,这没有什么区别),应用程序如何区分AT函数向它发出指令(例如,指向终端),而不是交易本身? 从描述到应用。 Исполнение функции АТ связано с двумя основными возможностями. 首先是AT功能可以自行交易--生成交易指令并将其发送到服务器。同时,该函数不能处理从应用程序收到的任何数据(或处理这些数据的一部分),但它可以使用MQL4 的所有功能进行自己的计算,包括调用终端处理订单,获得当前报价,计算交易标准,管理图形对象等。 第二个特点是与AutoGraf 4应用程序直接相连。这个功能可以指示AutoGraf 4应用程序在特定的订单或价格图表上安装任何必要的预设工具,改变应用程序的一般设置,删除工具,向用户显示信息等(输出参数)。(输出参数)。 如果AT函数已经产生了一个交易订单,并且在应用程序中没有一行代码需要说明,那么它就会自己交易。在这种情况下,应用程序只是将订单广播给终端,而没有任何核算或处理。 如果有,那么订单就会在通过链接传递的AT函数参数中通过应用。 我的理解是否正确? Сергей Ковалев 2009.05.24 11:42 #337 Integer писал(а)>> 我很抱歉,像往常一样,我并不是说...从 编译过的库中导入如何? - 如果主模块被编译了,那么使用策略的inculcator就没有问题了,一切都会被编译的。如果主模块是开源的,但策略是编译的,那么你可以以开源灌输者的形式做一个适配器。 没有什么可道歉的,讨论是有意义的。 -- 一点术语。有两个镜像概念--出口和进口。它们被用于与我们自己的领土有关的地方。 出口是来自我们的边界之外。例如,从俄罗斯向欧洲出口天然气。 进口是指从国外进入我国边境。例如,将沙子从非洲进口到西伯利亚。 在这种情况下,我们谈论的是进口。我们这里的领土是专家AG_exp.ex4。这是AutoGraf 4应用程序的基础,作为一个编译文件提供给用户。专家顾问的源代码是不提供的(当然,因为该应用程序是以商业方式发布的,尽管它是免费的),因此,不能通过inclide(由用户-程序员)向专家顾问添加模块。 -- 任务是使用户能够在AutoGraf 4应用程序中附加他/她自己用MQL4编写的交易算法,并作为策略的.ex4文件执行。为了解决这个问题,专家顾问AG_exp.ex4包含了将自动交易功能AG_AT导入专家顾问的代码,该功能以.ex4和mq4文件形式提供。此外,用户可以自行决定如何安排这些代码。两个选项中的一个是最方便的。 1.要在AG_AT()函数中直接编写自己的代码,并编译同名的AG_AT.mq4文件,得到AG_AT.eq4。 Пример:http://autograf.dp.ua/Pages/2/26/267/26711/26711_1.htm, примеры 1-15:http://autograf.dp.ua/Pages/2/26/267/2679/2679_1.htm 2.在一个单独的策略文件中为新函数编写你自己的代码,例如,在文件My_Strategy.mq4中编写My_Strategy()。在AG_AT()中写入从My_Strategy.eq4文件(现代版)导入的My_Strategy()函数。Примерыhttp://autograf.dp.ua/Pages/2/26/267/26712/26712_1.htm, http://autograf.dp.ua/Pages/2/26/267/26712/26712_2.htm . 在这些变体中,都不可能写入外部变量,以便让用户可以使用。指定外部变量的唯一可能性是在设计阶段将其写入AG_exp.ex4中,这一点已经完成。变量的值通过AG_AT()传递给仪器阵列中的用户My_Strategy()。这是最新发布的AutoGraf 4所采用的技术,而且运行良好。 -- 这一切对用户意味着什么?这意味着任何用户都可以编写自己的策略并在AutoGraf 4环境下运行。同时,他自己的策略将发挥作用,AutoGraf 4的所有功能都可以为用户所用。特别是,任何AutoGraf 4(!)的工具,如拉升、翻转、声音等都可以从策略中控制。 对于专业的程序员,该技术提供了将可定制的密码变量传入策略文件的能力。这意味着程序员可以为AutoGraf 4编写策略,并在商业基础上分发这些策略(例如,只针对特定账户)。 Сергей Ковалев 2009.05.24 11:45 #338 LeonidSB писал(а)>> 亲爱的先生们! 我正在考虑以下连接链图。 AG_AT函数是一个开关,用于选择要加入的策略。 是的,正确。 Сергей Ковалев 2009.05.24 12:02 #339 LeonidSB писал(а)>> 女士们,先生们! 请回答一个问题。 如果AT函数不是一个开关,而是包含一个策略代码,那么(尽管我理解这没有什么区别),应用程序如何区分AT函数是在向它发出指令(例如,参考终端),而不是交易本身? 该策略可以传递给应用程序。 - 常见的可调参数(SL、TP、Lots等)的值 - 要安装或删除的仪器的参数 该策略不向应用程序传输开仓和平仓的订单(这是在AG 5中基于MQL 5功能的计划),目前(在AG 4中)并没有严格要求。该策略可以而且应该使用用户自己的算法开仓/平仓订单。 如果AT函数产生了一个交易订单,并且在应用程序中没有要注册的代码行,那么该策略将自行交易。在这种情况下,应用程序只是将订单广播给终端,而没有任何核算或处理。 如果有,订单就会在通过链接传递的AT函数参数中通过应用。 我的理解是否正确? 你所说的 "要在应用程序中核算的一行代码 "并不十分清楚。 每当收到控制权返回时,应用程序就会对订单进行核算。在大循环的每次迭代中,重新计算的订单数组被传递给AG_AT,然后传递给策略。根据订单数量,该策略可以计算出适当的控制行动。策略应用应该更频繁地更新,以便策略总是有一个新鲜的订单簿记阵列。 从程序的任何部分(应用程序或AG_AT或策略)发出的交易指令直接进入MT4终端并直接进入服务器。在服务器上执行订单后,控件以同样的方式返回到交易订单发送点。当订单在服务器上被处理时,所有的人都沉默不语,等待回复--什么都没有发生(如果我没有弄错,在MT5中这种技术将被改变--我们不会等待,我们将工作:)。 Leo59 2009.05.24 12:03 #340 谢谢你! 1...27282930313233343536 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。
很抱歉打断你,但这么简单的问题却让你痛苦了这么久,不由得让人心疼:)
如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。
对不起,但对这样一个简单的问题,如此长时间的痛苦并不能让你无动于衷:)
>> 谢谢你。>> 我们会试一试。
如果你通过include包含文件,你可以声明外部变量,不需要任何参数传递。为了避免变量和函数名称的混淆,有必要在每个策略的名称中使用不同的前缀。
对不起,打扰了,但对这样一个简单的问题,如此长时间的痛苦,不会让你无动于衷的:)
我们谈论的是将函数导入已编译的EA(ex4)中。
对不起,像往常一样,我不是在谈论...从 编译过的库中导入如何?
-
如果主模块被编译了,那么使用策略的inculcator就没有问题了,一切都会被编译的。如果主模块是开源的,但策略是编译的,那么你可以以开源inculdnik的形式做一个适配器。
亲爱的先生们!
我正在考虑以下连接链图。
函数AG_AT是一个开关,用于选择要加入的策略。
女士们,先生们!
请回答一个问题。
如果AT函数不是一个开关,而是包含策略代码,那么(尽管按照我的理解,这没有什么区别),应用程序如何区分AT函数向它发出指令(例如,指向终端),而不是交易本身?
从描述到应用。
Исполнение функции АТ связано с двумя основными возможностями.
首先是AT功能可以自行交易--生成交易指令并将其发送到服务器。同时,该函数不能处理从应用程序收到的任何数据(或处理这些数据的一部分),但它可以使用MQL4 的所有功能进行自己的计算,包括调用终端处理订单,获得当前报价,计算交易标准,管理图形对象等。
第二个特点是与AutoGraf 4应用程序直接相连。这个功能可以指示AutoGraf 4应用程序在特定的订单或价格图表上安装任何必要的预设工具,改变应用程序的一般设置,删除工具,向用户显示信息等(输出参数)。(输出参数)。
如果AT函数已经产生了一个交易订单,并且在应用程序中没有一行代码需要说明,那么它就会自己交易。在这种情况下,应用程序只是将订单广播给终端,而没有任何核算或处理。
如果有,那么订单就会在通过链接传递的AT函数参数中通过应用。
我的理解是否正确?
我很抱歉,像往常一样,我并不是说...从 编译过的库中导入如何?
-
如果主模块被编译了,那么使用策略的inculcator就没有问题了,一切都会被编译的。如果主模块是开源的,但策略是编译的,那么你可以以开源灌输者的形式做一个适配器。
没有什么可道歉的,讨论是有意义的。
--
一点术语。有两个镜像概念--出口和进口。它们被用于与我们自己的领土有关的地方。
出口是来自我们的边界之外。例如,从俄罗斯向欧洲出口天然气。
进口是指从国外进入我国边境。例如,将沙子从非洲进口到西伯利亚。
在这种情况下,我们谈论的是进口。我们这里的领土是专家AG_exp.ex4。这是AutoGraf 4应用程序的基础,作为一个编译文件提供给用户。专家顾问的源代码是不提供的(当然,因为该应用程序是以商业方式发布的,尽管它是免费的),因此,不能通过inclide(由用户-程序员)向专家顾问添加模块。
--
任务是使用户能够在AutoGraf 4应用程序中附加他/她自己用MQL4编写的交易算法,并作为策略的.ex4文件执行。为了解决这个问题,专家顾问AG_exp.ex4包含了将自动交易功能AG_AT导入专家顾问的代码,该功能以.ex4和mq4文件形式提供。此外,用户可以自行决定如何安排这些代码。两个选项中的一个是最方便的。
1.要在AG_AT()函数中直接编写自己的代码,并编译同名的AG_AT.mq4文件,得到AG_AT.eq4。
Пример:http://autograf.dp.ua/Pages/2/26/267/26711/26711_1.htm, примеры 1-15:http://autograf.dp.ua/Pages/2/26/267/2679/2679_1.htm
2.在一个单独的策略文件中为新函数编写你自己的代码,例如,在文件My_Strategy.mq4中编写My_Strategy()。在AG_AT()中写入从My_Strategy.eq4文件(现代版)导入的My_Strategy()函数。Примерыhttp://autograf.dp.ua/Pages/2/26/267/26712/26712_1.htm, http://autograf.dp.ua/Pages/2/26/267/26712/26712_2.htm
.
在这些变体中,都不可能写入外部变量,以便让用户可以使用。指定外部变量的唯一可能性是在设计阶段将其写入AG_exp.ex4中,这一点已经完成。变量的值通过AG_AT()传递给仪器阵列中的用户My_Strategy()。这是最新发布的AutoGraf 4所采用的技术,而且运行良好。
--
这一切对用户意味着什么?这意味着任何用户都可以编写自己的策略并在AutoGraf 4环境下运行。同时,他自己的策略将发挥作用,AutoGraf 4的所有功能都可以为用户所用。特别是,任何AutoGraf 4(!)的工具,如拉升、翻转、声音等都可以从策略中控制。
对于专业的程序员,该技术提供了将可定制的密码变量传入策略文件的能力。这意味着程序员可以为AutoGraf 4编写策略,并在商业基础上分发这些策略(例如,只针对特定账户)。
亲爱的先生们!
我正在考虑以下连接链图。
AG_AT函数是一个开关,用于选择要加入的策略。
是的,正确。
女士们,先生们!
请回答一个问题。
如果AT函数不是一个开关,而是包含一个策略代码,那么(尽管我理解这没有什么区别),应用程序如何区分AT函数是在向它发出指令(例如,参考终端),而不是交易本身?
该策略可以传递给应用程序。
- 常见的可调参数(SL、TP、Lots等)的值
- 要安装或删除的仪器的参数
该策略不向应用程序传输开仓和平仓的订单(这是在AG 5中基于MQL 5功能的计划),目前(在AG 4中)并没有严格要求。该策略可以而且应该使用用户自己的算法开仓/平仓订单。
如果AT函数产生了一个交易订单,并且在应用程序中没有要注册的代码行,那么该策略将自行交易。在这种情况下,应用程序只是将订单广播给终端,而没有任何核算或处理。
如果有,订单就会在通过链接传递的AT函数参数中通过应用。
我的理解是否正确?
你所说的 "要在应用程序中核算的一行代码 "并不十分清楚。
每当收到控制权返回时,应用程序就会对订单进行核算。在大循环的每次迭代中,重新计算的订单数组被传递给AG_AT,然后传递给策略。根据订单数量,该策略可以计算出适当的控制行动。策略应用应该更频繁地更新,以便策略总是有一个新鲜的订单簿记阵列。
从程序的任何部分(应用程序或AG_AT或策略)发出的交易指令直接进入MT4终端并直接进入服务器。在服务器上执行订单后,控件以同样的方式返回到交易订单发送点。当订单在服务器上被处理时,所有的人都沉默不语,等待回复--什么都没有发生(如果我没有弄错,在MT5中这种技术将被改变--我们不会等待,我们将工作:)。