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

SingleTesterCache - MetaTrader 5 库

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

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

该库允许您读取/写入 tst 文件 - MT5-Tester 单通道格式。

一些使用变体

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

MetaTrader 5 平台 beta 版本 2155:MQL5 中的可视性区域、策略测试器和内置托管的全局更新

FXSABER,2019.10.04 07:18 下午。

如果他们打开 tst 文件的格式并且将Tester的缓存文件夹放入沙箱中,可以创建新型市场产品,它将成为测试器结果的分析器/校正器。

例如,可以编写一个市场组合来显示缓存中可用的所有单通道。

您不需要启动测试器来实现每个项目。

如果您通过 mklink 将缓存文件夹放入沙箱中,所有这些现在都可以完成。您只需要 tst 格式。

任何感到自己有力量的人都应该开始编写这样的产品。我很乐意加入其开发团队并购买它。利基市场完全是空的。

如果缓存文件夹未沙箱化,则类似产品出现在 MQ 生态系统之外的可能性可能会增加,因为它们将用其他语言编写。

#包括// 测试者的单遍数据。

空白 启动时()
{  
  SINGLETESTERCACHE SingleTesterCache;// 创建一个测试器缓存对象。  
  SingleTesterCache.Set();// 将投标的真实故事放入其中。  // ..\.\.\MQL5\Files/Test.tst。  打印(SingleTesterCache.Save(“测试.tst”));// 将其写入可导入测试器的文件。}

该脚本将真实账户交易历史记录转换为 tst 格式。按如下方式将其导入到测试仪中。

SingleTesterCache - library for MetaTrader 5

事实证明是这样的。

SingleTesterCache - library for MetaTrader 5

SingleTesterCache - library for MetaTrader 5

DLL解决方案不能放在KB中,因此下面是另一个脚本的源代码,该脚本不包含在KB交付中。

#包括// 测试者的单遍数据。

#包括<图形\Graphic.mqh>#包括//https://www.mql5.com/en/code/26132

#定义最小宽度10

// 创建图表。
细绳图形图(常量 双倍的&Y1[],常量 双倍的&Y2[],
                  整数宽度=0,整数高度=0,常量ENUM_CURVE_TYPE 类型 = CURVE_NONE,
                  常量 细绳曲线名称1 =无效的,常量 细绳曲线名称2 =无效的,细绳对象名称 =无效的)
{
  宽度=宽度?宽度 : (整数)::图表获取整数0,CHART_WIDTH_IN_PIXELS);
  高度=高度?高度 : (整数)::图表获取整数0,CHART_HEIGHT_IN_PIXELS);
  对象名称 = (对象名称 ==无效的)?__功能__: 对象名称;

  CGraphic图形;

  常量 布尔值分辨率 = (::对象查找0, 对象名称) >=0)?图形.附加(0, 对象名称) : Graphic.Create(0, 对象名称,0,0,0,宽度,高度);

  如果(研究)
  {
    常量 整数尺寸1=::数组大小(Y1);
    常量 整数尺寸2=::数组大小(Y2);

    Graphic.CurveAdd(Y1, ((Type == CURVE_NONE) && Size1) ? ((Width / Size1 < MIN_WIDTH) ? CURVE_LINES : CURVE_POINTS_AND_LINES) : 类型, CurveName1);
    Graphic.CurveAdd(Y2, ((Type == CURVE_NONE) && Size2) ? ((Width / Size2 < MIN_WIDTH) ? CURVE_LINES : CURVE_POINTS_AND_LINES) : 类型, CurveName2);

    Graphic.CurvePlotAll();
    图形.更新();
  }

  返回(Res?Graphic.ChartObjectName():无效的);
}空白 启动时()
{  
  乌查尔字节2[];
  
  如果(MTTESTER::GetLastTstCache(Bytes2) != -1// 是否可以读取单次运行的最后一条缓存记录  {
    常量SINGLETESTERCACHE SingleTesterCache(Bytes2);// 将其驱动到相应的对象中。    SingleTesterCache.SaveSet(无效的,真的,“创建者”+__文件__);// 保存包含详细信息的设置文件。    
    双倍的平衡[];
    双倍的公平[];
  
    // 打印余额和净值图表。    如果(SingleTesterCache.GetBalance(余额) && SingleTesterCache.GetEquity(权益))
      GraphPlot(余额、净值、1200,500,曲线_无,“平衡”,“公平”);
      
    打印(SingleTesterCache.Header.ToString());  // 输出单遍的头部。    打印(SingleTesterCache.Summary.ToString());// 统计。    打印(SingleTesterCache.Inputs);            // 输入参数。  }
}


该脚本将自动获取最后一次传递的数据并输出其数据,包括余额/净值图。

SingleTesterCache - library for MetaTrader 5

感谢开发人员创建测试器缓存并帮助我解压其格式。


附件下载

📎 exptradesummarysingle.mqh (10.32 KB)

📎 testerpositionprofit.mqh (1.4 KB)

📎 testertradestate.mqh (1.06 KB)

📎 tradeorder.mqh (8.38 KB)

📎 exptradesummaryext.mqh (10.08 KB)

📎 tradedeal.mqh (16.52 KB)

📎 string.mqh (1.79 KB)

📎 singletestcacheheader.mqh (14.58 KB)

📎 singletestercache.mqh (33.39 KB)

📎 singletestercache_example.mq5 (0.4 KB)

📎 typetobytes.mqh (20.45 KB)

Source: MQL5 #27611

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