MT4/MT5 版“设置固定止损及止盈位”脚本
在外汇交易中,资金管理和风险管理的首要规则之一是始终为所有交易设置止损位。请记住,如果某笔交易对您不利且您没有足够的资金来弥补亏损,经纪商可能会对您的账户执行保证金追缴。简言之,不设止损位可能会导致您的账户爆仓或严重亏损。MetaTrader 脚本 SetFixedSLandTP(简称为“设置固定止损及止盈位”)允许您根据一组过滤器为所有订单设置止损价格及可选止盈价格。
有时,您可能需要快速开立订单,或者您会忘记为订单设置止损位与止盈位。有时,您可能会根据相同的策略开立多笔订单,并希望一次性为所有订单设置止损及止盈位。与手动设置止损位及止盈位的速度相比,您可以通过 SetFixedSLandTP 脚本更快地设置它们。
您可以下载此脚本用于学习,并在实盘交易之前先用模拟账户测试它。
您还可以将这个脚本代码作为一个 MQL4 程序示例,且这个程序支持 MT4 中的订单及参数。相反,MT5 版脚本可用于学习如何处理 MetaTrader 5中的订单及头寸。
输入参数
当您在图表上运行脚本时,您可以设置一些参数来限制要受影响的订单。您还需要设定止损价格及止盈价格与所选价格之间的点数距离。
输入参数如下:
- 止损位(以点数计) - 所选价格与止损价格之间的点数距离。如果设为零,则不会将止损位应用于交易。
- 止盈位(以点数计) - 所选价格与止盈价格之间的点数距离。如果设为零,则不会将止盈位应用于交易。
- 仅用于当前交易品种?- 可以为 false 或 true;它会指定是否只将修改内容限制在当前图表交易品种上的交易,还是要将它应用于账户中的所有交易。
- 要应用的交易类型 - 如果您想将止损位及止盈位分别应用于“买入”及“卖出”交易,请选择一个要使用的交易方向。
- 仅修改与幻数匹配的交易 - 可以为 false 或 true;它会指定是否只将修改内容限制在具有特定幻数的交易。
- 匹配幻数 - 如果前一项参数设为 true,您需要指定用于匹配的幻数。
- 仅修改包含以下注释的交易 - 可以为 false 或 true,具体取决于您是否只想修改包含特定注释的交易。
- 匹配注释 - 如果前一项参数设为 true,则输入要匹配的注释。
- 待修改交易之间的延迟等待时间(以毫秒为单位) - 当您希望延迟执行修改时使用;它对某些经纪商或系统可能是必需的。
- PriceType - 您可以将止损及止盈距离应用于交易的开盘价(常规方式),也可以根据交易的当前价格应用它们(买入订单使用买入价,卖出订单使用卖出价)。
- 同样应用于挂单?- 可以为 false 或 true;它会指定是否也要将您的止损及止盈位应用至挂单。
提醒!此脚本将为已设置止损及止盈位的头寸更新止损及止盈位并覆盖现有参数。请注意,此脚本仅适用于根据输入参数进行过滤的交易。请务必要正确设置它们。
这款脚本可免费下载及使用。
如要安装这款脚本,请按照以下说明操作:
- 下载脚本的存档文件。
- 打开 MetaTrader 4/5 的数据文件夹(通过文件→打开数据文件夹)。
- 打开 MQL4 或 MQL5 文件夹。
- 将存档中的所有文件夹直接复制到 MQL4 或 MQL5 文件夹。
- 重启 MetaTrader 4/5 或用右键点击平台上的导航子窗口并选择刷新,以刷新脚本列表。
您也可以查阅一份更详细的说明,以了解如何完成安装操作。
探讨
您对这款脚本有什么建议或问题吗?您可以在脚本论坛上与其他外汇交易者及 MQL 程序员讨论关于设置固定止损及止盈位脚本的问题。
更新日志
1.01 - 2023/9/12
- 增加了脚本的 MT5 版本。
- 增加了一个选项,可根据当前价格而不是开盘价格来应用止损及止盈位。
- 还增加了一个支持挂单的选项。
- 增加了一个选项,可以为非当前交易品种设置止损及止盈位。
- 增加了一个选项,可以通过将相应的输入参数设为零来跳过止损位或止盈位。
- 增加了一个基于交易方向的过滤选项。
- 将脚本的运行修改为基于点数而不是点值。
- 删除了滑点输入参数(未使用)。
- 重构了 MQL4 代码。