错误、漏洞、问题 - 页 410

 
papaklass:
你可以使用函数OrdersTotal()来跟踪待处理订单。将其当前值与前一个值进行比较。如果你想避免多个挂单,请使用设置订单的标志。如果这个标志==真,意味着已经有一个订单被设定。当订单被触发时,重置这个标志,即OrdersTotal()将改变。

幸运的是,我在一年前经历了这些基础知识。我使用了专门介绍在MQL5中工作的初步技能的文章。冠军确认--这个计划对培训有好处,但不适合日常交易。罗氏的文章已经点了所有的 "i",划了所有的 "t"。

而这并不是如何检查订单状态的问题。重点是,我上面描述的交易参数可以大大简化订单和头寸的工作。 从个人用户(即我)的角度来看,"我应该做什么?未知",以及逐点 处理订单,而不是通过 "符号-OrdersTotal() "束。

纸杯
你所需要知道的是这一事件发生的符号。

重点是,如果我们抛开培训范式不谈,更重要的是知道订单票,而不是符号,来处理挂单。更准确地说,用符号工作是可以接受的,但要做很多额外的工作。

P.S. 这是我第一次听说 "订阅"。这是一个不错的变体。

 
papaklass:
我并不是一开始就声称自己是真理,但你关于幼儿园的说法充满了傲慢的味道。

不要把它当做个人问题。我在你的留言前纠正了这个短语。你知道,有时你写完就发了,然后当你读到它时,你会纠正次要短语中可能的歧义。

关于这个问题。我们的交易方法完全相反:我不关心何时以及如何开仓/平仓,因为EA自己会处理这些时刻(转移TP,追踪止损等)。对我来说,重要的是挂单 应始终覆盖市场上的情况。这就是为什么我强调 "OnTrade()只有一个符号参数就够了 "这样的说法并不能反映所有常见/典型的策略。

 
Interesting:

对《中国日报》的开发者来说

Win 2003 SP2(在终端模式下)不断丢失我的交易账户信息是一个错误还是为了提高安全性而设计的?

更确切地说,如果我在正常模式和终端模式下交替使用同一个程序副本,并使用不同的账户,账户数据就会不时消失。显然,如果你只是用不同的账户在终端模式下工作,情况也会类似(我还没有检查过)。


是的,这是正确的。

当另一个Windows用户(甚至在同一台电脑上)试图访问终端时,该终端保存了另一个Windows用户的密码,密码被强制重置。这样做是为了防止任何人窃取密码。

 
Virty:

是的,这似乎是一个简单的问题,而大师们已经在争论了。要让测试器正常工作是件很麻烦的事。为了以当前价格买入1手欧元兑美元,你必须进行3-4次检查。如果你不这样做,测试器将工作,但不是正确的,而且,重要的是,安静地工作。只有负余额或其他一些废话才会导致。而且,如果检查成功是好事。但如果SymbolInfoTick返回错误,我们就不知道该怎么做了。我应该把错误代码挂在墙上,而不是把奖品挂在锦标赛上吗?

我尝试了 "equity<0.55*balance "和 "free_margin<100"。它没有发挥作用。我不知道为什么没能成功。我真的被这些利润率搞糊涂了。

我留下了它,如果(AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)<55.0)。这似乎是有效的。

锦标赛规则写得很简单,用的是开发者的行话,而他们需要的是傻瓜的细节。

有什么可争论的呢?保证金水平=资金/证券*100%,或以MQL5表示。

AccountInfoDouble(ACCOUNT_MARGIN_LEVEL)=AccountInfoDouble(ACCOUNT_EQUITY)/AccountInfoDouble(ACCOUNT_MARGIN)*100=
AccountInfoDouble(ACCOUNT_EQUITY)/(AccountInfoDouble(ACCOUNT_EQUITY)-AccountInfoDouble(ACCOUNT_FREEMARGIN))*100

这些参数显示在你的终端 "交易 "标签上,你可以检查它们。至于停止的问题,请看2007年的类似讨论

Установка Stop Out - MQL4 форум
  • www.mql5.com
Установка Stop Out - MQL4 форум
 
papaklass:

维亚切斯拉夫,你的回答令人鼓舞。论坛上有人建议,在我看来,一个可以接受的解决方案--订阅。实现这个类似于iCustom()函数的订阅,它有强制性和非强制性的参数。在初始化EA时,每个交易者必须订阅他/她需要的事件。不是针对事件的总数,而是只针对那些对其贸易至关重要的事件。这种方法(订阅)将大大促进多货币EA的开发,并真正减少代码。至少用两个函数OnTrade() 和OnTick()做一个实验。然后你可以增加事件(参数)的数量。实践是真理的标准。在你尝试之前,你不会明白可能会出现什么困难。

PS 与函数GetLastError()的类比,返回系统变量LastError的值,可能比与函数iCustom()的类比更合适。键入TradeEvent系统变量,当OnTrade()触发时,打印该变量的值。

这是我第一次听说订阅,但作为一个想法的基础,这是一个非常好的想法(如订阅驯兽师活动或市场深度)。

另外,基于_Error类型的常数的想法也很有趣。

在我看来,这个符号应该被转移,原则上,我们现在就可以开始朝这个方向前进,这样在锦标赛之前至少可以在这个领域引入一些创新。

耶德尔金

重点是,如果我们抛开培训范式,在处理挂单时,知道订单票而不是符号更重要。确切地说,用符号工作是可以接受的,但这是一个很大的额外工作。

一开始我们必须只实现符号,然后我们会有时间考虑什么和如何额外传递。如果能以同样的方式处理OnTrade()和OnTick()就更好了。

发展订阅主题,有可能组织订阅某一对股票的点数。

 
Yedelkin:

不要把它当做个人问题。我在你的留言前纠正了这个短语。你知道,有时你写了,发了,--然后当你读它时,你会纠正次要短语中可能的歧义。

关于这个问题。我们的交易方法完全相反:我不关心何时以及如何开仓/平仓,因为EA自己会处理这些时刻(转移TP,追踪止损等)。对我来说,重要的是挂单 应始终覆盖市场上的情况。这就是为什么我强调 "OnTrade()只有一个符号参数就够了 "这样的说法并不能反映所有常见/典型的策略。

我同意,它没有。但尽管如此,我们必须从符号开始,订单/交易票据或其他东西将在以后添加到它。

雷纳特

是的,这是正确的。

当另一个Windows用户(甚至在同一台电脑上)试图访问一个有另一个Windows用户存储的密码的终端时,密码被强行重置。这样做是为了防止任何人窃取密码。

我明白了,谢谢你(我也是这么想的,我想我要确定一下)。
 
Interesting:

首先,只应实施符号,然后将有时间考虑什么和如何额外通过。

......应该开始的是符号,而订单/交易单 或其他东西以后会被添加到它是另一个问题。

总的来说,口音已经定下来了,我只想指出,如果你按照 "每个人都把毯子拉到自己身上 "的原则行事(比如 "只给我符号参数 "或 "只给我票据参数"),那么你就会一无所获。这就是为什么我的问题最初是在考虑到参数的最低配置的情况下提出的。确切地说,是 "最低配置",因为我预计更高级的用户会对扩大/澄清他们的名单有自己的愿望。

因此,出现限制只有一个参数(符号-参数)的建议有点令人惊讶,尤其是在stringo的回应 背景下,他根本没有说开发者对OnTrade()的参数数量有问题。问题是,"一张相同的票可能导致一堆信息"。而且,无论为函数输入多少个参数,它们都会出现。

...去年,我有很长一段时间无法理解专家们定期谈论的 "拐杖 "是什么。现在,在关于OnTrade()参数的讨论基础上,我得到了一个强烈的联想:"拐杖"==解决这个或那个问题时的半途而废。我认为OnTrade()的参数问题在没有参数的情况下也会得到解决。正如他们所说的那样,赞美开发人员解决问题的复杂方法!这就是我们的工作。:)

 

测试结束后,"泵的结果为0 "的信息是什么意思?

 
MoneyJinn:

build 466:单一测试的结果与一分钟前进行的优化结果不同。

原因是什么呢?在新的测试中,测试员从市场上获取哪些更新的参数?

你能附上结果吗?
 
Ashes:

测试结束后,"泵的结果为0 "的信息是什么意思?

一个随机滑落的调试信息。泵结果后面的数字与启动时的数字相对应。