MQL4 函数:判断是否可以开单 - 检查最近十单备注
下面是一个示例函数,其中包含了对最近的十个订单进行检查的逻辑。该函数使用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 著作权归作者所有。请勿转载和采集!