初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1381

 
Vitaly Muzichenko #:

这取决于重叠的序列,最后一个在上面的序列

先用DRAW_FILLING 定义缓冲区

令人惊讶的是,它起作用了!我以为这一招只适用于一个指标的缓冲区,但事实证明对所有指标都一样。

谢谢你!

 
Vitaly Muzichenko #:

非常感谢你,我将尝试

 
与本主题无关的评论已被移至 "MQL4 MT4 MetaTrader 4初学者的问题"。
 

优化:

"所有刻度 "和" 基于真实刻度的每个刻度"是一回事?如果测试从2012年开始运行,哪个更可信?


在第一种情况下,终端写着 "96%的历史质量",在第二种情况下写着 "26%的真实刻度"。

 
Ivan Butko #:

优化:

"所有刻度 "和" 基于真实刻度的每个刻度"是一回事?如果测试从2012年开始运行,哪个更可信?


在第一种情况下,终端写着 "96%的历史质量",在第二种情况下写着 "26%的真实刻度"。

阅读日志--你会看到真正的虱子是哪一年的。作为一项规则,过去三年有真实的蜱虫。

 
Vladimir Karputov #:

阅读日志--你会看到从哪一年开始,真正的蜱虫就开始出现了。在过去的三年里,通常有真正的蜱虫。

我明白了,所以真实的刻度是更好的,尽管它说26%对96%。最后一个数字看起来更漂亮)

你还能告诉我如何选择历史上的最后一个勾吗?或最后一次交易。我需要知道它是如何关闭的:在停止或不停止。

尝试一些东西,不工作。

    int Last_deal_ticket = 0;
    for(int cnt=PositionsTotal()-1;cnt>=0;cnt--)
      {
        if(PositionSelectByTicket(PositionGetTicket(cnt)))
        if(PositionGetSymbol(cnt)==Symbol() && PositionGetInteger(POSITION_MAGIC)==Magic_number)
        Last_deal_ticket=PositionSelectByTicket(PositionGetTicket(cnt));
      }
    // потом, когда закроется, будет висеть с этим тикетом в истории
    // обращаемся к истории
    HistorySelectByPosition(Last_deal_ticket);
    if (HistoryDealGetString(Last_deal_ticket, (ENUM_DEAL_PROPERTY_STRING)DEAL_REASON)==DEAL_REASON_SL......... )


 
Ivan Butko #:

明白了,所以真实的蜱虫是更好的,尽管它说26%对96%。最后一个数字看起来更漂亮)

不,你不明白。

1.真正的蜱虫在测试时确实能提供真实的情况。

2.但是,你必须正面使用真实的蜱虫 - 你必须查看日志,看看从哪一天开始有真实的蜱虫。 否则,在你的情况下,从2012年到(大约2018年)去 "所有蜱虫",然后才去 "基于真实蜱虫的每个蜱虫"。

3.正确地插入代码:首先是编码 按钮,然后在弹出的窗口中插入代码!!!

 
Vladimir Karputov #:

不,你不明白。

1.真正的抽搐在测试时确实能给出真实的情况。

2.但是,你必须正面使用真实的蜱虫--你必须看一下日志,看看从哪个日期开始有真实的蜱虫。 否则,在你的情况下,从2012年到(大约2018年)去 "所有的蜱虫",然后才去 "基于真实蜱虫的每一个蜱虫"。

3.正确地插入代码:先按下按钮,然后在弹出窗口中插入代码!!。

明白了,谢谢

 
Ivan Butko #:


你能告诉我如何在历史上选择最后一张票吗?或最后一次交易。我需要知道它是如何关闭的:通过停止或不停止。

我在尝试一些东西,我不能。

我算是抓住了历史上的最后一笔交易,并试图检查它是如何关闭的。

Print("Last deal close = ", HistoryDealGetInteger(Last_deal_ticket,DEAL_REASON)); 

纪录

最后完成的交易=3


我看了看文件,有

识别器

描述

交易原因_客户

交易是由于从桌面终端触发的订单而执行的。

交易原因_手机

交易的执行是由于从移动应用程序发出的触发式订单。

交易原因_网络

交易是由于从网络平台发出的订单而执行的。

交易原因_专家

交易的执行是由于从MQL5程序--专家顾问或脚本--发出的触发订单。

价值评估_REASON_SL

该交易是由于触发了止损单而执行的。


前5行。

我不明白它的意思:如果我们从1开始算起,那么3是DEAL_REASON_WEB,这是错误的如果从零开始,则为DEAL_REASON_EXPERT。但是,我现在不明白如何知道止损发生在哪个交易中。

,请帮助。

 
Ivan Butko #:

似乎捕捉到了历史上的最后一笔交易,试图看看它是如何关闭的。

纪录

最后一次交易_票据 = 3


看了一下文件,有

身份证

描述

交易原因_客户

交易是由于从桌面终端发出的触发订单而执行的。

交易原因_手机

交易的执行是由于从移动应用程序发出的触发式订单。

交易原因_网络

交易是由于从网络平台发出的订单而执行的。

交易原因_专家

交易是由于从MQL5程序--专家顾问或脚本--发出的触发订单而执行的。

价值评估_REASON_SL

该交易是由于触发了止损单而执行的。


前5行。

我不明白它的意思:如果我们从1开始算起,那么3是DEAL_REASON_WEB,这是错误的如果从零开始,则为DEAL_REASON_EXPERT。但是,我现在不明白如何知道止损发生在哪个交易中。

,请帮助。

你正在使用ENUM_DEAL_REASON枚举。你不必将一个枚举与任何数字进行比较,你必须将它与一个枚举进行比较。下面是一个访问交易历史的例子(虽然是在OnTradeTransaction中),并检测止损和止盈的触发情况。

例子:跟踪止损或止盈的触发情况

How to start with MQL5
How to start with MQL5
  • 2020.09.17
  • www.mql5.com
This thread discusses MQL5 code examples. There will be examples of how to get data from indicators, how to program advisors...