下面是一个示例函数,其中包含了对最近的十个订单进行检查的逻辑。该函数使用OrderSelect()函数来选择每个订单,并通过OrderComment()函数来获取订单的备注信息。如果在最近的十个订单中没有找到与传入备注相同的订单备注,函数将返回true,表示可以开仓;否则,函数将返回false,表示不可以开仓。

bool canOpenOrderWithoutComment(string comment)
{
    int totalOrders = OrdersTotal();
    int maxOrdersToCheck = MathMin(10, totalOrders); // 最多检查10个订单

    for (int i = totalOrders - 1; i >= totalOrders - maxOrdersToCheck; i--)
    {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
        {
            string orderComment = OrderComment();
            if (orderComment == comment)
            {
                return false; // 有相同备注的订单,不能开仓
            }
        }
    }

    return true; // 没有相同备注的订单,可以开仓
}

使用示例:

void OnStart()
{
    string orderCommentToCheck = '某个备注';

    if (canOpenOrderWithoutComment(orderCommentToCheck))
    {
        // 可以开仓
        // 执行开仓逻辑
    }
    else
    {
        // 不能开仓
        // 执行其他操作
    }
}

原文地址: https://www.cveoy.top/t/topic/o2e1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录