自动搜索战略。 - 页 3 123456 新评论 Youri Tarshecki 2016.04.08 12:39 #21 Aliaksandr Hryshyn: 确实有很多小问题。我正试图制作一个通用系统,这样就能以最小的代价添加不同的分析指标、蜡烛图等的可能性。每个函数都有关于它可以处理哪些数据以及将输出哪些数据的信息。此外,还将介绍指标及其提供的数据类型。数据分为简单和复杂两种类型,例如{double}和{int,double};数据分为不同类别,例如 "价格 "和 "图表上的位置",又例如 "直线"(可用于定义通道)等。按 "刻度类型 "分类,例如 "常数"(策略参数)、"指数"(有最小值和最大值)、"比率"(只有一个参考点,如价格、成交量)等。有必要以一致的方式修改策略,这其中存在细微差别,在一个地方修改会影响另一个地方的修改条件。没错...为了减少搜索组合的数量,并使用了上述限制(类型、规模、类别),目前这就足够了,并进行了点修改(增加/删除一个/几个功能)。如果说 "重组也是自发的,但重组的是整个现成的解决方案"--我想到了这一点),那就很难想象它是如何实现的了。一组组合函数与 "外部世界 "的联系很可能比单个函数要多,因此将其全部楔入的机会就会减少。算法变得非常复杂,还是留到更好的时候再说吧))。让我澄清一下思路。为了减少变体的数量,并且对其中一个变体的修改不会影响到其他区块,这一点应该更加普遍。诀窍在于,同样的任务可以用不同的方法来实现,而事先往往并不清楚哪种方法更好。例如,我们定义了一项名为 "变换"(TRANSFORMATION)的通用任务。大约有十几种振荡器,它们各自以自己的方式定义了这种超稳定性。假设我们在振荡器脚本中设置的任务是尝试所有指标或所有方法。然后,我们必须规范这些区块与其他代码的交互。假设我们选择的交互标准是顶部百分比。生成器只需按顺序在代码中插入一个名为 Oversold1 的代码块,在该代码块中找到需要测试的变量,运行 volkin-forward 并记住测试结果。然后,他再编写一个新版本的智能交易系统,其中已经包含了 "Oversold 2 "代码块,尽管原始指标显示的是整数,甚至与零的符号也不同,但它同样给出了百分比。测试结束后,他会离开最成功的区块,转而执行另一项任务。同时,没有必要一开始就准备那么多区块,2 或 3 个区块就足够了。最重要的是建立互动关系。依赖关系也是如此。有 A、B、C。首先,如果 A 大于 B,则 C 为真。 然后,如果 B 大于 A,以此类推。然后,我们可以继续进行更复杂的交互。 Aliaksandr Hryshyn 2016.04.08 15:28 #22 "为了减少选项的数量,并且对其中一个选项的修改不会影响到其他区块,应该让这些区块的功能更加多样化"。=> "比方说,我们选择交互标准 - 顶部的百分比"。- 我明白你的意思))。这涉及到将指标纳入单一视图,即预处理。在我的系统中,一切都太形式化了,我想保留这一切,我已经在努力实现诸如规模、类别等东西,我已经想好了怎么做,有些区块的连接确实会影响其他地方区块的连接。指标的标准化是通过指标本身的描述来实现的,根据指标本身的描述,某些区块会自动连接起来。其中一个区块可以很容易地计算一个值与另一个值的百分比,只是这些值之间必须有一个连接,这个连接将受到控制,例如Percent( Open[0] , Open[3] )百分比(开仓价[0],鳄鱼 价[3])百分比(成交量[0],鳄鱼[3])第 1 和第 3 个选项很好,符合逻辑,但第 3 个选项没有意义。指数也要计算,例如Open[Max_on_position(iAC,0,30) ] ]。 Aliaksandr Hryshyn 2016.04.08 16:04 #23 Youri Tarshecki:同时,一开始不需要准备那么多积木,2 或 3 块就足够了。最重要的是建立互动关系。依赖关系也是如此。有 A、B、C。我们先检查 A 是否大于 B,然后检查 C 是否为真,再检查 B 是否大于 A,以此类推。然后,我们可以继续进行更复杂的交互。它已经存在了。具体实现如下有基本类型 int、double、bool复杂类型由基本类型创建(可以添加),例如 (int,double) - 图表上的坐标,(x,b) - 直线方程的系数,(a,b,c,d) - 最多支持 4 个值。指标以一组包含一个元素的复数类型表示常量以复合类型表示,这些常量是需要优化的策略参数函数接收特定复数类型的变量作为输入,其数量不受限制,输出也是复数类型。函数并不关心这些数据从何而来,最重要的是类型之间存在对应关系支持 mql4 中的所有订单(6 种)策略只定义一种订单类型(买入或卖出或买入止损或......)。对于非挂单订单,图形顶部有 4 个节点:市场进入条件、退出条件、TP 和 SL。区块(图形的函数/节点)可以从指标、常量、其他节点获取输入参数,允许许多其他节点从一个节点的结果中获取数据作为输入参数,没有任何限制,但不允许在图形中循环。然后,图形被转换成顺序代码,这些代码将被发送到 Expert Advisor 执行,无需在 MQL 中编译。 下面是一个代码示例:#define symbol GBPUSD; period 60; repeat_signal_skip True; stop_level 60; trade op_buy; max_shift 13; stack 4; const 9; cache 1; #data {True},{-1.26761795},{4.67108999}, {2.08088665},{-0.33782435},{22}, {1.63150050},{-11},{-0.22006371}; #program push [0]; push [1]; push [2]; call F_plus_d; push [3]; push [4]; call F_plus_d; push [5]; get .Ichimoku_2; call F_plus_d; push [6]; call F_minus_d; save [0]; push [7]; get .Open; call F_plus_d; call F_less; load [0]; push [8]; #end 尚未完成所有工作,代码中尚未包含所有必要信息,从类型控制的角度来看,代码执行正确,尚未考虑无意义表达式。代码中只使用了简单类型。 在 MQL4 中处理双精度浮点数 未知概率密度函数的核密度估计 神经网络诀窍 Aliaksandr Hryshyn 2016.04.08 16:13 #24 我认为策略可以通过 HTTP 协议传输,MQL 可以通过这种方式接收策略。我想让一切都完全自动化,包括搜索策略、制作策略组合、传输到智能交易系统等。MQL 中的部分系统已经准备好 90%,可以使用大量策略(仓位控制、风险、错误处理 等)。还有很多工作要做。 Alexey Volchanskiy 2016.04.08 16:37 #25 Yuriy Asaulenko: 如果你在寻找策略,那就不容易了。其他的我就不知道了,我还没想过。不过,任何建模在特殊环境下都更容易,在 MT 中则不然。MT 是最终产品,不是为研究而创建的,也不太适合研究。 我同意,我最初也是在 matlab 中进行建模的。不过,MT 测试仪还是一个黑盒子。 Alexey Volchanskiy 2016.04.08 16:42 #26 Aliaksandr Hryshyn: 下面是另一个无意义表达式的例子:=High>(Open-Close),它也无法通过。解释一下为什么它毫无意义。真的,我会这样写=High>MathAbs(Open-Close)ю Alexey Volchanskiy 2016.04.08 16:46 #27 Aliaksandr Hryshyn:然后,图形被转换为序列代码,该代码将被发送到 Expert Advisor 执行,无需在 MQL 中编译。 如何做到这一点? Aliaksandr Hryshyn 2016.04.08 16:49 #28 它将始终返回 true))。(开仓-平仓)总是小于(高点) Aliaksandr Hryshyn 2016.04.08 16:50 #29 Alexey Volchanskiy: 请解释一下是怎样的? 是广播还是表演? Alexey Volchanskiy 2016.04.08 16:51 #30 Aliaksandr Hryshyn:它将始终返回 true))。(开-关)总是小于(高)。 制动 )))))))))) 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
确实有很多小问题。
我正试图制作一个通用系统,这样就能以最小的代价添加不同的分析指标、蜡烛图等的可能性。每个函数都有关于它可以处理哪些数据以及将输出哪些数据的信息。此外,还将介绍指标及其提供的数据类型。数据分为简单和复杂两种类型,例如{double}和{int,double};数据分为不同类别,例如 "价格 "和 "图表上的位置",又例如 "直线"(可用于定义通道)等。按 "刻度类型 "分类,例如 "常数"(策略参数)、"指数"(有最小值和最大值)、"比率"(只有一个参考点,如价格、成交量)等。有必要以一致的方式修改策略,这其中存在细微差别,在一个地方修改会影响另一个地方的修改条件。
没错...为了减少搜索组合的数量,并使用了上述限制(类型、规模、类别),目前这就足够了,并进行了点修改(增加/删除一个/几个功能)。
如果说 "重组也是自发的,但重组的是整个现成的解决方案"--我想到了这一点),那就很难想象它是如何实现的了。一组组合函数与 "外部世界 "的联系很可能比单个函数要多,因此将其全部楔入的机会就会减少。算法变得非常复杂,还是留到更好的时候再说吧))。
让我澄清一下思路。为了减少变体的数量,并且对其中一个变体的修改不会影响到其他区块,这一点应该更加普遍。诀窍在于,同样的任务可以用不同的方法来实现,而事先往往并不清楚哪种方法更好。例如,我们定义了一项名为 "变换"(TRANSFORMATION)的通用任务。大约有十几种振荡器,它们各自以自己的方式定义了这种超稳定性。假设我们在振荡器脚本中设置的任务是尝试所有指标或所有方法。然后,我们必须规范这些区块与其他代码的交互。假设我们选择的交互标准是顶部百分比。生成器只需按顺序在代码中插入一个名为 Oversold1 的代码块,在该代码块中找到需要测试的变量,运行 volkin-forward 并记住测试结果。然后,他再编写一个新版本的智能交易系统,其中已经包含了 "Oversold 2 "代码块,尽管原始指标显示的是整数,甚至与零的符号也不同,但它同样给出了百分比。测试结束后,他会离开最成功的区块,转而执行另一项任务。
同时,没有必要一开始就准备那么多区块,2 或 3 个区块就足够了。最重要的是建立互动关系。
依赖关系也是如此。有 A、B、C。首先,如果 A 大于 B,则 C 为真。 然后,如果 B 大于 A,以此类推。
然后,我们可以继续进行更复杂的交互。
"为了减少选项的数量,并且对其中一个选项的修改不会影响到其他区块,应该让这些区块的功能更加多样化"。=> "比方说,我们选择交互标准 - 顶部的百分比"。- 我明白你的意思))。这涉及到将指标纳入单一视图,即预处理。在我的系统中,一切都太形式化了,我想保留这一切,我已经在努力实现诸如规模、类别等东西,我已经想好了怎么做,有些区块的连接确实会影响其他地方区块的连接。指标的标准化是通过指标本身的描述来实现的,根据指标本身的描述,某些区块会自动连接起来。其中一个区块可以很容易地计算一个值与另一个值的百分比,只是这些值之间必须有一个连接,这个连接将受到控制,例如
第 1 和第 3 个选项很好,符合逻辑,但第 3 个选项没有意义。
指数也要计算,例如Open[Max_on_position(iAC,0,30) ] ]。
同时,一开始不需要准备那么多积木,2 或 3 块就足够了。最重要的是建立互动关系。
依赖关系也是如此。有 A、B、C。我们先检查 A 是否大于 B,然后检查 C 是否为真,再检查 B 是否大于 A,以此类推。
然后,我们可以继续进行更复杂的交互。
它已经存在了。
具体实现如下
- 有基本类型 int、double、bool
- 复杂类型由基本类型创建(可以添加),例如 (int,double) - 图表上的坐标,(x,b) - 直线方程的系数,(a,b,c,d) - 最多支持 4 个值。
- 指标以一组包含一个元素的复数类型表示
- 常量以复合类型表示,这些常量是需要优化的策略参数
- 函数接收特定复数类型的变量作为输入,其数量不受限制,输出也是复数类型。
- 函数并不关心这些数据从何而来,最重要的是类型之间存在对应关系
- 支持 mql4 中的所有订单(6 种)
- 策略只定义一种订单类型(买入或卖出或买入止损或......)。
- 对于非挂单订单,图形顶部有 4 个节点:市场进入条件、退出条件、TP 和 SL。
- 区块(图形的函数/节点)可以从指标、常量、其他节点获取输入参数,允许许多其他节点从一个节点的结果中获取数据作为输入参数,没有任何限制,但不允许在图形中循环。
- 然后,图形被转换成顺序代码,这些代码将被发送到 Expert Advisor 执行,无需在 MQL 中编译。
下面是一个代码示例:尚未完成所有工作,代码中尚未包含所有必要信息,从类型控制的角度来看,代码执行正确,尚未考虑无意义表达式。
代码中只使用了简单类型。
我认为策略可以通过 HTTP 协议传输,MQL 可以通过这种方式接收策略。
我想让一切都完全自动化,包括搜索策略、制作策略组合、传输到智能交易系统等。
MQL 中的部分系统已经准备好 90%,可以使用大量策略(仓位控制、风险、错误处理 等)。
还有很多工作要做。
如果你在寻找策略,那就不容易了。其他的我就不知道了,我还没想过。不过,任何建模在特殊环境下都更容易,在 MT 中则不然。MT 是最终产品,不是为研究而创建的,也不太适合研究。
下面是另一个无意义表达式的例子:=High>(Open-Close),它也无法通过。
解释一下为什么它毫无意义。真的,我会这样写
ю
Aliaksandr Hryshyn:
然后,图形被转换为序列代码,该代码将被发送到 Expert Advisor 执行,无需在 MQL 中编译。
如何做到这一点?
它将始终返回 true))。
(开仓-平仓)总是小于(高点)
请解释一下是怎样的?
它将始终返回 true))。
(开-关)总是小于(高)。