
GBPCAD:漂亮的深蟹模式(B点0.886)
这个形态有点马后炮了,但是很有参考意义 深蟹模式的D点和普通螃蟹一样,prz锁定在1.618 而深蟹的B具有非常深的回撤:0.886 更多盘中分析,关注TV账号:Mr-Chen。(需科学上网)
这个形态有点马后炮了,但是很有参考意义 深蟹模式的D点和普通螃蟹一样,prz锁定在1.618 而深蟹的B具有非常深的回撤:0.886 更多盘中分析,关注TV账号:Mr-Chen。(需科学上网)
随着时间的推移,下方支撑点会上移 D点和支撑点稍微会错开一些,两点这个区间可以作为入场位置 更多盘中分析,关注TV账号:Mr-Chen。(需科学上网)
在 MQL4编程中,调用技术指标函数(如 iMA(), iStochastic(), iCustom() 等)以及某些价格数据函数时,经常需要传入一些特定类型的参数,例如时间周期、应用价格类型、移动平均线的计算方式等。MQL 为这些常用的参...
网络上有成百上千可用于 MetaTrader 平台的自定义指标。如果您决定在您的EA中使用这类非平台内置的自定义指标,那么就需要进行一些额外的工作。 获取源代码的重要性:在使用自定义指标时,如果能拥有其 .mq4 源代码文件无疑是最佳情况。...
技术指标 绝大多数交易系统都会利用各种技术指标来辅助判断市场状况和产生交易信号,MetaTrader 平台内置了超过 20 种常见的技术指标,例如: 移动平均线 (MA) 平滑异同移动平均线 (MACD) 相对强弱指数 (RSI) 随机震荡...
在过去的几章中,我们致力于创建一系列用于执行订单处理机制的函数。这些函数是几乎所有EA都通用的基础模块,设计它们的初衷是希望它们能在各种交易场景中被复用,并尽可能保持灵活性。这样做的目的是让我们能够从繁琐的订单操作细节中解放出来,从而更专注...
现在我们来修改均线交叉EA的 OnTick() 函数,以便应用我们新创建的那些功能。首先,在建立新的买单前,我们会检查当前是否已经有买单持仓。我们不再是去平掉单个卖单,而是直接调用一个函数来平掉所有卖单。这种方法不需要用到订单号。 // 买...
盈亏平衡止损 除了追踪止损外,另一种常用的订单风险管理技术是盈亏平衡止损 。它的核心逻辑相对简单:当一笔订单的浮动盈利达到或超过预先设定的一个最小盈利点数后,就自动将该订单的止损位移动到其开仓价格。 这样做的目的是,一旦交易向有利方向发展并...
追踪止损的实现 追踪止损是一种动态调整止损位的风险管理技术。其核心思想是:当订单产生浮动盈利时,自动将止损位朝着盈利方向移动,以“锁定”已获得的利润,并在价格反向回调时保护这些利润。 工作原理: 设置距离: 首先设定一个追踪距离,通常以pi...
在开发 EA 时,经常需要知道当前由本EA管理的、符合特定条件的订单数量。例如,统计总共有多少订单、有多少买单、多少卖单、多少挂单等。这对于执行某些策略逻辑(如限制最大持仓数、判断是否已有同向订单)或进行信息展示都非常有用。我们可以创建一系...
在前面已经接触过 OrderSelect() 函数。本节我们将探讨如何结合使用 OrderSelect() 函数与 MQL 中的循环运算符(for 循环和 while 循环),来实现对订单池(即当前所有持仓订单和挂单的集合)的遍历操作,以便...
整合所有功能 现在,我们将展示最终使用本章创建的各种辅助函数重构后的 MA 交叉 EA 的完整代码结构。我们假设所有这些函数(如手数计算、验证、开仓、平仓、SL/TP 计算、调整、添加 SL/TP 等)都定义在 IncludeExample...
使用包含文件 (.mqh) 来组织函数 随着我们创建的辅助函数越来越多(如 PipPoint, GetSlippage, CalcLotSize, VerifyLotSize, OpenBuyOrder, AddStopProfit 等),...
封装添加/修改止损止盈函数 (AddStopProfit) 为了进一步细化函数职责,我们将为现有订单添加或修改止损 (SL) 和止盈 (TP) 的操作也封装成一个独立的函数。这个函数尤其适用于配合那些为了兼容 ECN 而在下单时不设置 SL...
封装验证与调整函数 为了方便地处理前面讨论的停止级别验证问题,我们可以创建两类辅助函数: 验证函数 (Verification Functions): 这类函数只检查给定的价格(如 SL/TP 或挂单价)是否满足最小停止距离要求,并返回一个...
封装SL/TP价格计算函数 为了将 SL/TP 的计算逻辑与验证逻辑分离,并提高代码复用性,我们可以创建专门的函数来根据开仓价和用户指定的点数 (pips) 计算出目标的 SL 或 TP 价格。 函数设计要点: 输入: 函数接收交易品种 (...
封装平仓函数 最后,我们将订单平仓的逻辑也封装成一个可重用的函数。这个函数将专注于关闭单个指定的市价订单。当您需要精确地关闭某一个特定的订单时(例如,基于订单号)这时下面这个函数就很有用,同时加入了必要的检查和错误处理。 关闭指定买单 (C...
封装市价买单函数 (OpenBuyOrder()) 现在我们来创建一个用于开立市价买单的可重用函数。在设计这个函数时,我们与之前直接在 OnTick() 函数中编写的代码有所不同,主要出于以下考虑: 这个下单函数只负责发送开仓指令。它不包含...
AB=CD即将形成,下方也是一个小的水平支撑位 在这里可能会有一个反弹 更多盘中分析,关注TV账号:Mr-Chen。(需科学上网)
在前面的章节中,我们逐步构建了包含下单、错误处理、价格验证、手数计算等功能的代码逻辑。现在,我们将学习如何将这些代码块封装成可重用的函数。这样做的好处是: 将复杂的细节(如手数计算、价格验证等)隐藏在函数内部,使得 OnTick() 等核心...
这是个月线级的上升通道,早期在通道上沿时发过一个观点,当时走成一个深蟹模式 经过漫长的一个N字形下跌,现在来到了通道下沿,美指可能会在下沿这条线进行筑底 与美指对应的EURUSD月线走势同样也来到了压力线附近,并且有明显阻力 更多盘中分析,...
现在我们将把本章学习到的所有高级功能——包括订单修改、交易上下文检查、预定义变量刷新以及动态手数计算与验证等等整合到之前那个简单的移动平均线交叉 EA 中。 修订后 EA 的结构与代码片段: 文件头部与全局设定: #property cop...
MetaTrader平台为所有运行在上面的EA提供了一个单一的交易执行线程。这意味着,在同一时刻,只有一个EA能够成功地执行交易相关的操作(如下单、平仓、修改订单等),无论您在终端中同时运行了多少个 EA 实例。这种机制是为了保证订单处理的...
在构建交易策略时,除了精心设计入场、出场、止损和止盈规则外,确定每次交易使用多大的手数是风险管理中至关重要的一环。最简单直接的方法是设置一个固定的手数(例如,通过 extern 变量让用户输入),并在所有交易中都使用这个固定值。然而,这种方...
在计算出目标止损价和止盈价之后,我们必须验证它们是否满足经纪商的最小距离要求(即 MODE_STOPLEVEL 对应的价格距离)。需要注意的是,对市价单和挂单的止损验证,其考虑因素略有不同。 止盈验证规则: 买单止盈价必须 >= As...
在MQL4中为市价单设置止损(Stop Loss) 和止盈 (Take Profit) ,传统方法是直接在调用 OrderSend() 函数时就将 SL/TP 价格作为参数传入。虽然这种方式对于大多数经纪商运行良好,但是一些账户不支持在提交...
写一个简单的EA示例 (MA金叉死叉 – 市价单入场版) 下面我们通过一个完整的EA示例,来整合运用前面讨论过的各种概念和函数。这是一个基于移动平均线交叉的简单交易系统: 入场信号: 当10日MA均线上穿20日均线时 (金叉),...
平仓操作 市价单:平仓操作是基于当前的市价来结束一个已开立的交易头寸。具体规则是:平掉买单使用当前的买价 (Bid),平掉卖单使用当前的卖价 (Ask)。 挂单:对于尚未被市场价格触发的挂单,结束它的操作不是“平仓”,而是删除 (Delet...
到目前为止,我们的EA已经学会了如何用一个固定的点数去下单。但这还远远不够。一个专业的EA,应该能适应不同的市场环境,能根据市场的结构来动态调整自己的行为。 要实现这一点,我们的EA首先需要拥有一双能观察市场的“眼睛”,以及能审视自身的“意...
我们已经学会了如何下单,但现在面临一个更精细的问题:如何精确地设置我们的止损(SL)和止盈(TP)? 最常见的方式,就是基于开仓价设置一个固定的“点数(Pips)”距离。比如,一个50 Pips的止损。听起来很简单,但在编程世界里,这背后藏...
在讲解下单函数之前,我们先了解下单流程。在EA程序中提交一个交易订单,通常需要经过以下准备步骤,确定好所有必要信息: 订单类型:确定是买单 (Buy) 还是卖单 (Sell),是市价单还是挂单,如果是挂单,是止损挂单 (Stop) 还是限价...
作为一名交易员,你每天都在和“价格”打交道。但在EA编程的世界里,我们必须以前所未有的精度,去理解价格的本质:买价(Bid)、卖价(Ask)以及它们之间的点差(Spread)。 你可能觉得这很简单,但90%的新手程序员遇到的第一个离奇BUG...
从这节课开始,我们正式进入实战EA的开发环节。 构建一个EA,就像是建造一栋房子,绝不是随意堆砌砖块。所有专业、稳定、高效的EA,都遵循着一个经过时间考验的、标准的建筑“蓝图”。这个蓝图,就是我们今天要掌握的EA标准结构。 一个标准的EA主...