如何开始使用Metatrader 5 - 页 121

 

尊敬的女士们、先生们

我是一个初学者,想遵循剪切和粘贴策略。我如何开始呢。我需要一步一步的方法


 
Seth Agblemor:

尊敬的女士们、先生们

我是一个初学者,想遵循剪切和粘贴策略。我如何开始呢。我需要一步一步的方法


我从哪里开始?
https://www.mql5.com/en/forum/212020

----------------

Where Do I start from?
Where Do I start from?
  • 2017.07.25
  • www.mql5.com
Hi fam! Am a total newbie in the forex niche... Just signed up here on this platform... Please where do i start from? I need help...
 

关于交易、自动交易系统和测试交易策略的论坛

关于信号的一些问题

Sergey Golubev, 2016.12.30 20:14

只是关于信号服务的一些信息。

这是关于从哪里开始到的信息。

------------

  • 基于真实账户的信号只能通过付费订阅获得;基于模拟账户的信号只能通过免费订阅获得。
  • 基于美分账户的信号不能有付费订阅。这种信号只在MetaTrader终端上免费提供。美分账户是自动定义的。如果信号的定义不正确,服务管理部门可以手动分配这个属性给信号。

 
科霍恩神经网络在算法交易中的实际应用。第一部分:工具

<br / translate="no">

在mql5.com网站的一些文章中接触到了Kohonen神经网络的主题,如在MetaTrader 5中使用自组织特征图(Kohonen图)自组织特征图(Kohonen图)--重新审视这个主题。他们向读者介绍了建立这种类型的神经网络的一般原则,并使用这种地图直观地分析市场的经济数字。

然而,在实际操作中,仅仅将Kohonen网络用于算法交易,却只局限于一种方法,即为EA优化结果构建的拓扑图的视觉分析。在这种情况下,一个人的价值判断,或者说一个人的视觉和从图片中得出合理结论的能力变成了,也许是关键的因素,把关于代表数据的网络属性排挤到螺母和螺栓事项之外。

换句话说,神经网络算法的特点没有得到充分的利用,也就是说,它们在使用时没有自动提取知识或用具体建议支持决策。在本文中,我们以一种更正式的方式考虑定义机器人的最佳参数集的问题。此外,我们将应用Kohonen网络来预测经济范围。然而,在进行这些应用问题之前,我们应该修改现有的源代码,得到一些修正,并进行一些改进。

如果你不熟悉 "网络"、"层"、"神经元"("节点")、"链接"、"权重"、"学习率"、"学习范围 "等术语以及其他与Kohonen网络相关的概念,强烈建议你先阅读上述文章。那么我们就必须在这个问题上达到饱和,所以重新教授基本概念会大大延长本刊物的时间。

 

交易、自动交易系统和测试交易策略论坛

2005 年构建的新 MetaTrader 5 平台:经济日历、MQL5 应用程序即服务和 R 语言 API

MetaQuotes Software Corp. , 2019.02.20 17:20

MetaTrader 5 平台更新将于 2019 年 2 月 21 日发布。新版本具有以下更改:

  1. 终端:完全修改了内置经济日历。

    经济日历是我们的专有解决方案。您将在其中找到与全球 13 个最大经济体相关的 600 多个财经新闻和指标:美国、欧盟、日本、英国、加拿大、澳大利亚、中国等。相关数据是从开源实时收集的。

    新版本具有更新的内容和高级事件过滤器:按时间、优先级、货币和国家。

    现在可以从 MQL5 程序访问日历数据。请参阅下面的详细资料。




  2. 程序端:添加了新型 MQL5 应用程序 — 服务。这种新类型可以为终端创建自定义价格馈送,即从外部系统实时实施价格交付,就像在经纪人的交易服务器上实施一样。

    与智能交易系统、指标和脚本不同,服务未链接到特定图表。此类应用程序在后台运行,并在终端启动时自动启动(除非此类应用程序被强制停止)。

    可以从导航器窗口中的新部分管理服务:





    如何创建服务
    要创建服务模板,请使用相应的MQL5 向导选项。服务有一个OnStart入口点,类似于脚本。此时,您可以使用网络函数实现无限的数据接收和处理循环。

    如何启动服务
    要运行具有不同参数的多个 EA 或指标副本,您应该在不同的图表上启动它们。在这种情况下,会创建不同的程序实例,然后独立运行。服务未链接到图表,因此实施了一种特殊机制来创建服务实例。

    从导航器中选择一个服务,然后在其上下文菜单中单击“添加服务”。这将打开一个标准 MQL5 程序对话框,您可以在其中启用/禁用交易和访问信号设置,以及设置各种参数。




    可以使用适当的实例菜单启动和停止服务实例。要管理所有实例,请使用服务菜单。

  3. 终端:添加了一个学习程序。

    新功能将帮助初学者学习如何与平台交互。我们添加了 100 多个有关主要平台功能的互动提示。

    • 提示无缝地显示为工具栏上的进度条,因此不会分散用户的注意力。
    • 提示仅针对您从未在平台中执行的操作显示。
    • 所有提示都包含交互式链接,您可以通过这些链接导航到相关的界面元素。例如,可以直接从提示中启动带有所需程序的交易对话框或菜单。

    每当您执行适当的操作并继续训练时,进度条的填充区域就会增加。




  4. 终端: 交易账户历史可以显示为头寸。该平台收集与头寸相关的交易数据(开仓、交易量增加、部分或全部平仓)并将信息分组到单个记录中。因此,您可以访问头寸详细信息:开仓和平仓时间、交易量、价格和结果。这种高效的演示表格现在可以在导出到文件的历史报告中使用。




  5. 终端:通过使用R 语言的应用程序添加了 MetaTrader 5 终端数据的新 API 启用请求。

    我们准备了一个特殊的 MetaTrader 包。它包含用于 R 和 MetaTrader 5 终端之间交互的 DLL、文档和辅助 r 文件。我们正在完成CRAN存储库中的包注册,之后它将可供下载和安装。




    可以使用特殊命令安装该软件包:
    R CMD INSTALL --build MetaTrader

    以下与数据请求相关的命令可用:

    • MT5Initialize 初始化并建立与 MetaTrader 5 终端的连接。如有必要,在命令执行期间启动终端。
    • MT5Shutdown 取消初始化并与 MetaTrader 5 断开连接。
    • MT5Version 获得 MetaTrader 5 终端版本。
    • MT5TerminalInfo 获取终端连接到经纪商服务器的状态和参数(账号和服务器地址)。
    • MT5WaitTerminal 等待 MetaTrader 5 终端连接到经纪商的服务器。
    • MT5CopyTicksFrom(symbol, from, count, flags) 从指定日期开始复制指定数量的刻度。自 01.01.1970 以来的日期以毫秒为单位指定。
    • MT5CopyTicksRange(symbol, from, to, flags) 复制指定周期内的报价。自 1970 年 1 月 1 日起,日期以毫秒为单位指定。
    • MT5CopyRatesFrom(symbol, timeframe, from, count) 从指定日期开始复制指定数量的一分钟柱线。日期以 1970 年 1 月 1 日以来的秒数为单位指定。
    • MT5CopyRatesFromPos(symbol, timeframe, start_pos, count) 从相对于最后一根柱线的指定位置复制一分钟柱线。
    • MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) 从指定时间段内复制柱线。自 01.01.1970 以来的日期以秒为单位指定。

    支持的命令列表将进一步扩展。

  6. 程序端:优化的关闭方式对话框,用于关闭对面的头寸。现在,即使您有大量未平仓头寸,对话也不会变慢。
  7. 程序端:修复了合成符号计算错误,导致数据偶尔会被跳过。
  8. 程序端:当自定义交易品种被删除时,存储其报价和柱历史的文件也会被删除。这避免了未使用的数据在硬盘上的累积。
  9. 程序端:修复了高 DPI 屏幕上搜索结果的显示。
  10. MQL5:实现了从 MQL5 程序访问经济日历数据。

    新功能

    CalendarCountryById — 按标识符获取国家/地区描述。
     bool CalendarCountryById(
       const long            country_id,    // country ID
       MqlCalendarCountry&  country        // country description
       );
    CalendarEventById — 按标识符获取事件描述。
     bool CalendarEventById(
       const long            event_id,      // event ID
       MqlCalendarEvent&     event           // event description
       );
    CalendarValueById — 按标识符获取事件值描述。
     bool CalendarValueById(
       const long            value_id,      // value ID
       MqlCalendarValue&     value           // value description
       );
    CalendarEventByCountry — 获取国家/地区可用事件的数组。
     bool CalendarEventByCountry(
       string                country_code,  // country code
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarEventByCurrency — 获取受影响货币的可用事件数组。
     bool CalendarEventByCurrency(
       string                currency,       // currency
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarValueHistoryByEvent — 按事件标识符获取指定时间段的值数组。
     bool CalendarValueHistoryByEvent(
       ulong                 event_id,      // event ID
       MqlCalendarValue&    values[],      // array of values
       datetime              datetime_from, // period beginning date
       datetime              datetime_to= 0  // period end date
       );
    CalendarValueHistory — 获取指定时间段内所有事件的值数组,按国家和/或货币过滤。
     bool CalendarValueHistory(
       MqlCalendarValue&    values[],           // array of values
       datetime              datetime_from,     // beginning of period
       datetime              datetime_to= 0 ,     // end of period
       string                country_code=NULL, // country code
       string               currency=NULL      // currency
       );
    CalendarValueLastByEvent — 按标识符获取最后一个事件值的数组。此功能启用自上次请求以来出现的值的请求。输入/输出参数“change_id”额外用于此操作。

    每次日历数据库更改时,都会更新“change_id”属性(最后一次更改标识符)。在数据请求期间,您指定“change_id”,终端返回该时间之后出现的事件,以及当前的“change_id”值,可用于下一次请求。在第一次函数调用期间,指定零“change_id”:该函数不会返回任何事件,但会返回当前的“change_id”以供进一步请求。
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[]           // array of values
       );
    CalendarValueLast — 获取所有事件的最后值数组,按国家和/或货币过滤。此功能启用自上次请求以来出现的值的请求。与 CalendarValueLastByEvent 类似,“change_id”属性用于请求。
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[],           // array of values
       string                country_code=NULL, // country code
       string currency=NULL                     // currency
       );

    新结构

    MqlCalendarCountry — 国家描述。
     struct MqlCalendarCountry
      {
       ulong              id;                         // country ID in ISO 3166-1
       string             name;                       // text name of the country
       string             code;                       // code name of the country in ISO 3166-1 alpha-2
       string             currency;                   // country currency code
       string             currency_symbol;           // country currency symbol/sign
       string             url_name;                   // country name used in URL on mql5.com
      };
    MqlCalendarEvent — 事件描述。
     struct MqlCalendarEvent
      {
       ulong                           id;           // event ID
       ENUM_CALENDAR_EVENT_TYPE       type;         // event type
       ENUM_CALENDAR_EVENT_SECTOR     sector;       // sector to which the event belongs
       ENUM_CALENDAR_EVENT_FREQUENCY  frequency;     // event release frequency
       ENUM_CALENDAR_EVENT_TIMEMODE   time_mode;     // event release time mode
       ulong                           country_id;   // country ID
       ENUM_CALENDAR_EVENT_UNIT       unit;         // unit for the event values
       ENUM_CALENDAR_EVENT_IMPORTANCE importance;   // event importance
       ENUM_CALENDAR_EVENT_MULTIPLIER multiplier;   // event importance multiplier
       uint                            digits;       // number of decimal places in the event value
       string                          source_url;   // source URL
       string                          event_code;   // event code
       string                          name;         // text name of the event in the terminal language
      };
    MqlCalendarValue — 事件值描述。
     struct MqlCalendarValue
      {
       ulong              id;                         // value ID
       ulong              event_id;                   // event ID
       datetime           time;                       // event date and time
       datetime           period;                     // period, for which the event is published
       int                revision;                   // published indicator revision in relation to the reported period
       long               actual_value;               // current event value
       long               prev_value;                 // previous event value
       long               revised_prev_value;         // revised previous event value
       long               forecast_value;             // forecast event value
       ENUM_CALENDAR_EVENT_IMPACRT impact_type;     // potential impact on the currency rate
      };

    新枚举

    enum ENUM_CALENDAR_EVENT_FREQUENCY
      {
       CALENDAR_FREQUENCY_NONE            = 0 ,   // not used
       CALENDAR_FREQUENCY_WEEK            = 1 ,   // weekly
       CALENDAR_FREQUENCY_MONTH           = 2 ,   // monthly
       CALENDAR_FREQUENCY_QUARTER         = 3 ,   // quarterly
       CALENDAR_FREQUENCY_YEAR            = 4 ,   // yearly
       CALENDAR_FREQUENCY_DAY             = 5 ,   // daily
      };
    
    enum ENUM_CALENDAR_EVENT_TYPE
      {
       CALENDAR_TYPE_EVENT                = 0 ,   // event (meeting, speech, etc.)
       CALENDAR_TYPE_INDICATOR            = 1 ,   // indicator
       CALENDAR_TYPE_HOLIDAY              = 2 ,   // holiday
      };
    
    enum ENUM_CALENDAR_EVENT_SECTOR
      {
       CALENDAR_SECTOR_NONE               = 0 ,   // no
       CALENDAR_SECTOR_MARKET             = 1 ,   // market
       CALENDAR_SECTOR_GDP                = 2 ,   // GDP
       CALENDAR_SECTOR_JOBS               = 3 ,   // jobs
       CALENDAR_SECTOR_PRICES             = 4 ,   // prices
       CALENDAR_SECTOR_MONEY              = 5 ,   // money
       CALENDAR_SECTOR_TRADE              = 6 ,   // trade
       CALENDAR_SECTOR_GOVERNMENT         = 7 ,   // government
       CALENDAR_SECTOR_BUSINESS           = 8 ,   // business
       CALENDAR_SECTOR_CONSUMER           = 9 ,   // consumer
       CALENDAR_SECTOR_HOUSING            = 10 ,   // housing
       CALENDAR_SECTOR_TAXES              = 11 ,   // taxes
       CALENDAR_SECTOR_HOLIDAYS           = 12 ,   // holidays
      };
      
    enum ENUM_CALENDAR_EVENT_IMPORTANCE
      {
       CALENDAR_IMPORTANCE_LOW            = 0 ,   // no
       CALENDAR_IMPORTANCE_NONE           = 1 ,   // low
       CALENDAR_IMPORTANCE_MODERATE       = 2 ,   // moderate
       CALENDAR_IMPORTANCE_HIGH           = 3 ,   // high
      };
    
    enum ENUM_CALENDAR_EVENT_UNIT
      {
       CALENDAR_UNIT_NONE                 = 0 ,   // no
       CALENDAR_UNIT_PERCENT              = 1 ,   // percent
       CALENDAR_UNIT_CURRENCY             = 2 ,   // national currency
       CALENDAR_UNIT_HOUR                 = 3 ,   // number of hours
       CALENDAR_UNIT_JOB                  = 4 ,   // number of jobs
       CALENDAR_UNIT_RIG                  = 5 ,   // number of rigs
       CALENDAR_UNIT_USD                  = 6 ,   // US dollar
       CALENDAR_UNIT_PEOPLE               = 7 ,   // number of people
       CALENDAR_UNIT_MORTGAGE             = 8 ,   // number of mortgages
       CALENDAR_UNIT_VOTE                 = 9 ,   // number of votes
       CALENDAR_UNIT_BARREL               = 10 ,   // number of barrels
       CALENDAR_UNIT_CUBICFEET            = 11 ,   // volume in cubic feet
       CALENDAR_UNIT_POSITION             = 12 ,   // number of job positions
       CALENDAR_UNIT_BUILDING             = 13    // number of buildings
      };
      
    enum ENUM_CALENDAR_EVENT_MULTIPLIER
      {
       CALENDAR_MULTIPLIER_NONE           = 0 ,   // no    
       CALENDAR_MULTIPLIER_THOUSANDS      = 1 ,   // thousands
       CALENDAR_MULTIPLIER_MILLIONS       = 2 ,   // millions
       CALENDAR_MULTIPLIER_BILLIONS       = 3 ,   // billions
       CALENDAR_MULTIPLIER_TRILLIONS      = 4 ,   // trillions
      };
      
    enum ENUM_CALENDAR_EVENT_IMPACRT
      {
       CALENDAR_IMPACT_NA                 = 0 ,   // not available
       CALENDAR_IMPACT_POSITIVE           = 1 ,   // positive
       CALENDAR_IMPACT_NEGATIVE           = 2 ,   // negative
      };
    
    enum ENUM_CALENDAR_EVENT_TIMEMODE
      {
       CALENDAR_TIMEMODE_DATETIME         = 0 ,   // the source publishes the exact time
       CALENDAR_TIMEMODE_DATE             = 1 ,   // the event takes the whole day
       CALENDAR_TIMEMODE_NOTIME           = 2 ,   // the source does not publish the event time
       CALENDAR_TIMEMODE_TENTATIVE        = 3 ,   // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
      };

    新的错误代码

    ERR_CALENDAR_MORE_DATA             = 5400 ,   // the array is small for the whole result (values which fit in the array were passed)
    ERR_CALENDAR_TIMEOUT               = 5401 ,   // timed out waiting for a response to the calendar data request
    ERR_CALENDAR_NO_DATA               = 5402 ,   // data not found

  11. MQL5:修复和改进与分时和柱历史相关的操作速度。
  12. MQL5:与自定义交易品种、 CustomTicks*CustomRates*的分时和柱线历史修改功能相关的修复和显着的操作速度改进。
  13. MQL5:新的数据转换功能。

    CharArrayToStruct将 uchar 数组复制到 POD 结构。
     bool   CharArrayToStruct(
       void &         struct_object,    // structure
       const uchar &  char_array[],      // array
       uint           start_pos= 0         // starting position in the array
       );
    StructToCharArray将 POD 结构复制到 uchar 数组。
     bool   StructToCharArray(
       const void &  struct_object,      // structure
       uchar &       char_array[],      // array
       uint          start_pos= 0         // starting position in the array
       );

  14. 添加了 MathSwap函数,用于更改 ushort、uint 和 ulong 值中的字节顺序。
     ushort MathSwap( ushort value );
    uint    MathSwap( uint    value );
    ulong   MathSwap( ulong    value );

  15. MQL5:添加了用于通过系统套接字创建到远程主机的 TCP 连接的网络功能

    • SocketCreate 创建一个带有指定标志的套接字并返回它的句柄
    • SocketClose 关闭套接字
    • SocketConnect 连接服务器,有超时控制
    • SocketIsConnected 检查套接字当前是否已连接
    • SocketIsReadable 获取可以从套接字读取的字节数
    • SocketIsWritable 检查当前时间是否可以将数据写入此套接字
    • SocketTimeouts 设置系统套接字对象的数据接收和发送超时时间
    • SocketRead 从套接字读取数据
    • SocketSend 将数据写入套接字
    • SocketTlsHandshake 使用 TLS 握手协议启动与指定主机的安全 TLS (SSL) 连接
    • SocketTlsCertificate 接收有关用于安全网络连接的证书的信息
    • SocketTlsRead 从安全的 TLS 连接中读取数据
    • SocketTlsReadAvailable 从安全的 TLS 连接中读取所有可用数据
    • SocketTlsSend 使用安全的 TLS 连接发送数据

    使用网络功能建立连接的主机地址必须明确添加到终端设置中允许的地址列表中

    为具有网络功能的操作添加了新的错误代码

    • ERR_NETSOCKET_INVALIDHANDLE (5270):传递给函数的套接字句柄无效
    • ERR_NETSOCKET_TOO_MANY_OPENED (5271):打开的套接字过多(最多 128 个)
    • ERR_NETSOCKET_CANNOT_CONNECT (5272):连接远程主机时出错
    • ERR_NETSOCKET_IO_ERROR (5273):从套接字发送/接收数据时出错
    • ERR_NETSOCKET_HANDSHAKE_FAILED (5274):安全连接建立错误(TLS 握手)
    • ERR_NETSOCKET_NO_CERTIFICATE (5275) — 没有关于用于安全连接的证书的数据

  16. MQL5:为字符串操作添加了新函数

    StringReserve 为字符串保留指定大小的内存缓冲区。
     bool   StringReserve(
       string &        string_var,           // string
       uint            new_capacity          // buffer size for the string
       );
    StringSetLength 以字符为单位设置指定的字符串长度。
     bool   StringSetLength(
       string &        string_var,          // string
       uint            new_length           // new string length
       );

  17. MQL5:为数组操作添加了新功能

    ArrayRemove 从数组中删除从指定索引开始的指定数量的元素。
     bool   ArrayRemove(
       void &         array[],              // array of any type
       uint           start,                // the index to start removal
       uint           count=WHOLE_ARRAY      // number of elements
       );
    ArrayInsert 将源数组中指定数量的元素插入到接收器数组中,从指定的索引开始。
     bool   ArrayInsert(
       void &         dst_array[],          // receiver array
       const void &   src_array[],          // source array
       uint           dst_start,            // index in the receiver array where to insert
       uint           src_start= 0 ,           // index in the source array to start copying
       uint           count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverse 反转数组中从指定索引开始的指定数量的元素。
     bool   ArrayReverse(
       void &         array[],              // array of any type
       uint           start= 0 ,               // index to start reversing
       uint           count=WHOLE_ARRAY      // number of elements
       );

  18. MQL5:在函数CustomRatesUpdateCustomRatesReplaceCustomTicksAddCustomTicksReplace中添加了新的“uint count”参数。它允许指定传递数组的元素数量,这些元素将用于这些函数。 WHOLE_ARRAY 值默认用于参数。这意味着将使用整个阵列。
  19. MQL5:添加了 CustomBookAdd函数以传递自定义交易品种的市场深度状态。该功能允许广播市场深度,就好像价格来自经纪人的服务器一样。
     int   CustomBookAdd(
       const string         symbol,             // symbol name
       const MqlBookInfo&  books[]             // an array with the DOM elements descriptions
       uint                 count=WHOLE_ARRAY   // number of elements to be used
       );
  20. MQL5:添加了 CustomSymbolCreate函数重载。这允许基于现有交易品种创建自定义交易品种。创建后,可以使用相应的功能编辑任何符号属性。
     bool   CustomSymbolCreate (
       const string         symbol_name,       // custom symbol name
       const string         symbol_path= "" ,    // name of the group in which the symbol will be created
       const string         symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    应从中复制自定义交易品种属性的交易品种名称在“symbol_origin”参数中指定。

  21. 将带有日期/时间的字符串转换为日期时间值的StringToTime函数已更新。现在它支持以下日期格式:

    • yyyy.mm.dd [hh:mi]
    • yyyy.mm.dd [hh:mi:ss]
    • yyyymmdd [hh:mi:ss]
    • yyyymmdd [hhmiss]
    • 年年/月/日 [hh:mi:ss]
    • yyyy-mm-dd [hh:mi:ss]

  22. MQL5: ENUM_TERMINAL_INFO_INTEGER枚举中的新 TERMINAL_VPS 属性;它显示终端正在MetaTrader 虚拟主机服务器 (MetaTrader VPS) 上运行。如果应用程序在托管服务器上运行,您可以禁用其所有可视功能,因为虚拟服务器没有图形用户界面。
  23. MQL5: ENUM_SYMBOL_INFO_INTEGER枚举中的新 SYMBOL_EXIST 属性,表示此名称下的交易品种存在。
  24. MQL5:修正了使用模板函数预声明时的类型。
  25. MQL5:添加了更改交易账户时指标的重新初始化。
  26. MQL5:优化的StringSplit函数。
  27. MQL5:修复了标准库操作中的错误。
  28. 测试器:添加了 TesterStop功能 — 例行提前关闭测试代理上的 EA 交易。现在您可以在达到指定的亏损交易数量、预设的回撤水平或任何其他标准后强制停止测试。

    使用此功能完成的测试被认为是成功的。函数调用后,将测试时获得的交易历史和所有交易统计数据传递给终端。

  29. 测试器:禁用通过MQL5 云网络在真实报价模式下测试和优化 EA 交易的能力。此模式只能在本地代理和本地网络场上使用。
  30. 测试人员:改进了可视化测试期间的指标工作。现在价格图表和指标线是同步绘制的,即使是在最大可视化速度下也是如此。
  31. 测试器:优化并显着加速测试和优化。
  32. 测试器:修复了历史数据指标的调试。现在可以正确调试 OnInit 和 OnDeinit 指标函数。
  33. 测试器:在测试多币种智能交易系统时实现了对历史数据的更快访问。
  34. 测试器:修复了在调试历史数据期间视觉测试器偶尔冻结的问题。
  35. 测试人员:在代理处理任务包时实现了更快的优化通道启动。
  36. 测试人员:更改了将任务包分发给测试代理的策略。包大小已增加,因此网络操作的资源消耗已显着减少。
  37. 测试人员:更改了启用本地、网络和云代理的选项的行为。现在,当您关闭选项时,代理会完成对收到任务的处理,而不会再给他们新任务。在早期版本中,该行为类似于立即停止代理操作的“禁用”命令。




  38. MetaEditor:在调试器中添加了对非 ANSI 字符的支持。现在,即使在 Cyrillic 中指定了变量名,表达式也会正确显示。
  39. MetaEditor:修复了高 DPI 屏幕上搜索结果的显示。
  40. 添加了克罗地亚语的用户界面翻译。
  41. 文档已更新。
该更新将通过 LiveUpdate 系统提供。

 

关于交易、自动交易系统和测试交易策略的论坛

MetaTrader R软件包--摘要

Sergey Golubev, 2019.02.22 06:47

主要研究

----------------

文章

----------------

论坛

----------------

更多内容请关注...


 

关于交易、自动交易系统和测试交易策略的论坛

有用的链接/线程/工具

Sergey Golubev, 2017.10.05 12:33

MT5中的多货币专家顾问--回测和优化


的线程/帖子

  • 买入或卖出所有7个货币对 -线程 与解释。
  • 多币种专家顾问的回测/优化实例的帖子

文章

文档

  • MetaTrader 5 帮助 → 算法交易,交易机器人 →优化类型- 在市场观察中选择的所有符号
  • MetaTrader 5 帮助 → 算法交易、交易机器人 →策略测试- 多货币专家顾问
  • MetaTrader 5 帮助 - 交易平台 -用户手册

...这是来自CodeBase的代码例子 -

----------------

多币种iMA趋势- MetaTrader 5的专家

The multi-symbol adviser uses the MA Trend 2 adviser as the base advisor, while the advisor itself is rewritten as a class.

这个顾问的第一个版本是以类的形式出现的,所以,现在,符号("EURUSD","USDCAD","USDJPY")在代码中被指定为硬。此外,所有的输入参数对这三个符号的每一个都是相同的(止损,获利,等等...)。

 

发表了一篇好文章-

----------------

关联性在交易中的实际应用

关联性在交易中的实际应用

相关性是两个或多个随机变量(或在某种可接受的准确程度上可被视为随机的数量)之间的统计关系。一个或多个变量的变化会导致其他相关变量的系统变化。衡量两个随机变量的相关性的数学方法是相关系数。如果一个随机变量的变化并不导致另一个随机变量的规律性变化,而是导致这个随机变量的另一个统计特征的变化,那么这种关系就不被认为是相关的,尽管它是统计学的。

关联性在交易中的实际应用

 

关于交易、自动交易系统和测试交易策略的论坛

我从哪里开始?

Sergey Golubev, 2018.09.20 15:43

使用技巧--关于HowTo的说明

=========

----------------

----------------

----------------


 

在论坛上有一个主题--
Canvas的可能性
这是非常有用的线程。
这是一个非常有趣的工具,与这个主题完全相关----。

----------------

每个柱子上的线性代数方程系统- MetaTrader 5的指标

This work has 3 goals: 

  • 同时在两个窗口中演示该指标的操作:在主窗口和子窗口。这是通过使用iCanvas 类实现的。
  • 使用递归法紧凑解决线性代数方程组。
  • 向一些搜索者演示并证明在算法交易中使用SLAE包含价格预测潜力的事实。
原因: