#import "TestLib.dll"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
int x=6;
TestClass::Inc(x);
Print(x);
}
struct MqlTick { datetime time; // Last price update time double bid; // Current Bid price double ask; // Current Ask price double last; // Current price of the Last trade ulong volume; // Volume for the current Last price long time_msc; // Last price update time in milliseconds uint flags; // Tick flags double volume_real; // Volume for the current Last price with greater accuracy };
struct MqlBookInfo
{
ENUM_BOOK_TYPE type; // order type from the ENUM_BOOK_TYPE enumerationdouble price; // pricelong volume; // volumedouble volume_real; // volume with greater accuracy
};
enum Main
{
PRICE_CLOSE_,
PRICE_OPEN_
};
input Main Inp=PRICE_CLOSE;
//+------------------------------------------------------------------+//| Start function |//+------------------------------------------------------------------+voidOnStart()
{
}
编译器显示警告:
implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main' 'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
bool CalendarValueHistoryByEvent(
ulong event_id, // event ID
MqlCalendarValue& values[], // array of valuesdatetime datetime_from, // period beginning datedatetime datetime_to= 0 // period end date
);
bool CalendarValueHistory(
ulong event_id, // event IDulong & change_id, // last calendar change ID
MqlCalendarValue& values[], // array of valuesstring country_code=NULL, // country codestring currency=NULL // currency
);
新结构
MqlCalendarCountry — 国家描述。
struct MqlCalendarCountry
{
ulong id; // country ID in ISO 3166-1string name; // text name of the countrystring code; // code name of the country in ISO 3166-1 alpha-2string currency; // country currency codestring currency_symbol; // country currency symbol/signstring 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 modeulong 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 multiplieruint digits; // number of decimal places in the event valuestring source_url; // source URLstring event_code; // event codestring name; // text name of the event in the terminal language
};
MqlCalendarValue — 事件值描述。
struct MqlCalendarValue
{
ulong id; // value IDulong event_id; // event IDdatetime time; // event date and timedatetime period; // period, for which the event is publishedint revision; // published indicator revision in relation to the reported periodlong actual_value; // current event valuelong prev_value; // previous event valuelong revised_prev_value; // revised previous event valuelong 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
bool ArrayRemove(
void & array[], // array of any typeuint start, // the index to start removaluint count=WHOLE_ARRAY // number of elements
);
ArrayInsert 将源数组中指定数量的元素插入到接收器数组中,从指定的索引开始。
bool ArrayInsert(
void & dst_array[], // receiver arrayconstvoid & src_array[], // source arrayuint dst_start, // index in the receiver array where to insertuint src_start= 0 , // index in the source array to start copyinguint count=WHOLE_ARRAY // number of inserted elements
);
ArrayReverse 反转数组中从指定索引开始的指定数量的元素。
bool ArrayReverse(
void & array[], // array of any typeuint start= 0 , // index to start reversinguint count=WHOLE_ARRAY // number of elements
);
int CustomBookAdd(
conststring symbol, // symbol nameconst MqlBookInfo& books[] // an array with the DOM elements descriptionsuint count=WHOLE_ARRAY // number of elements to be used
);
boolCustomSymbolCreate (
conststring symbol_name, // custom symbol nameconststring symbol_path= "" , // name of the group in which the symbol will be createdconststring symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
);
即将推出 -
新的通信系统是Telegram的类似物--请阅读这 篇文章。
============
一目了然
开始
之后
============
用可视化的信息创建了好的线程--提示线程。
强烈建议所有新手(了解)和有经验的用户(更新知识)阅读这个小线程。
----------------
自由职业者服务
----------------
平台
----------------
专家顾问
----------------
测试器
这是非常重要和非常有趣的更新 - 请阅读 --
关于交易、自动交易系统和测试交易策略的论坛
MetaTrader 5平台测试版Build 1910。MQL5中图表和.Net库的非绑定拖放功能
MetaQuotes软件公司。, 2018.10.12 19:43
更新后的MetaTrader 5平台的测试版将于2018年10月14日发布。我们将更新我们的公共MetaQuotes-Demo服务器,位于access.metatrader5.com:443。我们邀请所有交易者加入测试,以评估更新的平台功能,并帮助开发人员修复错误。
新MetaTrader 5平台的最终构建将在公开测试后发布。
该更新将有以下变化:
这个功能在使用多个显示器时很方便。因此,你可以在一个显示器上设置主平台窗口来控制你的账户状态,并将图表移到第二个屏幕上观察市场情况。要把图表从终端上分离出来,在其上下文菜单中禁用停靠选项。之后,将图表移到所需的显示器上。

分离的图表上有一个单独的工具栏,可以应用分析对象和指标,而不必在显示器之间切换。使用工具条的上下文菜单来管理可用的命令集或隐藏它。小组聊天和频道可以是公开的或私人的。它们的创建者决定是否可以自由加入,或只有通过邀请才能加入。您还可以为频道和聊天室指定主持人,以加强沟通控制。
最小交易量和其变化步骤取决于经纪人方面的金融工具设置。
要使用.NET库函数,只需导入DLL本身,无需定义具体的函数。MetaEditor会自动导入所有可以使用的函数:
。
要调用库中的函数,只需导入它:
TestClass的Inc函数的C#代码看起来如下:
执行的结果是,脚本返回值为7。
在MSDN 找到更多关于指定器的信息。
在ENUM_CHART_PROPERTY_INTEGER 枚举中增加了以下属性:
为ENUM_TERMINAL_INFO_INTEGER 枚举添加了以下功能:
struct MqlTick
{
datetime time; // Last price update time
double bid; // Current Bid price
double ask; // Current Ask price
double last; // Current price of the Last trade
ulong volume; // Volume for the current Last price
long time_msc; // Last price update time in milliseconds
uint flags; // Tick flags
double volume_real; // Volume for the current Last price with greater accuracy
};
使用SymbolInfoDouble 函数来获得这些属性。
对于下面的代码:
编译器显示警告:
'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
好的主题开始了 -如何开始使用MQL5
关于交易、自动交易系统和测试交易策略的论坛
如何开始使用MQL5
Vladimir Karputov, 2018.12.24 20:34
本线程讨论MQL5的代码实例。会有如何从指标中获取数据的例子,如何对顾问进行编程......总之,从初学者到MQL5语言的任何问题。
如果您刚刚开始熟悉MetaTrader 5终端,那么我可以推荐以下主题。
如何开始使用Metatrader 5
我应该从哪里开始?
使用自由职业者服务中的提示!
有一篇文章是市场上每个卖家都应该阅读的:它是关于市场产品的验证 -
----------------
交易机器人在市场上发布前必须通过的检查
在任何产品在市场上发布之前,它必须经过强制性的初步检查,因为专家或指标逻辑中的一个小错误可能会导致交易账户的损失。这就是为什么我们开发了一系列的基本检查,以确保市场产品的质量水平要求。
如果市场版主在检查你的产品的过程中发现任何错误,你将不得不修复所有的错误。本文考虑了开发人员在其交易机器人和技术指标中最常出现的错误。我们还建议阅读以下文章。
谢谢你,伙计...
非常有帮助,伟大的努力...
交易、自动交易系统和测试交易策略论坛
2005 年构建的新 MetaTrader 5 平台:经济日历、MQL5 应用程序即服务和 R 语言 API
MetaQuotes Software Corp. , 2019.02.20 17:20
MetaTrader 5 平台更新将于 2019 年 2 月 21 日发布。新版本具有以下更改:
- 终端:完全修改了内置经济日历。

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

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

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

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

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 以来的日期以秒为单位指定。
- 程序端:优化的关闭方式对话框,用于关闭对面的头寸。现在,即使您有大量未平仓头寸,对话也不会变慢。
- 程序端:修复了合成符号计算错误,导致数据偶尔会被跳过。
- 程序端:当自定义交易品种被删除时,存储其报价和柱历史的文件也会被删除。这避免了未使用的数据在硬盘上的累积。
- 程序端:修复了高 DPI 屏幕上搜索结果的显示。
- MQL5:实现了从 MQL5 程序访问经济日历数据。
- MQL5:修复和改进与分时和柱历史相关的操作速度。
- MQL5:与自定义交易品种、 CustomTicks*和CustomRates*的分时和柱线历史修改功能相关的修复和显着的操作速度改进。
- MQL5:新的数据转换功能。
- 添加了 MathSwap函数,用于更改 ushort、uint 和 ulong 值中的字节顺序。
- 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) — 没有关于用于安全连接的证书的数据
- MQL5:为字符串操作添加了新函数:
- MQL5:为数组操作添加了新功能:
- MQL5:在函数CustomRatesUpdate 、 CustomRatesReplace 、 CustomTicksAdd和CustomTicksReplace中添加了新的“uint count”参数。它允许指定传递数组的元素数量,这些元素将用于这些函数。 WHOLE_ARRAY 值默认用于参数。这意味着将使用整个阵列。
- MQL5:添加了 CustomBookAdd函数以传递自定义交易品种的市场深度状态。该功能允许广播市场深度,就好像价格来自经纪人的服务器一样。
- MQL5:添加了 CustomSymbolCreate函数重载。这允许基于现有交易品种创建自定义交易品种。创建后,可以使用相应的功能编辑任何符号属性。
- 将带有日期/时间的字符串转换为日期时间值的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]
- MQL5: ENUM_TERMINAL_INFO_INTEGER枚举中的新 TERMINAL_VPS 属性;它显示终端正在MetaTrader 虚拟主机服务器 (MetaTrader VPS) 上运行。如果应用程序在托管服务器上运行,您可以禁用其所有可视功能,因为虚拟服务器没有图形用户界面。
- MQL5: ENUM_SYMBOL_INFO_INTEGER枚举中的新 SYMBOL_EXIST 属性,表示此名称下的交易品种存在。
- MQL5:修正了使用模板函数预声明时的类型。
- MQL5:添加了更改交易账户时指标的重新初始化。
- MQL5:优化的StringSplit函数。
- MQL5:修复了标准库操作中的错误。
- 测试器:添加了 TesterStop功能 — 例行提前关闭测试代理上的 EA 交易。现在您可以在达到指定的亏损交易数量、预设的回撤水平或任何其他标准后强制停止测试。
- 测试器:禁用通过MQL5 云网络在真实报价模式下测试和优化 EA 交易的能力。此模式只能在本地代理和本地网络场上使用。
- 测试人员:改进了可视化测试期间的指标工作。现在价格图表和指标线是同步绘制的,即使是在最大可视化速度下也是如此。
- 测试器:优化并显着加速测试和优化。
- 测试器:修复了历史数据指标的调试。现在可以正确调试 OnInit 和 OnDeinit 指标函数。
- 测试器:在测试多币种智能交易系统时实现了对历史数据的更快访问。
- 测试器:修复了在调试历史数据期间视觉测试器偶尔冻结的问题。
- 测试人员:在代理处理任务包时实现了更快的优化通道启动。
- 测试人员:更改了将任务包分发给测试代理的策略。包大小已增加,因此网络操作的资源消耗已显着减少。
- 测试人员:更改了启用本地、网络和云代理的选项的行为。现在,当您关闭选项时,代理会完成对收到任务的处理,而不会再给他们新任务。在早期版本中,该行为类似于立即停止代理操作的“禁用”命令。

- MetaEditor:在调试器中添加了对非 ANSI 字符的支持。现在,即使在 Cyrillic 中指定了变量名,表达式也会正确显示。
- MetaEditor:修复了高 DPI 屏幕上搜索结果的显示。
- 添加了克罗地亚语的用户界面翻译。
- 文档已更新。
该更新将通过 LiveUpdate 系统提供。经济日历是我们的专有解决方案。您将在其中找到与全球 13 个最大经济体相关的 600 多个财经新闻和指标:美国、欧盟、日本、英国、加拿大、澳大利亚、中国等。相关数据是从开源实时收集的。
新版本具有更新的内容和高级事件过滤器:按时间、优先级、货币和国家。
现在可以从 MQL5 程序访问日历数据。请参阅下面的详细资料。
与智能交易系统、指标和脚本不同,服务未链接到特定图表。此类应用程序在后台运行,并在终端启动时自动启动(除非此类应用程序被强制停止)。
可以从导航器窗口中的新部分管理服务:
如何创建服务
要创建服务模板,请使用相应的MQL5 向导选项。服务有一个OnStart入口点,类似于脚本。此时,您可以使用网络函数实现无限的数据接收和处理循环。
如何启动服务
要运行具有不同参数的多个 EA 或指标副本,您应该在不同的图表上启动它们。在这种情况下,会创建不同的程序实例,然后独立运行。服务未链接到图表,因此实施了一种特殊机制来创建服务实例。
从导航器中选择一个服务,然后在其上下文菜单中单击“添加服务”。这将打开一个标准 MQL5 程序对话框,您可以在其中启用/禁用交易和访问信号设置,以及设置各种参数。

可以使用适当的实例菜单启动和停止服务实例。要管理所有实例,请使用服务菜单。新功能将帮助初学者学习如何与平台交互。我们添加了 100 多个有关主要平台功能的互动提示。
- 提示无缝地显示为工具栏上的进度条,因此不会分散用户的注意力。
- 提示仅针对您从未在平台中执行的操作显示。
- 所有提示都包含交互式链接,您可以通过这些链接导航到相关的界面元素。例如,可以直接从提示中启动带有所需程序的交易对话框或菜单。
每当您执行适当的操作并继续训练时,进度条的填充区域就会增加。我们准备了一个特殊的 MetaTrader 包。它包含用于 R 和 MetaTrader 5 终端之间交互的 DLL、文档和辅助 r 文件。我们正在完成CRAN存储库中的包注册,之后它将可供下载和安装。
可以使用特殊命令安装该软件包:
以下与数据请求相关的命令可用:
支持的命令列表将进一步扩展。
新功能
CalendarCountryById — 按标识符获取国家/地区描述。
CalendarEventById — 按标识符获取事件描述。
CalendarValueById — 按标识符获取事件值描述。
CalendarEventByCountry — 获取国家/地区可用事件的数组。
CalendarEventByCurrency — 获取受影响货币的可用事件数组。
CalendarValueHistoryByEvent — 按事件标识符获取指定时间段的值数组。
CalendarValueHistory — 获取指定时间段内所有事件的值数组,按国家和/或货币过滤。
CalendarValueLastByEvent — 按标识符获取最后一个事件值的数组。此功能启用自上次请求以来出现的值的请求。输入/输出参数“change_id”额外用于此操作。
每次日历数据库更改时,都会更新“change_id”属性(最后一次更改标识符)。在数据请求期间,您指定“change_id”,终端返回该时间之后出现的事件,以及当前的“change_id”值,可用于下一次请求。在第一次函数调用期间,指定零“change_id”:该函数不会返回任何事件,但会返回当前的“change_id”以供进一步请求。
CalendarValueLast — 获取所有事件的最后值数组,按国家和/或货币过滤。此功能启用自上次请求以来出现的值的请求。与 CalendarValueLastByEvent 类似,“change_id”属性用于请求。
新结构
MqlCalendarCountry — 国家描述。
MqlCalendarEvent — 事件描述。
MqlCalendarValue — 事件值描述。
新枚举
新的错误代码
CharArrayToStruct将 uchar 数组复制到 POD 结构。
StructToCharArray将 POD 结构复制到 uchar 数组。
为具有网络功能的操作添加了新的错误代码:
StringReserve 为字符串保留指定大小的内存缓冲区。
StringSetLength 以字符为单位设置指定的字符串长度。
ArrayRemove 从数组中删除从指定索引开始的指定数量的元素。
ArrayInsert 将源数组中指定数量的元素插入到接收器数组中,从指定的索引开始。
ArrayReverse 反转数组中从指定索引开始的指定数量的元素。
应从中复制自定义交易品种属性的交易品种名称在“symbol_origin”参数中指定。
使用此功能完成的测试被认为是成功的。函数调用后,将测试时获得的交易历史和所有交易统计数据传递给终端。
你好。
在安装这个2005版之前,我是否需要删除 我的Build 1940?
,我试过不卸载,安装后还是和以前一样的1940。
另外,我从去年开始就无法更新,有什么原因吗?
我是否应该删除所有的东西然后重试?
谢谢...