对Meta Trader的祝愿 4/5

 

1)做一个直观的、拖放式的策略构建器,就像Gordago那样(或者更好的是,更复杂的策略构建器)。 这肯定会吸引那些想或多或少进行系统性交易,但不想花大量时间在MQL中学习和摸索的新用户。交易员的业务是思考市场和尝试选项,而不是思考哪里有一个错误已经悄悄地进入了程序代码。

2)为测试打勾的历史。由于竞争和变化的发生,你迟早要做 "为所有人服务",而且有知识的人和 "长期 "的人知道如何在MT4中进行测试。

做好这些事情,MT将在很长一段时间内毫无疑问地成为第一。如果你不这样做,其他人也会这样做(而且已经这样做了)。但你已经有了一个足够高质量和合适的产品,用于这些必要的东西的上层建筑。

带着理解的希望。

 
非常天真。

很少有人能抵制 "我只是在视觉上掷骰子,然后就可以了 "的梦想。严酷的现实和长期的实践证明,它从来没有成功过,也从来没有成功过,而且不太可能成功。我们正朝着相反的方向发展--专注于程序员,并为他们提供完整的开发工具。
 
亲爱的雷纳特。

是否可以在新版Meta Trader 4
在策略测试器的 "日志 "页面
,通过右击后出现的菜单
,与 "自动滚动 "项目一起添加项目
"禁用测试器信息的输出"。
"禁用日志输出"。

因此,日志将只显示专家顾问的结果,而没有以下信息:

2007.09.04 22:49:44 专家:加载成功
2007.09.04 22:55:37 2006.01.02 07:00 专家:EURUSD,M1:开盘#1在1.1832买入0.50 EURUSD sl:1.1732 tp:1.1882 ok
2007.09.04 22:55:38 2006.01.03 06:03 测试员:在1.1882(1.1883 / 1.1886)获利#1

和其他类似信息
当一个专家顾问在测试期内发送许多订单时
,几乎不可能找到专家顾问本身的信息
,这使得调试非常困难。
在磁盘上的日志中寻找东西是不方便的。

预先感谢你。
 
1)完全有能力玩转历史。
2)在优化过程中能够观察到两个变量空间的整个形状
而不仅仅是最好的结果,当所有其他值都固定时。
3)能够进行自动的WFA。
4)测试和优化多货币(组合)EA的能力。
 
Renat:
非常天真。

很少有人能抵制那种 "现在我掷骰子,就这样了 "的梦想。严酷的现实和长期的实践证明,这种做法没有成功,也不可行,而且不太可能有这样的结果。我们正朝着相反的方向发展--专注于程序员,并为他们提供完整的开发工具。


这是个奇怪的答案。"政治",顺便说一下,其他许多答案也是如此。我说的不是 "空想",而是实际的界面。 我不会把时间浪费在争论什么、谁拥有它以及它究竟如何 "工作 "上,可以这么说。相反,我建议你保留和发展复杂的编程,并在此基础上为CA平台的另一部分增加一个可视化的直观设计师。如果你让它在功能上与编程相同(即使不是立刻就能做到),甚至更好,有能力结合这两种方法,那么用户如何形成策略--通过代码、"骰子 "或总结,又有什么区别呢?

显然,你会告诉我,"我们没有资源来做这些无稽之谈。我们将用我们的余生来唱同样的调子。" 这差不多是对的吗?

 
ADI:


显然,你会告诉我,"我们没有资源来做这些无稽之谈。我们将用我们的余生来唱同样的调子。" 这差不多是对的吗?

理论是好的,但我们是实践者。以前也有过 "为交易者做一个简单的解决方案 "的尝试(MQL、MQL2)。我以前曾多次写过这个问题。

但我们将与构造器/视镜一起工作--我们将尝试自动制作简单的基本骨架(不是完整的程序)。
 
除了通常的变量声明 外,我真的想通过字符串名称来创建类似的变量,它作为一个参数,可以在指标或专家顾问的操作过程中改变。这类似于全局变量!例如,像这样。
CreatIntVariable("Variable_Name");
 

Renat,我建议你在未来的版本中考虑一下iCustom 函数的原型。现在你必须在代码中明确写出参数列表,而且你不能通过名称来调用一个任意的指标,例如,由用户给出的,因为任何指标的参数数量都是事先未知的。它严重地限制了iCustom的使用。而且,在iCustom参数列表的最后有两个调用参数(int mode, int shift),也就是说,指标参数在原型中 "打破 "了iCustom本身的参数。

我可以提出这样一个原型。

double iCustom( string symbol, int timeframe, string name, int mode, int shift, object[] indicatorParams)

即iCustom本身的所有强制性参数都在开头,而函数的最后一个参数是一个新的任意对象类型的指标参数数组(事实上,它们是int、bool、double、datetime和其他内置的MQL类型),数组中的数字可变。虽然,这个想法本身并不现实--大约5年前,一个人告诉我,程序员是一个已经灭绝的阶层,是专业人士和计算机之间的一个不必要的层次。随着时间的推移,预言变得真实,相反,IT解决方案的数量和复杂性只会增加。

而且,如果能有函数为指标列举其参数就更好了:IndicatorArgsCount(),ArgsItemName[i]将返回参数名称,等等。
而最重要的是--它是MQL 5的调试器

 

chv--在iCustom中仍然可以使用默认参数--见https://docs.mql4.com/ru/indicators/iCustom。

原则上,MQL4代表了现在的一切,但仍有更多可能。 以下是我的清单。

1.)可以确定一个止损或止盈订单是否刚刚关闭。现在可以做到这一点,但这是相当复杂的。

3项功能

intOrderJustClosedCount() - 返回在止损点关闭的订单数量。

intOrderJustClosed(int pos) - 票据的编号

voidOrderJustClosedClear() - 在OrderJustClosedCount 返回0后立即清除缓冲区 - 如果处理时间过长。

2.)对于某些对象(如线性回归通道),你不能在绘制后读取一些数值(如通道末端的价格)。

3.)增加更多的MathArcTan2--至少是MathArcTan2--当然很多东西已经在MQL4中实现了,但还是--为什么不把它们整合起来?

而关于调试器--我相信你已经在做了;-)

 
Itso:

1.)可以确定StopLoss或TakeProfit订单是否刚刚关闭。这一点现在可以做到,但相当复杂。

然后还有一个被触发的挂单列表。

一般来说,我们只需引入 "事件 "的概念,就可以处理所有这些情况。
例如,"订单被触发"、"SL被触发 "或 "订单在到期时间 前被删除 "的事件。
 
Itso:

chv--在iCustom中使用默认参数的可能性仍然存在--见https://docs.mql4.com/ru/indicators/iCustom


你知道,我已经读过iCustom函数的原型了;)。"默认参数 "不允许我做我需要的事情。这里是最简单的任务 - 专家顾问在一个字符串中接受任意指标的名称作为参数,例如,在一个文本文件中以逗号分隔的其参数值列表。专家顾问应该用指定的参数值调用该指标的名称,并接收其数值,将其打印在日志中,例如,我们在iCustom描述中已经看到。

...   -   Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных  пользовательского индикатора.

现在我们不能为一个任意的指标这样做--写我们不知道的东西。在编制专家顾问的阶段,指标参数的数量和类型是未知的。它只在运行时执行时确定。在编程语言中,这被称为 "后期绑定"。目前在MQL中不存在这种情况。