下载MetaTrader 5

请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

2014.01.28 07:09
脚本

sSortTest - MetaTrader 5脚本

| Chinese English Русский Español Deutsch 日本語 Português

显示:
533
等级:
投票: 37
ssorttest.mq5 (23.35 KB)预览

该脚本包含对 double[] 数组进行排序的几种排序方法:

这里有 2 个函数 - 升序 (上) 和降序 (下) 排序:

  • SortBubbleUp(double & aAr[]);
  • SortBubbleDn(double & aAr[]);
  • SortSelectUp(double & aAr[]);
  • SortSelectDn(double & aAr[]);
  • SortInsertUp(double & aAr[]);
  • SortInsertDn(double & aAr[]);
  • SortShellUp(double & aAr[]);
  • SortShellDn(double & aAr[]);
  • SortHoareUp(double & aAr[]);
  • SortHoareDn(double & aAr[]);
  • SortSelectUpFst(double & aAr[]);
  • SortSelectDnFst(double & aAr[]).

该脚本有几个 辅助函数:

  • Check(double & aAr[]) - 检查数组是否已排序 (升序)。如果数组未排序, 输出 "错误"。
  • ArrayAlertR(double & aAr[],int aDigits=0,string aHeader="") - 输出数组作为线。参数: double & aAr[] - 数组输出, int aDigits - 精度 (数位), string aHeader - 在行的开头附加字符串。该函数可以用来检查数组在排序期间的变化。
  • ArrayAlertC(double & aAr[],int aDigits=0,string aHeader="") - 输出数组作为柱线。参数: double & aAr[] - 数组输出, int aDigits - 精度 (数位), 数组的推导值,  string aHeader - 在行的开头附加字符串。

排序算法的性能:

  • 霍尔快速 - 8 ms;
  • 希尔 - 78 ms;
  • 快速选择 - 126 ms;
  • 选择 - 582 ms;
  • 插入 - 702 ms;
  • 冒泡 - 1558 ms;

图例. 1. 排序算法性能

图例. 1. 排序算法性能

最快速的排序方法是霍尔快速排序 (快速排序), 但它的递归需要谨慎使用。

本文译自 MetaQuotes Software Corp. 撰写的俄文原文
官方代码: https://www.mql5.com/ru/code/904

采样器 采样器

该指标计算完美的入场信号, 这可以用于神经网络的训练。

Pearson 相关指标 Pearson 相关指标

Pearson 相关指标示意符号之间的相关性。

EMA_ATR_VA EMA_ATR_VA

自适应指数均线 - ATR 波动通过 Jose Silva 调整。

EMA_BB_VA EMA_BB_VA

指数均线 - 布林带 ® 波动通过 Jose Silva 调整。