English Русский Español Deutsch 日本語 Português
preview
交易者容易使用的止损和止盈

交易者容易使用的止损和止盈

MetaTrader 5交易 | 21 六月 2024, 10:24
2 015 1
Aleksej Poljakov
Aleksej Poljakov

概述

如果最伟大的剧作家能为这篇文章题词,他也许会这样说:

要还是不要?这就是问题所在:

是否对疯狂的市场设置止损、

还是利用止盈攫取战利品?

止损和止盈是在价格达到其设定值时平仓的停止单。止损可以让交易者限制损失,而止盈则可以让交易者保住收益。使用止损和止盈的主要好处在于能够控制金融风险和进行资金管理。

但有些交易者倾向于不使用止损单。他们的理由很简单,有些情况下,价格到达止损点后会反转,如果没有止损,头寸可能会以取得利润平仓。同样的道理也适用于止盈。达到其价格水平后,进行平仓。但是,价格仍继续朝同一方向移动,如果没有设置止盈,本可以获得额外利润。

这种方法更可能与交易者的主观评估有关。但是这种主观性可能会导致大问题。例如,如果交易者没有设置止损,经纪商就会帮他设置。为避免术语上的混淆,经纪商将其水平称为 "停止(stop out)"。通过使用带有 ACCOUNT_MARGIN_SO_SO 标识的 AccountInfoDouble 函数,您可以随时了解经纪商的止损水平。止盈也是同样的情况。交易者有没有可能自己选择了错误的水平,因此无法获得所有可能的利润?

让我们试着理性地选择止损和止盈水平。


准备数据

那么,让我们来了解一下我们的研究课题吧。首先,我们需要找出价格上下波动时可能会达到的水平。此外,我们还对某一水平在历史上出现的频率感兴趣。

我们将使用一个相对简单的模型。假设每个仓位都以 "开盘价"建仓。此外,还要确定持仓 N 个柱,我们感兴趣的是这个期间的价格的最大上下偏差。我们将收集它们的数值进行统计。例如,我使用了 5 个柱的持仓时间,图形上看起来是这样的。

这样,我们将得到历史数据中出现特定价格偏差的次数。换句话说,我们可以估算出价格达到某一水平的概率。例如,价格向上移动的统计数据是这样的。

这里是价格向下的统计。

首先映入我们眼帘的是较大的偏差 - 它们不太常见。第二个重要结果是价格上涨和下跌之间的差异。

这种差异表明,买入和卖出仓位的止损和止盈值可能不同。

现在,我们需要再迈出一步。触发止损和止盈的条件可表述如下:价格将达到指定水平,或许还会进一步发展。

我们需要使用附加累积函数(additional cumulative functions)来估算在指定水平触发止损或止盈的概率。附加累积函数的本质非常简单 - 我们需要将指定水平的概率与其后所有水平的概率相加。

在实际应用中,我们可以通过以下方法找到函数。让我们来看看一开始得到的概率估计值,从倒数第二级的值开始,我们需要求出形式如下的和:

因此,我们应该得到这样一幅图片。

让我再次提醒你们,一开始,我们得到的是价格正好达到这一水平的概率。现在,我们得到的是价格达到这一水平以及更进一步发展的概率。

现在,我们可以开始研究的主要部分了。


独立的 SL 和 TP

就这样,我们知道了价格达到某一水平的概率。现在,我们应该通过这些知识赚钱了,我们将从 ...... 顺便问一句,您是否注意到 MetaQuotes 的所有产品都首先建议设置止损,然后再设置止盈?这是因为在那里工作的都是悲观主义者。而我们则是乐观主义者,所以我们将从止盈开始。

任何交易者都希望获得大额止盈,止盈越大,利润也就越大。但是,正如我们已经看到的,止盈的增加会导致执行概率的下降。我们需要找到执行概率最高的最大止盈点:

让我们看看这个条件能否满足。

事实上,我们有一个明确定义的最大值,我们可以接受这个止盈值为最佳值。

现在,我们可以开始寻找最佳止损点了。乍一看,一切都很简单 - 我们需要一个最小的止损点和最小的执行概率。但是,这种简单是具有欺骗性的。事实上,我们必须反其道而行之。

当我们收集价格偏差的统计数据时,我们也得到了最大值。现在,在评估最优性时,我们可以取这个最大值与止损值之间的差值。这个差值越大越好。我们在评估执行概率时也会这样做。执行的小概率相当于不执行的大概率。换句话说,我们希望满足以下条件:

让我们来做验证。确实,这种最大值是存在的。最佳止损点已经找到。

对于 EURUSD H1,持仓时间为 5 个柱,我得到了以下数值。


SL / 概率 TP / 概率
买入 622 / 6.90% 210 / 37.28%
卖出 603 / 7.28% 220 / 35.31%

让我们来看看这些值有多理想。我将使用一个简单的策略 - 如果没有开启的仓位,则在每个新的柱形图上开仓。仓位类型是随机选择的。我们要检查三个选项:

  • 最佳止损订单;
  • 止损点减少 10 点;
  • 止盈点增加 10 个点。

这就是使用最佳止损订单时的余额曲线。

表格中列出了所有选项的测试结果。

净利润总额 毛利润 毛损失 利润因子 期望收益
303.02 1 870.84 -1 567.82 1.19 0.27
100.79 1 817.04 -1 716.25 1.06 0.09
135.07 1 773.24 -1 638.17 1.08 0.13

让我们简要探讨一下这种方法的实际应用。

首先,我们可以 "原封不动 "地使用它,并将其作为一个指标来实现。这样,我们将会获得独特的支撑位和阻力位。

其次,假设我们有一个交易策略,可以生成开仓和平仓信号。那么我们可以这样做,首先,分别收集买入和卖出信号的统计数据。在这种情况下,持仓时间是从开仓信号到平仓信号来计算的。

当然,我们也可以只使用止盈或止损。它们互不依赖,因此分开使用也是可以接受的。


Expected payoff (预期收益)

预期收益(或数学期望值)的概念由来已久,并广泛应用于交易中。例如,SMA 指标显示价格预期回报。在文章"交易中的数学:如何估算交易结果" 中详细介绍了如何使用数学期望值评估交易策略。

让我们尝试用数学期望值来计算止损单。我们已经掌握了所有必要的统计数据。我们只需了解我们将计算什么以及如何计算。

我们可以用下面的公式计算头寸的预期收益:

其中 p 是在止盈时平仓的概率。这就是我们需要找到的概率。

任何头寸都将通过止盈或止损进行平仓,没有其他选择。这意味着这两个事件的总概率必须等于 1。止盈平仓的概率由两部分组成:价格达到止盈水平的概率和价格未达到止损水平的概率。通过止损平仓的估算方法相同。在这种情况下,预期收益公式将如下所示:

我们要做的就是找到止损和止盈值,使预期收益为正值。例如,使用以下止损订单值可以获得最大收益。


SL / 概率 TP / 概率 预期值
买入 4611 / 7.69% 3690 / 92.31% 3051.53
卖出 4071 / 14.29% 3950 / 85.71% 2804.19

实际应用中,数学期望值可以这样使用。首先,我们需要选择一个特定的止损或止盈值。然后,我们需要找到另一个停止单的最佳值。例如,我从上一个例子中提取了止损值,并为它们找到了预期收益最高的止盈。我得到了以下数值:


SL / 概率 TP / 概率 预期值
买入 622 / 19.24% 310 / 80.76% 130.68
卖出 603 / 19.25% 300 / 80.75% 126.13

这就是改变余额的样子。

除了预期收益,我们还可以使用其他标准。例如,如下标准

可以使我们获得平均利润与平均损失的最佳比率的止损单值。


时间和利润

每个人都知道"时间就是金钱"。让我们看看这句箴言在交易中是否有效(以及如何有效)。

任何理性的交易者都希望获利,利润越大越好。我提供 3 种交易策略供您选择:第一种可带来 1440 点利润,第二种 - 600 点,第三种 - 20 点。您将选择哪种策略?

在此,我要稍作澄清。第一种策略在一天内获利,第二种在一小时内获利,第三种在一分钟内获利。显然,为了评估这些策略的盈利能力,我们需要将它们放在同一时间段内。例如,M1。然后,我们将得到以下值:

  • 1440/1440 = 1;

  • 600/60 = 10;

  • 20/1 = 20.

换句话说,我们使用以下标准来评估这些策略:

让我们尝试用同样的方法来计算止损单。显然,交易者都希望在尽可能短的时间内获得最大的利润。同样,他们也力求将损失降到最低,并尽可能地将损失时间推后。

在选择止损单时,我们可以这样考虑。比方说,我们希望在 5 个柱形图内获利。然后,我们可以通过执行时间将止损点移动到更长的时间。例如,止损执行时间可设置为 7 或 10 个柱。在这种情况下,止损的大小会增加,但执行的概率会降低。

这种方法可用于有开仓信号但无平仓信号的策略。只有在达到止损或止盈时才能平仓。

例如,我将止盈执行时间定为 5 个柱。止损执行时间为 5、10 和 15 个柱。其中一个改变交易余额的选项是这样的。

主要测试结果如表格中所示。

净利润总额 毛利润 毛损失 利润因子 期望收益
-1 462.31 45 593.97 -47 056.28 0.97 -0.13
3 177.61 59 307.98 -56 130.37 1.06 0.28
1 833.58 59 963.97 -58 130.39 1.03 0.16

我们可以看到,改变止损执行时间会对交易结果产生正面的影响。


结论

撰写本文时使用了以下程序。

名称 类型 描述
Lvl SL & TP 脚本 该脚本允许计算最佳止损和止盈。
  • Duration 设置以柱数为单位的预期持仓时间。它决定了 SL 和 TP 的大小。计算结果显示在 "专家" 选项卡中
  • Verifiable SLVerifiable TP 在设置止损或止盈时,我们需要选择最佳预期收益。 计算结果保存在 Files 文件夹中
EA SL&TP EA 允许检查止损和止盈水平。
  • Seed - 影响仓位序列的初始编号。如果数值不为 0,则重复仓位。这有助于比较不同的止损和止盈
  • SLBuy, TPBuy, SLSell, TPSell - 仓位的止损和获利。它们的值可从 Lvl SL & TP 脚本中获取
EA TIM EA 可以测试 SL 和 TP 时间不同的假设。
  • Seed - 影响仓位序列的初始编号。
  • DurationTP - 预期止盈时间
  • ShiftSL - 预期 SL 会延长多少个柱


本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/13737

附加的文件 |
Lvl_SL_6_TP.mq5 (21.83 KB)
EA_SLuTP.mq5 (3.56 KB)
EA_TIM.mq5 (7.01 KB)
最近评论 | 前往讨论 (1)
Wen Feng Lin
Wen Feng Lin | 22 6月 2024 在 02:39
实用的帖子
CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式 CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式
本文提出了使用机器学习创建 EA 交易的方法。
种群优化算法:Nelder-Mead(NM),或单纯形搜索方法 种群优化算法:Nelder-Mead(NM),或单纯形搜索方法
本文表述针对 Nelder-Mead 方法进行的彻底探索,解释了如何在每次迭代中修改和重新排列单纯形(函数参数空间),从而达成最优解,并讲述了如何改进该方法。
您应当知道的 MQL5 向导技术(第 08 部分):感知器 您应当知道的 MQL5 向导技术(第 08 部分):感知器
感知器,单隐藏层网络,对于任何精熟基本自动交易,并希望涉足神经网络的人来说都是一个很好的切入点。我们查看这是如何在一个信号类当中一步一步组装实现的,其是 MQL5 向导类中用于智能交易系统的部分。
开发回放系统(第 36 部分):进行调整(二) 开发回放系统(第 36 部分):进行调整(二)
让我们的程序员生活举步维艰的原因之一就是做出假设。在本文中,我将向您展示假设是多么危险:例如在 MQL5 编程中假设类型将具有某个特定值,或是在 MetaTrader 5 中假设不同服务器的工作方式相同。