您好、
脚本 "TimeSummer.mq5 "中 用于 计算经纪人的格林尼治标准时间偏移和夏令时的算法 是完全错误的。
https://www.mql5.com/zh/book/common/timing/timing_daylight_saving
正确的算法可在此处找到:https://www.mql5.com/zh/code/48650
Determine Broker's Daylight (DST) schedule
- www.mql5.com
Script to determine whether your Broker follows the US, UK or AU daylight (DST) schedule.
ok
如果创建一个稍作修改的SORT_STRUCT 宏,就可以按多个字段对结构体进行排序。例如,按 2 个字段排序的宏可以是
//+------------------------------------------------------------------+ // | 按两个 "F "字段对 "T "类型的 "A "射线排序的方便宏 //+------------------------------------------------------------------+ #define SORT_STRUCT_2(T,A,F1,F2) \ { \ class InternalSort : public QuickSortStructT<T> \ { \ virtual bool Compare(const T &a, const T &b) override \ { \ return (a.##F1 > b.##F1) \ || (a.##F1 == b.##F1 && a.##F2 > b.##F2); \ } \ } sort; \ sort.QuickSort(A); \ }
MQL5 Book: Common APIs / Working with arrays / Comparing, sorting, and searching in arrays
- www.mql5.com
The MQL5 API contains several functions that allow comparing and sorting arrays, as well as searching for the maximum, minimum, or any specific...
请随时通过邮件向我提供详细信息。您的脚本以更复杂的方式执行类似操作,并与预先存在的规则表绑定,我故意没有使用该规则表,因为我的整个想法是从纯粹的报价统计中检测夏令时。服务器的设置实际上 可能不准确,也不符合标准。这就是为什么根据用户的反馈,您的脚本有时无法检测到用户服务器的实际时区。
我最近发布了服务器夏令时检测器的 更新版本。
TimeServerDaylightSavings
- www.mql5.com
Time-related functions for empirical detection of server time zone and daylight savings mode (DST) from history of quotes
交易者的MQL5编程(MQL5 Programming for Traders) - 书中的源代码。第四部分:
在本书的第四部分,我们将重点掌握内置函数(MQL5 API),并将逐步深入研究专门的子系统。任何MQL5程序都可以利用大量技术和功能。因此,从大多数程序都能使用的最简单且最有用的函数开始是明智的。
作者: MetaQuotes