请观看如何免费下载自动交易
请在Facebook上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
32
等级:
(2)
已发布:
已更新:
MQL5自由职业者 需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务


Modify_Orders.mqh 用于管理 MetaTrader 5 中的仓位和订单。

用途

Modify_Orders.mqh 提供 两个功能强大的函数,用于管理 MetaTrader 5 平台上智能交易系统和指标中的未结头寸和挂单。它旨在自动执行修改止损、获利水平和订单价格的常规操作。

主要功能

  • 修改未结头寸止损和止盈

  • 修改 挂单 价格

  • 仓位类型、盈利能力和符号灵活筛选

  • 支持不同的价值 计算 模式(点数或绝对价格)。

结构

修改仓位()函数

用于修改未结头寸的止损和止盈水平。

void Modify_Position(
   string tp_and_sl,      // "SL "或 "TP"--我们改变什么。
   string price_and_value, // "价值 "或 "价格"--价值类型
   string type_position,   // 按位置类型筛选
   double price_tp_and_sl, // 设置值
   string symb,           // 交易工具符号
   long   magicNumber     // 神奇数字专家。
);

头寸过滤参数:


参数 type_position 说明
"所有仓位 所有仓位
"全部盈利 仅盈利头寸
"所有亏损 仅亏损头寸
买入 仅买入头寸
"买入盈利 仅买入盈利头寸
"买入亏损 仅限亏损的买入头寸
卖出 仅卖出头寸
"卖出盈利 仅限盈利的卖出头寸
"卖出亏损 仅限亏损卖出头寸


使用示例

// 将所有位置的 SL 设置为 1000 点
Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);

// 将止损价设为 1.2345,以便买入盈利头寸
Modify_Position("TP", "Price", "Buy Profit", 1.2345, _Symbol, 12345);

// 将无利可图的卖出头寸的止损点设置为 500 点
Modify_Position("SL", "Value", "Sell Loss", 500, "EURUSD", 98765);

Modify_Order() 函数

用于修改挂单(止损单和限价单)。

void Modify_Order(
   string tp_sl_price,     // "价格"、"SL "或 "TP"。
   string type_order,      // 用于筛选的订单类型
   double price_tp_sl_price, // 新的意义。
   string symb,            // 交易工具符号
   long   magicNumber      // 神奇数字专家。
);


支持的订单类型

  • "买入止损" -- 挂单买入止损

  • "买入限价" -- 挂单买入限价。

  • "卖出止损 " -- 挂单卖出止损。

  • "限价卖出" - 挂单的限价卖出订单。


使用示例:

// 更改买入止损订单的价格
Modify_Order("Price", "Buy Stop", 1.2345, _Symbol, 0);

// 为卖出限价订单设置止损
Modify_Order("SL", "Sell Limit", 1.2350, "GBPUSD", 12345);

// 更改买入限价订单的止盈
Modify_Order("TP", "Buy Limit", 1.2300, "EURUSD", 98765);

工作原理

修改仓位算法:

  1. 相反顺序搜索所有未结头寸

  2. 符号和魔数过滤仓位

  3. 检查附加条件 头寸类型、盈利能力)

  4. 计算新的 SL/TP

    • 对于"价值 " 模式 :价格 ± (价值 × 点数)

    • 对于"价格 " 模式 :直接分配值

  5. 通过 OrderSend()发送修改指令


修改订单算法:

  1. 枚举所有挂单

  2. 根据符号、魔术号码和订单类型进行筛选

  3. 修改指定参数 价格、SL 或 TP)

  4. 保存未更改的参数

  5. 发送修改指令


执行功能

安全可靠:

  1. 订单类型双重检查 - 通过字符串参数和系统提供的真实类型进行检查

  2. 复杂过滤 - 确保只有目标位置/订单受到影响

  3. 保留未更改的参数 -- 当 SL 更改时,TP保留,反之亦然


数学计算:

对于买入头寸

  • 止损 当前价格 - (价值 × 点数)

  • 获利 当前价格 + (价值 × 点数)

对于卖出头寸

  • 止损 当前价格 + (价值 × 点数)

  • 获利 当前价格 - (价值 × 点数)


使用建议

对于交易专家:

#include <Modify_Order.mqh>

// 在 OnTick() 函数中或根据条件:
if(Условие_для_трейлинга)
{
    // 当价格向预期方向移动时,将 SL 拉向价格
    Modify_Position("SL", "Value", "All Profit", 500, _Symbol, ExpertMagic);
}

手动脚本

// 所有位置的快速 SL 脚本
void OnStart()
{
    Modify_Position("SL", "Value", "All", 1000, _Symbol, 0);
}

最佳参数:

  • 时间框架:任意(功能与时间框架无关)

  • 工具:任何货币对、金属、指数。

  • 神奇数字:建议每个智能交易系统使用唯一的数值。

程序库优势

  1. 多功能性 -- 适用于任何交易工具

  2. 灵活性 - 18 种不同的头寸过滤模式

  3. 易用性 - 直观的界面

  4. 可靠性 - 在修改前进行全面检查

  5. 高效 -- 计算资源消耗最小

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/68540

盈亏状况 盈亏状况

仓位盈亏计算器(未结订单)

关闭订单 关闭订单

平仓和删除订单功能

Sideways Martingale Sideways Martingale

使用 onnx AI 的马丁格尔趋势检测器

VR Breakdown level - 基于突破前期高点或低点的交易策略 VR Breakdown level - 基于突破前期高点或低点的交易策略

基于简单突破前期高点或低点的交易策略