欢迎光临
我们一直在努力

MT4/MT5算法编程13: 地精排序算法

以下是一个基于模板函数的MT5地精排序算法示例:

template <typename L, typename R>
void swap(L &left, R & right)
{
  L temp = left;
  left = right;
  right = temp;
}

template<typename T>
void gnome_sort(T arr[], int n)
{
    int i = 0;

    while (i < n)
    {
        if (i == 0 || arr[i] >= arr[i-1])
        {
            i++;
        }
        else
        {
            swap(arr[i], arr[i-1]);
            i--;
        }
    }
}

这个算法接受一个模板类型T的数组和数组长度n作为参数。在算法中,我们从左到右遍历数组,并比较相邻的元素。如果右侧元素比左侧元素小,则交换它们的位置。然后我们将i减1以回到前面的元素,直到第一个元素或当前元素大于或等于前面的元素为止。然后我们继续向前移动i并重复这个过程,直到数组中的所有元素都按升序排列为止。

要在MT5中使用这个算法,您可以将其放在您的Expert Advisor或Indicator代码中,并使用需要排序的数组和数组长度调用它。例如:

int myArray[] = {502, 321, 120, 403, 259};
int arrayLength = 5;

gnome_sort(myArray, arrayLength);

// 现在myArray应该已经按升序排列了
 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:瓜皮猫量化编程 » MT4/MT5算法编程13: 地精排序算法
分享到: 生成海报

评论 抢沙发

瓜皮猫量化交易编程

QQ群: 492653640微信: guapitcom
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活