欢迎访问 外汇EA下载与MT4/MT5自动交易资源 - 聚合外汇EA、黄金EA、量化交易工具与自动化交易实战内容。
登录 注册

TicksShort - MetaTrader 5 库

author emer | 664 人阅读 | 0 人评论 |

该库实现了刻度存储格式的工作,该格式具有良好的性能(读/写)与大小比。

仅以下字段原始 MqlTickare stored

结构体 MQTick  {  日期时间     时间;          // 最后一次价格更新时间  双倍的       出价;          // 当前出价  双倍的       问;          // 当前卖价  双倍的       最后的;          // 最后一笔交易的当前价格 (Last)  乌龙        体积;        // 当前价格的成交量
  长的         time_msc;      // 最后一次价格更新时间(以毫秒为单位)  单位         旗帜;        // Tick Flags  双倍的       volume_real;   // 当前价格的交易量最后提高了准确性  };


您可以通过热键 ALT+M 在 MetaEditor 中查看库方法。以下是它们的一些使用示例。

#财产script_show_inputs

输入 日期时间来自=D'2024.12.01';#包括// 短刻度存储格式。

空白 启动时()
{        
  MQTick刻度线[];// 对于源报价。  如果CopyTicksRange_象征, 蜱虫,COPY_TICKS_ALL,(乌龙)inFrom * 1000) >0)
  {
    文件保存“蜱.bin”,蜱);// 我们保存了正常的刻度,以便我们可以比较文件大小。    
    TICKS_SHORT::保存(“TicksShort.bin”,蜱);// 以压缩格式保存报价。    MQTick刻度2[];// 用于压扁蜱虫。    TICKS_SHORT::加载(“TicksShort.bin”, 刻度2);// 以压缩格式下载报价。    
    打印“比例=”+双精度转字符串((双倍的FileGetInteger“蜱.bin”,文件大小)/
                                      文件获取整数“TicksShort.bin”,文件大小),3));
    
    打印“正确=”+ (细绳)TICKS_SHORT::IsEqual(Ticks, Ticks2));// 比较的。  }
}

上面的脚本将报价保存到新格式文件并从文件加载它们。

TicksShort_SaveLoad (EURUSD,M1) 比率 =10.000TicksShort_SaveLoad (EURUSD,M1) 正确 =真的

输出到日志显示压缩比为10倍。未压缩时,刻度与原始刻度相匹配。

#财产script_show_inputs

输入 日期时间来自=D'2024.12.01';#包括// 短刻度存储格式。

// 返回数组的大小(以字节为单位)。
模板<类型名>乌龙 GetSize( 常量T&Array[] ) {返回((乌龙大小(T) * 数组大小(大批)); }// 压缩格式性能标准。
模板<类型名T1,类型名T2>双倍的标准(常量T1&减压[],常量T2&压缩[],常量 乌龙间隔 )
{
  常量 双倍的性能=(双倍的数组大小(减压)/间隔;
  
  返回(表现 * ((双倍的)GetSize(解压缩) / GetSize(压缩)));
}空白 启动时()
{        
  MQTick刻度线[];// 对于源报价。  如果复制价格变动范围_象征, 蜱虫,COPY_TICKS_ALL,(乌龙)in来自 *1000) >0)
  {
    TICK_SHORT Ticks2[];// 对于压缩的蜱虫。    
    乌龙间隔=获取微秒计数();
    TICKS_SHORT::压缩(Ticks, Ticks2);// 挤压。    间隔=获取微秒计数() - 间隔;
    常量 双倍的性能=(双倍的数组大小(刻度)/间隔;
    
    打印“压缩性能:”+双精度转字符串(表现,1) +“滴答数(百万)/秒。”);
    打印“压缩性能标准:”+双精度转字符串(标准(刻度、刻度2、间隔),1));
    
    MQTick刻度3[];// 用于压扁蜱虫。    
    乌龙间隔2 =获取微秒计数();
    TICKS_SHORT::解压缩(Ticks2, Ticks3);// 未握紧。    间隔2 =获取微秒计数()——间隔2;
    常量 双倍的性能2 = (双倍的数组大小(刻度3)/间隔2;
    
    打印“解压性能:”+双精度转字符串((双倍的数组大小(刻度3)/间隔2,1) +“滴答数(百万)/秒。”);
    打印“解压性能标准:”+双精度转字符串(标准(Ticks3, Ticks2, 间隔2),1));
    
    打印“正确=”+ (细绳)TICKS_SHORT::IsEqual(Ticks, Ticks3));// 比较的。  }
}

该脚本将刻度源数组转换为压缩数组并返回。输出性能/效率数据。

TicksShort_Performance (EURUSD,M1)      压缩性能:67.7滴答数(百万)/秒。
TicksShort_Performance (EURUSD,M1)      压缩性能标准:677.1TicksShort_Performance (EURUSD,M1)      解压缩性能:42.1滴答数(百万)/秒。
TicksShort_Performance (EURUSD,M1)      解压性能标准:420.9TicksShort_Performance (EURUSD,M1)      正确 = true

以每秒 4000 万次滴答以上的速度执行写入和读取,同时保留原始信息。

https://www.mql5.com/en/code/30791

自动斐波那契回撤指标,智能检测市场波动并绘制斐波那契水平,无需人工干预。

不幸的是,我发现有些经纪人更改服务器上的时间有点不正确,这是我没想到的。这让我很惊讶。这是一个任何人都可以用来检查他们的经纪人的脚本。

价值区域回撤指标是一种基于交易量概况的强大工具,旨在识别不同时间范围内的关键交易水平——控制点 (POC)、价值区域高位 (VAH)、价值区域低位 (VAL) 和概况高/低。它可以帮助交易者发现 POC、突破区域和价值区域的潜在回调机会,使其对于日内交易、波段交易和头寸交易非常有用。

该专家系统可以帮助任何交易者制定订单网格。


附件下载

📎 ticksshort_saveload.mq5 (1.77 KB)

📎 ticksshort_performance.mq5 (4.58 KB)

📎 tickshort.mqh (6.38 KB)

📎 ticksshort.mqh (20.8 KB)

📎 table.mqh (100 KB)

Source: MQL5 #61126

🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录