
MQL4(21):EA交易环境与并发控制
MetaTrader平台为所有运行在上面的EA提供了一个单一的交易执行线程。这意味着,在同一时刻,只有一个EA能够成功地执行交易相关的操作(如下单、平仓、修改订单等),无论您在终端中同时运行了多少个 EA 实例。这种机制是为了保证订单处理的...
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...
我们在前面讨论计算 PipPoint 和 GetSlippage 时用到了 MarketInfo() 函数来获取交易品种的 Point 值(最小价格变动单位)和报价小数位数 (Digits)。MarketInfo() 是一个非常有用的函数,...
计算止损 (SL) 和止盈 (TP) 价格有多种方法。最常用的方法是基于距离开仓价固定点数 (pips) 来设置。例如,设置止损为50pips,意味着实际的止损价格将是开仓价格减去(买单)或加上(卖单)50pips对应的价格距离。 也可以使...
在讲解下单函数之前,我们先了解下单流程。在EA程序中提交一个交易订单,通常需要经过以下准备步骤,确定好所有必要信息: 订单类型:确定是买单 (Buy) 还是卖单 (Sell),是市价单还是挂单,如果是挂单,是止损挂单 (Stop) 还是限价...
语法基础已经了解的差不多了,从这节开始,我们进入EA开发环节。 一个标准的EA结构包含7大模块,在EA执行的过程中遵循清晰的生命周期:初始化 → 实时处理 → 退出(清理资源) ① 预处理指令区 位置在代码最顶部,#property:声明E...