The indicator that displays current time at the main markets of the world. It also displays the current session. Very easy…
TickSniper 自动化专家顾问用于 MetaTrader。Tick 剥头皮交易者
Copylot – MetaTrader的外汇交易复制器。跨终端复制器
123
Documentation
Settings
FAQ
Changelog
Reviews
Comments
Extra
关于 xCustomEA
MetaTrader 上的自定义指标通用交易顾问
正在寻找适用于MetaTrader 4和MetaTrader 5的可定制交易解决方案?介绍一下Exp – The xCustomEA,一个通用交易顾问,通过 MT4 和 MT5 上的 iCustom 函数与自定义指标无缝配合工作。
我们最新的交易顾问,The xCustomEA,基于经过验证的 The X – Universal EA 的基础上进行了关键改进:完全整合自定义指标,使交易者能够自动化个性化的交易策略。
为什么选择 The xCustomEA?
The xCustomEA 提供了我们广泛使用的顾问 The X 的所有功能,但增加了连接和使用任何自定义指标进行交易的能力。无论您使用的是 MQL5 市场 的指标还是从互联网下载的指标,xCustomEA 都能让您设计和执行针对 MetaTrader 4 和 MetaTrader 5 的定制交易策略。
The xCustomEA 如何工作?
- 与自定义指标的兼容性。 The xCustomEA 可与任何在线或通过 MQL5 市场 获得的自定义指标集成,实现基于指标信号的全自动交易。这使其成为寻求定制交易策略的交易者的多功能工具。
- 简易策略构建器。 只需输入您选择的指标名称及其箭头和信号缓冲区,xCustomEA 就会自动根据指标生成的信号执行交易。
- 高级交易功能。 除了自定义指标外,xCustomEA 还提供了广泛的内置功能来增强和优化您的交易策略。您可以完全自定义交易执行、止损、获利等。
The xCustomEA 的优势
- 适用于任何自定义指标。 无论是从 MQL5 市场 下载还是从互联网其他来源获取,xCustomEA 都能读取并基于您选择的自定义指标的信号缓冲区进行交易。
- 全自动交易。 使用 xCustomEA,您可以在 MetaTrader 4 和 MetaTrader 5 平台上自动化您的策略,确保交易的精确和高效执行。
- 完全的策略控制。 利用 xCustomEA 的全面功能集轻松定制您的交易策略,包括风险管理工具和高级交易逻辑。
- 支持 MetaTrader 4 和 MetaTrader 5。 无论您使用的是 MT4 还是 MT5,xCustomEA 都提供无缝兼容性,为交易者在不同平台间提供灵活性。
The xCustomEA 是寻求与 MetaTrader 4 和 MetaTrader 5 配合使用的 可定制交易顾问 的交易者的完美解决方案。通过连接任何自定义指标并创建量身定制的自动化策略,最大化您的交易潜力。
The xCustomEA 如何工作?
What do people write about xCustomEA?
You can Download free xCustomEA
Get started for FREE!
You can download and install our program for free!
And you can test it on your DEMO account without time limits!
And you can also test our program for free on a REAL account using the USDJPY symbol!
You can Buy full version of xCustomEA
Trade Accounts
Computers / Activations
FULL MT4 version
For MetaTrader 4
250 $
FULL MT5 version
For MetaTrader 5
250 $
RENT for 3 months
For MetaTrader 4
60 $
RENT for 3 months
For MetaTrader 5
60 $
Before making a purchase, we highly recommend reviewing our instructions and FAQ section to ensure a smooth experience.
Links
The X 和 xCustomEA:测试与优化
实用链接
Have you installed MetaTrader?
MetaTrader is required for installing from www.expforex.com
Table of Contents (click to show)
xCustomEA 描述
Exp – xCustomEA,一个针对 自定义指标 (custom indicators) 的通用交易顾问。
使用 iCustom 为您的策略构建 Forex。
我们的新顾问,xCustomEA,基于顾问 The X – 通用 EA。
通用交易顾问 xCustomEA 的功能完全复制了我们的顾问 The X 的所有参数,唯一的关键区别在于:
xCustomEA 使用 自定义指标 iCustom 进行操作,并且可以为 MT5 和 MT4 终端编写其交易策略。
换句话说,xCustomEA 连接到可以从互联网或 mql5市场 (mql5 market) 下载的 自定义指标 iCustom。
任何来自互联网的自定义指标 iCustom!
The X 和 xCustomEA:测试与优化
前言
xCustomEA:自定义指标交易的灵活解决方案
在通过自由职业订单编写 专家顾问 (Expert Advisors, EAs) 时,我们注意到 90% 的请求基于围绕指标构建的策略。为了满足这种需求,我们最初的重点是将自定义指标嵌入我们的 编写顾问的模板 中,以开发顾问。
然而,创建这样一个系统的成本——包括模板、开发时间和提供开源访问——往往过高。许多交易者发现,为单个自定义指标创建一个顾问成本高昂,尤其是如果该指标证明不盈利。在这种情况下,他们必须为不同的指标支付一个全新的顾问费用,导致重复开支。
解决方案:xCustomEA – 通用交易顾问
为了解决这个问题,我们开发了 xCustomEA,一个通用交易顾问,可以与 自定义指标 一起使用,并且可以完全自定义以基于您选择的任何指标的信号进行交易。
不同于传统的 EAs,xCustomEA 不附带预设策略。相反,它允许您:
- 编程您自己的自定义指标 (custom indicators),并根据其信号自动化交易。
- 使用 xCustomEA 根据您选择的指标信号开仓,使其成为希望测试和使用不同策略的交易者的多功能工具。
xCustomEA 的优势
通过购买 xCustomEA,您可以获得以下灵活性:
- 每天编程和修改 专家顾问 (Expert Advisors, EAs) 以适应新的指标,而无需为每个新策略雇用开发者。
- 避免为每个自定义指标创建新 EA 相关的高昂成本。
- xCustomEA 可以适应任何指标,节省时间和金钱。
使用 xCustomEA,您可以根据任何自定义指标的信号进行交易,完全控制您在 MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5) 上的策略。这是希望轻松测试、优化和调整其交易系统的交易者的理想解决方案,所有这些都来自一个通用顾问。
注意:您无需购买指标即可在策略测试器中测试专家顾问。
您可以在策略测试器中下载指标,并使用该指标测试我们的顾问。
仅在策略测试器中获得盈利结果后,您才能购买自定义指标并在真实或模拟账户上运行该指标的顾问!
The X 与 xCustomEA 有何不同?
The X 和 xCustomEA:两个顾问,一个强大的基础
The X 和 xCustomEA 都基于相同的强大 MQL 代码,并共享许多相同的功能,提供可靠且灵活的交易解决方案。然而,它们在处理指标的方法上有所不同,让您可以在标准和自定义策略之间进行选择。
The X – 通用 EA
- The X 是一个 通用交易顾问 (universal trading advisor),设计用于与 MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5) 终端中可用的 标准指标 (standard indicators) 一起使用。
- 它提供大约 20 种内置交易策略 (built-in trading strategies),基于如 移动平均线 (Moving Averages)、MACD、RSI、Bollinger Bands 等标准指标。指标和过滤器列表
- 非常适合那些喜欢使用 MetaTrader 平台中预装的熟悉且可信赖指标的交易者。
xCustomEA – 用于自定义指标的通用顾问
- xCustomEA 建立在 The X 的基础上,但设计用于与 自定义指标 (custom indicators) 一起使用。这让交易者可以灵活地从互联网或 mql5市场 (mql5 market) 实施任何他们选择的指标。
- 除了兼容自定义指标外,xCustomEA 还包括来自 The X 的 20 种标准策略 (20 standard strategies),结合了预构建的标准指标策略和使用您自己的指标进行自定义的选项。
- 这使得 xCustomEA 非常适合那些希望使用自定义指标个性化其交易策略,同时仍然可以访问经过验证的策略的交易者。
- xCustomEA 的最新版本:它提供大约 20 种内置交易策略 (built-in trading strategies),基于如 移动平均线 (Moving Averages)、MACD、RSI、Bollinger Bands 等标准指标。指标和过滤器列表
无论您选择使用 The X 来处理标准 MetaTrader 指标,还是选择 xCustomEA 来实现自定义指标的灵活性,这两个顾问都为您在 MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5) 上提供强大且可定制的交易策略。
xCustomEA 的优势
- xCustomEA:无需内置策略的定制交易
- 不同于传统的交易顾问,xCustomEA 不附带内置策略。相反,它让您可以实现 自定义指标 (custom indicators),用于 MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5),完全控制您的交易系统。
- 自定义指标集成 (Custom Indicator Integration)
- 使用 xCustomEA,您可以选择任何提供信号的自定义指标,例如箭头,并直接根据这些信号进行交易。这允许您通过集成来自互联网或 mql5市场 (mql5 market) 的 自定义指标 (custom indicators) 来根据您的具体需求定制交易。
- 创建和编程您自己的交易策略
- xCustomEA 设计用于那些喜欢创建自己策略的交易者。您可以根据任何在线找到的指标编程您的自定义交易策略,为您构建适合您交易风格的系统提供无限选项。
- 访问现成的策略
- 除了编程您自己的策略,您还可以下载与 xCustomEA 兼容的 现成策略 (ready-made strategies)。这个不断增长的预编程策略列表定期更新,使您能够轻松将新想法和技术纳入您的交易中。
- 利用 The X 策略
- 已经在使用 The X – 通用 EA 的策略?您可以导入所有来自 The X 策略的信号,并应用您自己的自定义修改。这为您在使用熟悉且经过验证的策略的同时提供了更大的灵活性来优化您的方法。
如果您不知道如何编程且不想学习,并且对标准指标感到满意,那么您的选择是 The X。
如果您知道如何编程并且有兴趣研究其他指标,那么您的选择是 xCustomEA。
这些顾问的功能是相同的!
基本功能和参数描述
我们不会详细描述顾问的主要参数,因为 99% 的设置与我们的系统 The X 相对应。
所有基本参数和功能的完整描述已在 The X 的说明中提供。xCustomEA 参数描述。
xCustomEA 交易顾问提供了一系列强大功能,旨在提升您在 MetaTrader 4 (MT4) 和 MetaTrader 5 (MT5) 上的交易体验。无论您是在寻找高级资金管理、自动化策略还是精确的交易执行,xCustomEA 都能满足您的需求。
在 xCustomEA 中,有以下功能:
- 自动计算手数和资金管理 (Autolot Calculation and Money Management):根据您当前的余额自动计算手数,优化您的风险管理。
- 固定手数选项 (Fixed Lot Option):为一致的仓位规模设置固定手数。
- 交易时间控制 (Trading Time Control):将顾问的操作限制在特定交易时间内,让您对策略有更大的控制。
- 追踪止损功能 (Trailing Stop Functions):
- 标准追踪止损 (Standard Trailing Stop),并可选择使用“仅盈利”算法。
- 抛物线 SAR 追踪止损 (Parabolic SAR Trailing Stop):基于价格行动进行动态交易管理。
- 真实账户错误处理 (Error Handling for Real Accounts):通过内置的错误恢复机制,确保在真实交易账户上的平稳操作。
- 总盈亏块关闭 (Block Closure on Total Profit or Loss):当达到特定的盈利或亏损阈值时,自动关闭所有交易,并可选择禁用账户上的顾问。
- 盈亏平衡功能 (Breakeven Functionality):一旦交易朝有利方向移动,将止损移动到盈亏平衡点 (zero) 以保护利润。
- 马丁格尔策略 (Martingale Strategy):在亏损交易后增加手数以弥补损失,并具有可自定义的参数。
- 基于指标的交易 (Indicator-Driven Trading):
- 根据指标信号开仓和平仓。
- 在收到反向信号时触发相反订单。
- 当信号变化时自动关闭仓位。
- 信号反转功能 (Signal Reversal, REVERSE):翻转您的策略信号以实现反向交易方法。
- 亏损仓位平均 (Averaging Unprofitable Positions):通过平均亏损仓位来管理风险,以改善整体盈亏平衡点。
- 额外开仓 (Additional Position Openings):
- 根据趋势方向开仓。
- 根据反趋势策略,逆势开仓。
- 虚拟止损、获利和追踪止损 (Virtual Stop Loss, Take Profit, and Trailing Stop):通过虚拟水平保护您的仓位,使其对经纪商隐藏,以增强隐私。
- 全面的订单管理 (Comprehensive Order Management):
- 轻松执行市场仓位、挂单和限价单。
- 回撤管理 (Drawdown Management):积极监控和管理回撤水平,以保护您的账户余额。
- 盈利和亏损限额 (Profit and Loss Limits):为每笔交易或所有开仓设置最大允许的盈利或亏损限额。
- 处理测试结果 (Work with Test Results):使用历史数据回测和优化您的策略以提高性能。
- 带警报的半自动模式 (Semi-Automatic Mode with Alerts):当策略发出机会信号时,接收屏幕通知 (ALERT),允许您手动确认交易入场,而不是自动执行。
所有基本参数和功能的完整描述已在 The X 的说明中提供。xCustomEA 参数描述
信号和过滤器定义
信号 (Signal)
- 信号 (Signal) – 当信号的所有条件满足时发生,例如 MA 线交叉或 ZigZag 中出现新点。
- 信号 (Signal) – 在信号接收时出现,固定在柱线上。顾问识别到信号已发出。
- 例如: 灯亮了。这是一个信号,因为灯刚亮。当灯亮起时,一个人醒了过来。这是一个信号。
- 在发出信号后开仓。如果线已经交叉,这不是一个信号。信号已经过去。
- The X 中增加的 20 种标准策略 指标和过滤器列表
过滤器 (Filter)
- 过滤器 (Filter) – 指标的当前位置,例如 MA 线相对于彼此的当前位置或 ZigZag 的当前最后顶点。
- 过滤器 (Filter) 是指标当前显示的内容。这不是一个信号;这是指标的当前位置。
- 例如: 灯亮着。这是一个过滤器,因为灯已经亮起并且目前还亮着。当灯亮着时,这个人不再睡觉。这是一个过滤器。
- 指标的当前值过滤信号。
- 如果快速 MA 在线以上慢速 MA,那么这是一个仅应开 买入 (BUY) 订单的过滤器。
- The X 中增加的 20 种标准策略 指标和过滤器列表
在信号和过滤器中轻松安装自定义指标
有三种类型的专家顾问:
xCustomEA 顾问 与我们的指标一起工作,您在其中编程您的策略。
如果您需要编程顾问以与指标一起工作,请继续阅读下一节:编程您的策略。
xArrow:
xArrow – 顾问直接与具有 箭头类型缓冲区 (Arrow-type buffers) 的自定义指标一起工作,这些缓冲区可供顾问使用。
例如,一个带有 买入 (BUY) 信号的指标信号缓冲区和一个带有 卖出 (SELL) 信号的指标信号缓冲区。
这样的缓冲区必须是箭头类型的。
我们的专家顾问通过类型确定信号:缓冲区值必须大于 0 且不等于空值。
// — 我们检查条件并设置 sig 的值
if (xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] > 0) sig = 1; else if (xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] > 0) sig = -1;
在指标中绘制箭头的代码示例:
xColorArrow:
指标信号类型 (xColorArrow 具有 1 个缓冲区和 2 种颜色),其信号箭头具有两种不同的颜色 (DRAW_COLOR_ARROW)。
在指标中绘制彩色箭头的代码示例:
指标列表:
您可以使用标准指标的信号!来自标准指标的信号策略来自 The X 顾问专家
- NoSignal=100, // 无信号 开仓
- MA=101, // 移动平均线 (Moving Average)
- MACD=102, // 移动平均收敛/发散指标 (MACD)
- STOCH=103, // 随机振荡器 (Stochastic Oscillator)
- RSI=104, // 相对强弱指数 (Relative Strength Index, RSI)
- CCI=105, // 商品通道指数 (Commodity Channel Index, CCI)
- WPR=106, // 威廉指标 (Williams Percent Range, WPR)
- BB=107, // 布林带 (Bollinger Bands)
- Envelopes=108, // 包络线 (Envelopes)
- Alligator=109, // 鳄鱼指标 (Alligator)
- OsMA=110, // 振荡器的移动平均线 (Moving Average of Oscillator, OsMA)
- AO=111, // 神奇振荡器 (Awesome Oscillator, AO)
- ISH=112, // 一目均衡表 (Ichimoku)
- AC=113, // AC
- BAR=114, // BAR 熊/牛 (Bar BEAR/BULL)
- ADX=115, // 平均趋向指数 (Average Directional Index, ADX)
- ZigZag=117, // ZigZag
- MFI=120, // 资金流动指数 (Money Flow Index, MFI)
- Fractals=121, // 分形指标 (Fractals)
轻松将 iCustom 指标安装到我们的 xCustomEA 输入中
如果您不想编程您的策略,并且您的自定义指标允许您直接与顾问一起使用,您可以指定指标的名称并设置其在 买入 (BUY) 和 卖出 (SELL) 信号上的缓冲区。
例如:
1. 写下 自定义指标的名称!如果该指标是从 MQL5 市场下载的,则需要指定 Market 文件夹的路径:
Market\\PipFinite Trend PRO MT5
务必使用双反斜杠 \\
2. 指定 xArrow 信号的类型。
3. 指定用于开 买入 (BUY) 信号的信号缓冲区编号(在此示例中,缓冲区编号为 8)。
4. 指定用于开 卖出 (SELL) 信号的信号缓冲区编号(在此示例中,缓冲区编号为 9)。
如何查找缓冲区编号
因此,我们不需要编程我们的指标以使顾问工作。
我们的自定义指标示例包含顾问工作的缓冲区,我们可以直接使用它!
在我们的 xCustomEA 策略示例 部分,我们将发布使用市场上已知指标编程策略和顾问的示例!
示例:Pipfinite Trend Pro + xCustomEA
指标模板文件
为了方便与顾问一起使用:
当您首次启动顾问时,您的终端的 文件 (Files) 文件夹中将创建一个指标模板文件。
此文件可用作编写指标策略的模板。
要找到该文件,请在您的终端菜单中点击 文件 → 打开数据文件夹 (File → Open Data Folder)。
使用您的 MQL 编辑器打开此文件。
在文件中,您将看到如何使用和编程策略的示例。
创建指标策略后,将此文件保存在您的终端的 Indicators/ 文件夹中。
之后,在 SignalNameIndicator 顾问的设置中指定此文件。
使用 xCustomEA 编程您的策略
您应该了解编写策略的基本编程规则。
或使用现有文件中的指标添加现成的策略(例如来自互联网的指标)。
为 MetaTrader 5 (MT5) 编程顾问比为 MetaTrader 4 (MT4) 编程更复杂。
然而,MT5 终端允许您创建更强大的策略,并且具有更先进的策略测试器。
为了编程的方便
- 打开我们的指标源代码 Ind – xCustomEA 或 Ind – xCustomEA 示例 TheX。
- 按键组合 Ctrl + F 打开搜索栏。
- 输入名称 Step – 在我们的源代码中,您可以根据此关键字导航并快速编写您的策略。
- 每个步骤都有注释并包含示例。
- 要了解如何编程您的策略,您可以逐步取消注释带有星号 // * 标记的行。
我们将详细分析每个步骤!
MetaTrader 4:使用自定义指标在 MT4 中编程您的策略
在 MT4 中使用自定义指标编程顾问包括四个步骤:
MetaTrader 4 步骤 1:将指标加载到资源中
// 步骤 // 这部分代码用于在开源中编程您的策略 // // 要在编译期间将指标包含在顾问中,您需要将其加载到顾问的资源中 // 例如: // * #resource "IndicatorsMACD.ex4"
在这里,我们必须将所需的指标添加到资源中。
这使我们能够为市场编译指标,并避免编译的顾问在另一台计算机上找不到指标的问题。
编写指标名称的规则:使用以 Indicators 开头的完整路径!
文件夹表示为
例如:
如果您的指标路径如下所示:
C:\ROBO\MT4\MQL4\Indicators\Examples\MACD.ex4
那么,在编程语言中,此指标的路径应写为:
Indicators\Examples\MACD.ex4
MetaTrader 4 步骤 2:创建开仓策略和信号
// 步骤 // 这部分代码用于在开源中编程您的策略 // // 在这里,我们通过填充数据缓冲区来创建开仓信号 // // 例如: // * if (sigInd == 1) // * { // // 填充数据 // // * double CustomMain = iCustom(StrategySymbol, StrategyTimeFrame, "::IndicatorsMACD", periodma1, periodma2, 9, MAprice, // * MODE_MAIN, StartCopyI + ShiftIndicator); // * double CustomSig = iCustom(StrategySymbol, StrategyTimeFrame, "::IndicatorsMACD", periodma1, periodma2, 9, MAprice, // * MODE_SIGNAL, StartCopyI + ShiftIndicator + 1); // // 在这里,我们编写我们的策略,本例中为两条线的交叉 // // * if (CustomMain > CustomSig && CustomMain2 < CustomSig2) // * sig = 1; // * if (CustomMain < CustomSig && CustomMain2 > CustomSig2) // * sig = -1; // // // 编写在信号开仓时将显示在日志中的数据 // // * InfoAboutSignal = "InfoAboutSignal sigInd =" + (string)sigInd + " sig =" + (string)sig // * + " CustomMain =" + CustomMain // * + " CustomSig =" + CustomSig // * + " CustomMain2 =" + CustomMain2 // * + " CustomSig2 =" + CustomSig2 // *; // // --- 返回交易信号 // * return sig; // *}
此步骤对顾问至关重要。虽然所有其他步骤都是必需的,但没有此步骤,顾问将无法正常工作。
我在代码中添加了注释以指导您!
- 单独编程策略和信号代码。这取决于所选策略和指标。
- 检索策略缓冲区。
- 请注意,在此块中,您可以指定任何策略。
- 编程策略,例如两条线的交叉。
- 重要:买入 (BUY) 的信号为 1,卖出 (SELL) 的信号为 -1。
我将在我们的论坛上发布策略示例!
MetaTrader 4 步骤 3:从您的指标指定过滤器或使用您的指标作为策略过滤器
// 步骤 // 这部分代码用于在开源中编程您的策略 // // 在这里,我们通过填充数据缓冲区来创建过滤器,以过滤信号 // // 例如: // * if (sigInd == 1) // * { // // 填充数据 // // * double CustomMain = iCustom(StrategySymbol, StrategyTimeFrame, "::IndicatorsMACD", periodma1, periodma2, 9, MAprice, // * MODE_MAIN, shift); // * double CustomSig = iCustom(StrategySymbol, StrategyTimeFrame, "::IndicatorsMACD", periodma1, periodma2, 9, MAprice, // * MODE_SIGNAL, shift); // // 在这里,我们编写我们的策略,本例中为两条线的交叉 // // * if (CustomMain > CustomSig) // * sig = 1; // * if (CustomMain < CustomSig) // * sig = -1; // // // 编写在信号开仓时将显示在日志中的数据 // // * InfoAboutSignal = "InfoAboutSignal sigInd =" + (string)sigInd + " sig =" + (string)sig // * + " CustomMain =" + CustomMain // * + " CustomSig =" + CustomSig // *; // // --- 返回交易信号 // * return sig; // *}
在此步骤中编程代码与上一步相似且简单。
唯一的区别是,在此步骤中,您正在将指标编程为过滤器。
您不能同时在指标上指定信号并将其用作过滤器。这完全取决于策略。
MetaTrader 5:在 MT5 中使用自定义指标编程您的策略
MetaTrader 5 步骤 1:将指标加载到资源中
// 步骤 // 这部分代码用于在开源中编程您的策略 // // 要在编译期间将指标包含在顾问中,您需要将其加载到顾问的资源中 // 例如: // * #resource "IndicatorsExamplesMACD.ex5"
在这里,我们必须将所需的指标添加到资源中。
这使我们能够为市场编译顾问,并避免编译的顾问在另一台计算机上找不到指标的问题。
编写指标名称的规则:使用以 Indicators 开头的完整路径!
文件夹表示为
例如:
如果您的指标路径如下所示:
C:\ROBO\MT5\MQL5\Indicators\Examples\MACD.ex5
那么,在编程语言中,此指标的路径应写为:
Indicators\Examples\MACD.ex5
MetaTrader 5 步骤 2:声明用于存储策略指标句柄的变量
// 步骤 ### // 这部分代码用于在开源中编程您的策略 // // 声明用于处理句柄的数组变量 // // 例如: // * int h_custom; // * int h_custom2;
在这里,我们指定上面创建的句柄名称!
这里没有什么复杂的。
句柄被创建为数组,以便在顾问中实现多货币使用,并能够同时指定最多六个信号或过滤器!
MetaTrader 5 步骤 3:声明用于存储指标数据的变量
// 步骤 ### // 这部分代码用于在开源中编程您的策略 // // 声明用于指标值的数组变量 // // 例如: // * double custom1_buffer[]; // * double custom2_buffer[];
在这里,我们指定我们的数据缓冲区名称!
这里没有什么复杂的。
每根柱子的指标值将存储在这些数组中。如果您需要使用多个缓冲区,您可以创建多个变量。
在我们的例子中,例如,我们需要两个缓冲区用于 MACD 指标的信号和主线。
MetaTrader 5 步骤 4:创建用于下载到顾问的指标句柄
// 步骤 4 // 这部分代码用于在开源中编程您的策略 // // 在数组中创建一个记录,以便顾问在初始化期间分配指标的句柄 // // 例如: // * case 1: h_custom = iCustom(StrategySymbolString, StrategyTimeFrame, "::IndicatorsExamplesMoving AverageMoving Average", MAFastPeriod, MAmethod, MAprice); // * h_custom2 = iCustom(StrategySymbolString, StrategyTimeFrame, "::IndicatorsExamplesMoving AverageMoving Average", MASlowPeriod, MAmethod, MAprice); // * if (h_custom == INVALID_HANDLE) // * { // * Print("无法获取移动平均线指标的句柄"); // * return(INIT_FAILED); // * } // * if (h_custom2 == INVALID_HANDLE) // * { // * Print("无法获取移动平均线指标的句柄"); // * return(INIT_FAILED); // * } // * break;
此步骤对于我们的指标在顾问初始化时加载是必要的。在 MetaTrader 5 中,不需要在图表上持续加载指标。
创建句柄时,我们引用已经打开的指标的句柄,并将其用于后续操作。
您需要非常注意这里。在创建句柄时,必须指定指标的所有外部变量并使用正确的名称。否则,顾问将无法加载指标。
请记住,我们已将指标上传到顾问的资源中。因此,我们将在资源中调用指标!
您可以阅读 通过 iCustom 调用指标的帮助
我们还需要一个策略编号来编写此代码。如果您的策略中有多个指标,则需要指定多个指标,但使用相同的编号以确保顾问正确加载您的策略。
在上面的示例中,我们需要执行以下操作:
h_custom = iCustom(StrategySymbolString, StrategyTimeFrame, "::IndicatorsExamplesMoving AverageMoving Average"); h_custom2 = iCustom(StrategySymbolString, StrategyTimeFrame, "::IndicatorsExamplesMoving AverageMoving Average"); if (h_custom == INVALID_HANDLE) { Print("无法获取移动平均线指标的句柄"); return; } if (h_custom2 == INVALID_HANDLE) { Print("无法获取移动平均线指标的句柄"); return; } break;
按照上述类似的方法,您可以添加多个指标和句柄。
此外,添加您希望集成到顾问中的其他策略!
MetaTrader 5 步骤 5:创建开仓策略和信号
// 步骤 5 // 这部分代码用于在开源中编程您的策略 // // 在这里,我们通过填充数据缓冲区来创建开仓信号 // // 例如: // * if (sigInd == 1) // * { // // 填充数据 // // * if (CopyBuffer(h_custom, 0, 0, 3 + ShiftIndicator, custom1_buffer) < 3 + ShiftIndicator) // * return(0); // * if (!ArraySetAsSeries(custom1_buffer, true)) // * return(0); // * if (CopyBuffer(h_custom2, 0, 0, 2 + ShiftIndicator, custom2_buffer) < 2 + ShiftIndicator) // * return(0); // * if (!ArraySetAsSeries(custom2_buffer, true)) // * return(0); // // 在这里,我们编写我们的策略,本例中为两条线的交叉 // // * if (custom1_buffer[ShiftIndicator + 1] < custom2_buffer[ShiftIndicator + 1] && custom1_buffer[ShiftIndicator] > custom2_buffer[ShiftIndicator]) // * sig = 1; // * else if (custom1_buffer[ShiftIndicator + 1] > custom2_buffer[ShiftIndicator + 1] && custom1_buffer[ShiftIndicator] < custom2_buffer[ShiftIndicator]) // * sig = -1; // * else // * sig = 0; // // 编写在信号开仓时将显示在日志中的数据 // // * InfoAboutSignal = InfoAboutSignal + "" + "sigInd =" + (string)sigInd + " TF =" + (string)TF + " Symbol =" + symToWork3 + " sig =" + (string)sig + "" + __FUNCTION__ + "" // * + " custom1_buffer[ShiftIndicator + 1] =" + (string)custom1_buffer[ShiftIndicator + 1] // * + " custom2_buffer[ShiftIndicator + 1] =" + (string)custom2_buffer[ShiftIndicator + 1] // * + " custom1_buffer[ShiftIndicator] =" + (string)custom1_buffer[ShiftIndicator] // * + " custom2_buffer[ShiftIndicator] =" + (string)custom2_buffer[ShiftIndicator]; // // --- 返回交易信号 // * return sig; // *}
此步骤对于顾问至关重要。
虽然所有其他步骤都是必需的,但没有此步骤,顾问将无法正常工作。
我在代码中添加了注释以指导您!
- 单独编程策略和信号代码。这取决于所选策略和指标。
- 检索策略缓冲区。
- 请注意,在此块中,您可以指定任何策略。
此步骤可以分为两个子步骤:
- 1. 我们必须将数据缓冲区复制到我们的数据数组中。在复制设置中,我们必须指定线号(在我们的例子中,这些是 MACD 指标线)。
- 我们使用两条线:主线 (MAIN) 和 信号线 (SIGNAL)。
- 您可以阅读 CopyBuffer 帮助
- 2. 编程策略。在本例中,两条线的交叉。
- 重要:买入 (BUY) 的信号为 1,卖出 (SELL) 的信号为 -1。
我们将详细分析每个步骤!
MetaTrader 4 步骤 6:从您的指标指定过滤器或使用您的指标作为策略过滤器
// 步骤 6 ### // 这部分代码用于在开源中编程您的策略 // // 在这里,我们通过填充数据缓冲区来创建过滤器,以过滤信号 // // 例如: // * if (sigInd == 1) // * { // // 填充数据 // // * if (CopyBuffer(h_custom, 0, 0, 3 + ShiftIndicator, custom1_buffer) < 3 + ShiftIndicator) // * return(0); // * if (!ArraySetAsSeries(custom1_buffer, true)) // * return(0); // * if (CopyBuffer(h_custom2, 0, 0, 2 + ShiftIndicator, custom2_buffer) < 2 + ShiftIndicator) // * return(0); // * if (!ArraySetAsSeries(custom2_buffer, true)) // * return(0); // // 在这里,我们编写我们的策略,本例中为两条线的交叉 // // * if (custom1_buffer[ShiftIndicator] != 0 && custom2_buffer[ShiftIndicator] != 0) // * { // * Alert("恭喜!您已完成展示如何编程策略的课程!"); // * } // // * if (custom1_buffer[ShiftIndicator] > custom2_buffer[ShiftIndicator]) // * sig = 1; // * else if (custom1_buffer[ShiftIndicator] < custom2_buffer[ShiftIndicator]) // * sig = -1; // * else // * sig = 0; // // 编写在信号开仓时将显示在日志中的数据 // // * InfoAboutSignal = InfoAboutSignal + "" + "sigInd =" + (string)sigInd + " TF =" + (string)TF + " Symbol =" + symToWork3 + " sig =" + (string)sig + "" + __FUNCTION__ + "" // * + " custom1_buffer[ShiftIndicator] =" + (string)custom1_buffer[ShiftIndicator] // * + " custom2_buffer[ShiftIndicator] =" + (string)custom2_buffer[ShiftIndicator]; // // --- 返回交易信号 // * return sig; // *}
此步骤中编程代码与上一步相似且简单。
唯一的区别是,在此步骤中,您正在将指标编程为过滤器。
您不能同时在指标上指定信号并将其用作过滤器。这完全取决于策略。
Settings xCustomEA
Table of Contents (click to show)
您可以下载我们的 优化文件 用于EA。
将 自定义指标(自定义策略)连接到我们的 Expert Advisor (EA) 的区块
我们的更新的 Expert Advisor (EA) 中已包含一个新的 区块 用于 自定义策略/指标。
参数 | 描述 |
---|---|
OWN 信号选项 | |
SignalNameIndicator | 接收开仓主要信号的自定义指标名称。 默认值: “Ind – The xCustomEA“ 这是一个标准的空指标,您可以按照我们的示例编写您的策略! 我们还创建了一个基于 The X 信号的自定义指标示例。 “Ind – The xCustomEA Example The X“ 您可以使用我们的示例通过标准指标接收信号。 The X 标准策略描述 |
SignalTypeIndicator | 信号指标的类型。 有三种类型的 Expert Advisors (EAs) 和来自 The X 的二十种标准指标: xCustomEA – 一个与我们的指标配合使用的 Expert Advisor (EA),您可以在其中编写您的策略。 xArrow – EA 直接与具有箭头类型缓冲区的自定义指标一起工作,这些缓冲区可被 EA 利用。 例如,一个带有买入信号的指标缓冲区和一个带有卖出信号的指标缓冲区; 这样的缓冲区必须是箭头类型。 我们的 Expert Advisor (EA) 通过类型确定信号:缓冲区值不等于空值并且大于0。 // — 我们检查条件并设置 sig 的值 if (xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] > 0) sig = 1; else if (xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] > 0) sig = -1; xColorArrow – 添加了指标信号类型(xColorArrow,具有1个缓冲区和2种颜色),信号箭头具有两种不同的颜色(DRAW_COLOR_ARROW)。 使用 xColorArrow 信号类型时,您需要设置以下值: SignalBufferForBUY = 箭头缓冲区编号(请与您的指标作者确认)或通过计算此缓冲区编号。 SignalBufferForSELL = 这些箭头的颜色缓冲区编号(请与作者确认),通常跟随箭头缓冲区。 注意! 此类型支持两种颜色,其中: 0(箭头的第一种颜色)是开仓买入的信号; 1(箭头的第二种颜色)是开仓卖出的信号; 如果您的指标颜色相反,您还可以使用 Signal_Reverse 参数。 有关更多信息,我们提供了使用 DRAW_COLOR_ARROW 缓冲区的此类指标的示例! 添加了来自 The X 的20个标准策略 指标和过滤器列表 指标列表: NoSignal = 100, // 无开仓信号 Ma = 101, // 移动平均 MACD = 102, // 移动平均收敛/发散 (MACD) STOCH = 103, // 随机震荡指标 RSI = 104, // 相对强弱指数 (RSI) CCI = 105, // 商品渠道指数 (CCI) WPR = 106, // 威廉指标范围 (WPR) BB = 107, // 布林带 Envelopes = 108, // 信封线 Alligator = 109, // 鳄鱼指标 OsMA = 110, // 振荡器的移动平均 (OsMA) AO = 111, // 极佳振荡器 (AO) ISH = 112, // 一目均衡表 AC = 113, // AC BAR = 114, // BAR 熊/牛 ADX = 115, // 平均趋向指数 (ADX) ZigZag = 117, // 之字形指标 MFI = 120, // 资金流量指数 (MFI) Fractals = 121, // 分形指标 |
IndSigToTrade |
选择用于开仓第一和主要仓位的指标和信号。 来自自定义指标 SignalNameIndicator 的策略编号。 如果在指标中未找到指定的策略,Expert Advisor (EA) 将因错误而从图表中卸载! 如果设置为0,则不使用策略信号,仅应用过滤器! 使用 main 指标时,信号将在当前K线生成! 这意味着开仓信号是执行信号的结果。 如果有信号且过滤器不允许开仓,则忽略该信号。 无信号: 选择时,Advisor 忽略主要信号并基于 过滤器 进行交易。 使用 NoSignal 时,EA 可以忽略主要信号的执行,并基于 过滤器 操作。 使用过滤器时, Expert Advisor (EA) 根据所选指标的当前数据开仓。 |
TF_IndSigToTrade1 |
第一个主要指标的时间框架。 您可以选择指标接收信号的时间框架。 Period_Current – 当前时间框架。 时间框架越大,您需要等待主要信号的时间越长! 时间框架越小,开仓(交易)的速度越快。 |
SIGNALStrategyInputs |
自定义指标的外部参数, 在 SignalTypeIndicator = xArrow 模式下! 您可以按照设置表中所写的外部变量,以逗号分隔! 重要: 您必须遵守变量的顺序和类型。 – 整型 (int): 原样; – 双精度型 (double): 原样; – 布尔型 (boolean): true 或 false; – 日期时间型 (datetime): D’年.月.日’(必须指明 D 和单引号)。 如果需要不指定具体日期,作为字符串书写:”00:00″ 或 “23:59” D’2018.11.08′ ‘D’2015.01.01’ “00:00” “23:59” – 颜色型 (color): C’红/绿/蓝’(必须指明 C 和单引号)。 例如:C’0/128/128′ 或 C’0/256/0′ – 枚举型 (enum,列表,枚举): x(数字) 如果您的指标有列表(从列表中选择参数),您需要写一个数字! – 字符串型 (string): 确保指定字符串(不是数字),例如 “X”。 在 MT4 中: 注意! 在 MetaTrader 4 版本中,禁止传递字符串参数! 传递字符串参数时,指标可能无法正确加载! 例如, 如果您的指标具有以下输入参数: int InpCCIPeriod = 1; double InpCCIPeriod2 = 2.0; color InpCCIPeriod3 = clrGreen; string InpCCIPeriod6 = “text”; datetime InpCCIPeriod4 = D’2018.11.08′; bool InpCCIPeriod5 = false; 则书写为: SIGNALStrategyInputs = 1,2.0,C’0/128/0′,”text”,D’2018.11.08′,false |
Signal_Reverse |
反转此主要指标的信号。 此选项仅反转主要指标的信号。 如果信号是开仓 买入,则 Expert Advisor (EA) 开仓 卖出! 如果信号是开仓 卖出,则 Expert Advisor (EA) 开仓 买入! |
ClosePositionifChangeOWNSignal |
启用/禁用在主要指标的相反信号下关闭仓位,而不参与其他过滤器和参数。 ClosePositionifChangeOWNSignal 参数分为三种值: – False(关闭) – True(开启) – OnlyifProfit(仅当仓位盈利时) |
OWNSIGNAL_shift | 指标将生成信号的 K 线数量。 – 1 = 最近已闭合的 K 线;该 K 线上的信号被视为已闭合。 – 0 = 当前未闭合的 K 线;该 K 线上的信号被视为绘制中;请小心。 关于此参数的更多信息: 信号 K 线详细文章 |
SignalBufferforBUYSignalBufferforSELL |
使用自定义指标中的缓冲区编号接收买入和卖出信号。 不要更改 Ind – The xCustomEA 和 Ind – The xCustomEA Example The X。 |
关闭选项 | |
此区块允许您根据自定义指标的信号关闭开仓仓位。 如果自定义指标提供了用于关闭仓位的信号(与开仓信号分开),您可以使用此功能。 如果您需要在Advisor中配置用于关闭仓位的信号, 您必须指定指标名称(可能与用于关闭仓位的指标名称相同)、一组参数(如果它们与默认指标参数不同)、时间框架、K 线偏移以及用于接收关闭信号的缓冲区编号。这应分别针对买入和卖出仓位。 注意: 如果您想在接收到相反信号时关闭仓位,则无需使用此区块。 | |
CloseNameIndicator | 接收用于关闭仓位的主要信号的自定义指标名称。 |
CloseTypeIndicator |
信号指标的类型。 Advisor 操作有两种类型: – xCustomEA – Advisor 与我们的指标配合使用,您可以在其中编写过滤策略。 – xArrow – Expert Advisor (EA) 直接与具有箭头类型缓冲区的自定义指标一起工作,Advisor 可以利用这些缓冲区。 例如: 用于关闭买入和卖出仓位的指标信号缓冲区。 这样的缓冲区必须是箭头类型。 我们的 Expert Advisor (EA) 通过类型确定信号:缓冲区值不等于空值并且大于0。 // — 我们检查条件并设置 sig 的值 if (xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_BUY_buffer[OWNSIGNAL_shift] > 0) sig = 1; else if (xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] != EMPTY_VALUE && xCustom_SIGNAL_SELL_buffer[OWNSIGNAL_shift] > 0) sig = -1; |
CloseTimeFrame Close_shift CloseStrategyInputs CloseBufferforBUY CloseBufferforSELL Close_IndSigToClose | |
过滤器选项 | |
FilterNameIndicator |
接收开仓过滤器的自定义指标名称。 默认值: “Ind – The xCustomEA“。 这是一个标准的 空 指标,您可以按照我们的示例编写您的策略! |
FilterTypeIndicator |
过滤器指标的类型。 Advisor 操作有两种类型: – xCustomEA – Advisor 与我们的指标配合使用,您可以在其中编写过滤策略。 – xArrow – Expert Advisor (EA) 直接与具有箭头类型缓冲区或非空缓冲区值的自定义指标一起工作,Advisor 可以利用这些缓冲区。 例如: 用于买入和卖出过滤的指标缓冲区。 这样的缓冲区必须是箭头类型。 我们的 Expert Advisor (EA) 通过类型定义过滤器:缓冲区值不等于空值并且大于0。 // — 我们检查条件并设置 sig 的值 if (xCustom_FILTER_BUY_buffer[shift] != EMPTY_VALUE && xCustom_FILTER_BUY_buffer[shift] > 0) sig = 1; else if (xCustom_FILTER_SELL_buffer[shift] != EMPTY_VALUE && xCustom_FILTER_SELL_buffer[shift] > 0) sig = -1; – 或者您可以使用我们来自 The X 的标准策略 过滤器指标列表: FILTERMa = 101, // 移动平均 FILTERMACD = 102, // 移动平均收敛/发散 (MACD) FILTERSTOCH = 103, // 随机震荡指标 FILTERRSI = 104, // 相对强弱指数 (RSI) FILTERCCI = 105, // 商品渠道指数 (CCI) FILTERWPR = 106, // 威廉指标范围 (WPR) FILTERBB = 107, // 布林带 FILTEREnvelopes = 108, // 信封线 FILTERAlligator = 109, // 鳄鱼指标 FILTEROsMA = 1010, // 振荡器的移动平均 (OsMA) FILTERAO = 111, // 极佳振荡器 (AO) FILTERISH = 112, // 一目均衡表 FILTERAC = 113, // AC FILTERBAR = 114, // BAR 熊/牛 FILTERADX = 115, // 平均趋向指数 (ADX) FILTERBARrelativelyMA = 116, // 相对移动平均 BAR FILTERZigZag = 117, // 之字形指标 FILTERATR = 118, // 平均真实范围 (ATR) FILTERMFI = 120, // 资金流量指数 (MFI) FILTERFractals = 121, // 分形指标 |
FILTER_IndSigToTrade |
选择用于细化主要信号的指标和过滤器。 来自自定义指标 FilterNameIndicator 的策略编号。 如果在指标中未找到指定的策略,Expert Advisor (EA) 将因错误而从图表中卸载! 如果 IndSigToTrade 设置为0,则 Advisor 将仅基于过滤器进行操作! |
FILTER_TF_IndSigToTrade |
过滤器的时间框架。 您可以选择指标接收过滤器信号的时间框架。 Period_Current – 当前时间框架。 例如: 当使用 MA 作为主要信号,时间框架为 M30 时,您可以在较高的 MA 上启用时间框架为 H4 的过滤。 |
Filter_Reverse |
反转此过滤器的信号。 此选项仅反转此过滤器的信号。 例如: 主要指标 MA 显示 买入,但较旧的 MA 指标显示 卖出; 使用此功能时,较旧的 MA 的信号将被反转, resulting in an aggregate signal of 买入。 |
FILTERSIGNAL_shift | 指标将生成信号的 K 线编号。 – 1 = 最近已闭合的 K 线;该 K 线上的信号被视为已闭合。 – 0 = 当前未闭合的 K 线;该 K 线上的信号被视为绘制中;请小心。 关于此参数的更多信息: 信号 K 线详细文章 |
FilterBufferforBUYFilterBufferforSELL |
使用自定义指标中的缓冲区编号接收买入和卖出过滤信号。 不要更改 Ind – The xCustomEA 和 Ind – The xCustomEA Example The X。 |
SLTP 选项 | |
此区块允许您在基于信号开仓时设置 止损 (SL) 或 获利 (TP),这些信号可以来源于自定义指标缓冲区的值。 如果自定义指标具有用于获取 止损 (SL) 或 获利 (TP) 的单独缓冲区,您可以在开新仓时使用这些值。 注意: 止损 (SL) 或获利 (TP) 仅在使用新信号开仓时设置。 平均和额外开仓的功能使用来自过去变量的 止损 (SL) 和 获利 (TP) 参数。 来自自定义指标的在平均和额外开仓时获得的 止损 (SL) 和 获利 (TP) 不被接受。 使用 ForcedModifySLTP 功能时,也会设置来自自定义指标的 止损 (SL) 和 获利 (TP)。 您需要在 Advisor 中输入来自自定义指标的 止损 (SL) 和 获利 (TP) 值。然后,指定指标名称 (必须与用于开/关仓的指标名称相同)、一组参数(如果它们与默认指标设置不同)、时间框架、K 线偏移以及用于检索值的缓冲区编号。 这应分别针对买入和卖出仓位,并分别针对 止损 (SL) 和 获利 (TP)。 | |
SLTPNameIndicator | 接收 止损 (SL) 和 获利 (TP) 值的自定义指标名称。 |
SLTPTypeIndicator |
指标类型。 xPrice – 将从变量(止损 (SL),获利 (TP))中获取的价格值。 |
SLTPTimeFrame | |
SLTP_shift | |
SLTPStrategyInputs | |
SLTPBufferforBUY_StopLoss |
用于获取 买入 仓位的 止损 (SL) 值的缓冲区编号。 -1 表示此选项已禁用。 |
SLTPBufferforSELL_StopLoss |
用于获取 卖出 仓位的 止损 (SL) 值的缓冲区编号。 -1 表示此选项已禁用。 |
SLTPBufferforBUY_TakeProfit |
用于获取 买入 仓位的 获利 (TP) 值的缓冲区编号。 -1 表示此选项已禁用。 |
SLTPBufferforSELL_TakeProfit |
用于获取 卖出 仓位的 获利 (TP) 值的缓冲区编号。 -1 表示此选项已禁用。 |
功能和参数
参数 | 描述 |
---|---|
信号选项: 附加 信号处理(Signal Processing) 单元 | |
Show_alert_without_opening_positions |
警报(Alert) 如果此选项 启用 (TRUE),专家顾问(Expert Advisor) 将不会在信号上开设新的 仓位(Position) (交易(Deal)),而只会 通知 用户出现了新的信号。 在这种情况下,所有其他功能将正常运行。 这允许用户在顾问发出(创建)信号时自行开设 仓位(Position) (交易(Deal))。 但是,EA 不会创建此 交易(Deal) (仓位(Position)),也不会开设 仓位(Position) (交易(Deal)),而只是 提醒 用户有关信号的信息。 |
Send_Push_without_opening_positions |
推送通知(Push Notification) 如果此选项 启用 (TRUE),专家顾问(Expert Advisor) 将不会在信号上开设新的 仓位(Position) (交易(Deal)),而只会通过电话 通知 用户出现了新的信号。 在这种情况下,所有其他功能将正常运行。 这允许用户在顾问发出(创建)信号时自行开设 仓位(Position) (交易(Deal))。 但是,EA 不会创建此 交易(Deal) (仓位(Position)),也不会开设 仓位(Position) (交易(Deal)),而只是向用户发送有关信号的 推送通知。 |
OpenBarControlOnly |
顾问仅在新柱(BAR)开盘时操作。 此模式模拟顾问在柱开盘时的操作(如策略测试器中)。 当此模式 启用 (True) 时,专家顾问(Expert Advisor) 将完全按照 仅开盘价(OpenPriceOnly) 测试模式进行交易。 所有顾问功能将在新柱开盘时(取决于所选的时间框架)执行一次,包括修改、移动止损、平均、根据信号开仓等。 |
ControlNewBarforSIGNAL |
仅在每个新柱上检查指标信号(无需每个Tick检查)。 仅在 OWNSIGNAL_shift ≥ 1 和 IndSigToTrade ≠ NoSignal 时有效(使用 NoSignal 时,专家顾问(Expert Advisor) 会每个Tick检查过滤器值)。 当 ControlNewBarforSIGNAL = true 时,优化速度提升1.5倍! 1. ControlNewBarforSIGNALType = 1 = True,设置中的最小时间框架(TimeFrame):新模式! EA 选择由参数 TF_IndSigToTrade1、FILTER_TF_IndSigToTrade1、FILTER_TF_IndSigToTrade2 等设置的最小 时间框架(TimeFrame)。 在此模式下,EA 不会在当前 时间框架 上检查信号,而是在接收来自指标的信号的 时间框架 上检查信号! 此模式对于使用 TF_IndSigToTrade1、FILTER_TF_IndSigToTrade1、FILTER_TF_IndSigToTrade2 等而非当前 时间框架 的用户非常有用。 2. ControlNewBarforSIGNALType = 2 = True,当前时间框架的当前柱:旧模式! 在此模式下,EA 会检查当前 时间框架 的每个新柱以获取新信号! 如果你使用的是除当前 时间框架 之外的 TF_IndSigToTrade1、FILTER_TF_IndSigToTrade1、FILTER_TF_IndSigToTrade2,则每个 时间框架 的结果可能不同。 我们建议将 专家顾问(Expert Advisor) 安装在 时间框架 M1 上! 3. ControlNewBarforSIGNALType = 0 = False: 不使用新柱控制来确定信号! 注意:当此选项关闭 (false) 时,EA 会每个Tick检查信号!测试和优化可能会有延迟! |
ControlNewBarforOpenbySignal: |
ControlNewBarforOpenbySignal = true:旧模式! EA 仅在当前 时间框架 的每个新柱上根据信号开设 仓位(Position) (交易(Deal))! 如果有信号,EA 仅在当前 时间框架 的新柱到来时开设 仓位(Position) (交易(Deal))! ControlNewBarforOpenbySignal = false:新模式! EA 每当信号 时间框架(TimeFrame) 出现新柱时根据信号开设 仓位(Position) (交易(Deal))! 如果有信号,EA 会在检测到信号时立即开设 仓位(Position) (交易(Deal))! 此模式对于使用除当前 时间框架 之外的 TF_IndSigToTrade1、FILTER_TF_IndSigToTrade1 和 FILTER_TF_IndSigToTrade2 的用户非常有用。 |
ReverseSignal |
反转(Reverse)从主指标 + 过滤器接收的整体策略信号! 如果通用信号是开设 买入(Buy),那么 专家顾问(Expert Advisor) 将开设 卖出(Sell)! 如果通用信号是开设 卖出(Sell),那么 专家顾问(Expert Advisor) 将开设 买入(Buy)! |
开仓过滤器选项 | |
TypeTradeBUYSELL |
交易方向: – 买入和卖出 – 仅买入 – 仅卖出 注意:如果你使用挂单(而不是仓位)并且仅在一个方向操作,每次接收到新信号时,旧的挂单将被删除,并在新价格设置一个新的挂单。 |
MinuteToOpenNextPosition |
在最后一个开仓仓位后允许开设下一个信号 如果没有开设的 仓位(Position) (交易(Deal)),专家顾问(Expert Advisor)(EA)会考虑自上一个已关闭仓位以来的时间(分钟)。 时间被视为相同类型。 如果是 买入(BUY) 信号:自上一个已开/已关闭的 买入(BUY) 信号以来的时间… 如果是 卖出(SELL) 信号:自上一个已开/已关闭的 卖出(SELL) 信号以来的时间… 开设下一个 交易(Deal) 的分钟数,以接收指标的信号。 它允许在使用 OnlyOnePosbySignal = false 时过滤交易。 |
DistanceToOpenNextPosition |
在主信号上开设下一个仓位的最小距离 (如果 OnlyOnePosbySignal = false 且 OnePosPerDirection = false)。 如果 DistanceToOpenNextPosition 大于 0,则只有当前一个在信号上的 仓位(Position) (交易(Deal)) 获得了 DistanceToOpenNextPosition 的盈利点数(Pips)后,才能开设下一个 仓位(Position) (交易(Deal))! 如果 DistanceToOpenNextPosition 小于 0,则只有当前一个在信号上的 仓位(Position) (交易(Deal)) 在盈利或亏损的两侧达到 DistanceToOpenNextPosition 点数(Pips)时,才能开设下一个 仓位(Position) (交易(Deal))! |
OpenOppositePositionAfterStoploss |
在当前止损关闭时,EA 开设相反的仓位。 在接收到前一个 交易(Deal) 的止损后,立即开设相反的 仓位(Position) (交易(Deal)),无需使用指标信号。 如果最后一个 仓位(Position) 是由止损关闭的,专家顾问(Expert Advisor) 将立即开设相反的 仓位(Position)。 |
OnlyOnePosbySignal |
每个信号仅交易一个当前主仓位,且仅在一个方向上。 如果 专家顾问(Expert Advisor) 开设了一个 卖出(SELL) 仓位(Position),则所有其他 卖出(SELL) 信号将被忽略。 如果 专家顾问(Expert Advisor) 开设了一个 买入(BUY) 仓位(Position),则所有其他 买入(BUY) 信号将被忽略。 |
OnePosPerDirection |
在一个方向上开设一个交易(Deal), 例如: 如果 OnePosPerDirection = true 且 OnlyOnePosbySignal = false,则 EA 可以根据信号开设一个 买入交易(Deal) (仓位(Position)) 和一个 卖出交易(Deal) (仓位(Position)); 如果 OnePosPerDirection = false 且 OnlyOnePosbySignal = true,则 EA 只能根据信号开设一个 交易(Deal) (仓位(Position)),要么是 买入(Buy),要么是 卖出(Sell); 如果 OnePosPerDirection = false 且 OnlyOnePosbySignal = false,则 EA 可以为每个新的指标信号开设多个 交易(Deal) (仓位(Position)); |
OnlyOnePositionPerMagic |
每个魔术号码(Magic Number)仅开设一个仓位(Position)。 专家顾问(Expert Advisor) 会检查其他货币对中此魔术号码是否有未关闭的 仓位(Position) (交易(Deal))。 如果没有仓位,顾问将在信号处开设 交易(Deal),其余的顾问将等待此 交易(Deal) 完成。 如果 OnePosPerDirection = false,则 OnlyOnePositionPerMagic = true 的工作方式如下:每个魔术号码仅允许一个仓位; 如果 OnePosPerDirection = true,则 OnlyOnePositionPerMagic = true 的工作方式如下:每个魔术号码允许每个方向(买入和卖出)一个仓位; |
OnlyAlternateSignals |
仅允许逐个开设仓位。 如果最后一个已关闭的 仓位(Position) 是 卖出(SELL),下一个只能作为 买入(BUY) 开设! 必须在 无信号模式(No Signal Mode) (IndSigToTrade = No Signal) 下交易主要指标。 |
MAX_BUY_POSITION |
限制最大买入交易(仓位)的参数。 由指标信号开设的 仓位(Position) (交易(Deal)) 被计入。 平均和附加仓位不计入。 |
MAX_SELL_POSITION |
限制最大卖出交易(仓位)的参数。 由指标信号开设的 仓位(Position) (交易(Deal)) 被计入。 平均和附加仓位不计入。 |
MaxSpreadToNotTrade |
顾问可开仓的最大点差。 如果在接收信号时当前点差 大于 指定的 值,则指标信号将被 忽略,直到点差小于指定值。 |
MinSpreadToNotTrade |
顾问可开仓的最小点差。 警告:此过滤器仅用于根据信号、平均和附加开仓开设仓位。 所有其他功能正常运行。 警告:此过滤器仅适用于 仓位(Position)! 对于挂单(Pending Orders),此过滤器不适用。 因此,过滤器仅在使用 仓位(Position) 时有效。 |
Include_Commission_Swap |
启用功能时考虑作者计算的佣金和掉期(Commission and Swap): 保本(Stop Loss at Breakeven Point)、移动止损、平均。 作者对佣金的计算基于计算该符号和魔术号码的未平仓仓位1点(Pip)价值的公式;负掉期和佣金包含在计算中。 该功能返回负掉期和佣金的成本(以点数 Pips 计)并在与保本功能(Stop Loss at Breakeven Point)和移动止损一起工作时考虑这些成本。 注意:如果你的经纪商有浮动点差,佣金的结算会在操作保本功能(Stop Loss at Breakeven Point)和移动止损时执行和设置,但点差可能会增加,导致额外的亏损点数(Pips)。 这不是计算错误!还要考虑,当发生掉期时,顾问会重新计算保本线(Stop Loss at Breakeven Point)并设置新的止损(如果服务器允许,受限于经纪商的 StopLevel 的最小止损级别)。如果服务器不允许设置保本并返回最小止损级别错误,EA 将无法修改仓位,你可能会产生额外的亏损点数(Pips)。 为避免在使用带有负掉期的佣金时产生亏损,建议增加保本(Stop Loss at Breakeven Point)或移动止损之间的距离。保本级别(LevelWLoss)可以独立计算,考虑到佣金。 例如,如果开设和关闭一个仓位的佣金 = 2美元(EURUSD)每1手。 为了覆盖佣金的亏损,设置 LevelWLoss = 2(Pips) + 1(控制点) = 3 Pips。 因此,顾问将在 +3 Pips 处设置保本(Stop Loss at Breakeven Point),覆盖佣金的亏损。 |
关闭选项 | |
ClosePosifChange |
当总体指标信号反转时关闭仓位。 ClosePosifChange 与 ClosePositionifChangeOWNSignal 的区别在于,ClosePosifChange(true) 会考虑 所有过滤器 + 主(Main)信号 的信号变化。 当 ClosePositionifChangeOWNSignal(true) 时,仅在 主指标(Main Indicator) (IndSigToTrade) 上考虑信号变化。 它也适用于挂单。 |
ClosePosition_After_X_Minutes |
在设定分钟数后,EA 可以关闭仓位。 此外,专家顾问(Expert Advisor) 会检查已启用的 CloseChangeOnlyInProfit 参数: EA 只能关闭有盈利的仓位。 |
CloseChangeOnlyInProfit | EA 只能在当前仓位 盈利 时根据信号返回(改变信号方向)关闭交易。 |
挂单选项 | |
StopOrderUSE |
开设挂单或限价单而不是仓位。 1. FALSE:开设 仓位(Position)(买入,卖出); 2. TRUE:允许在收到信号时以 StopOrderDeltaifUSE 点数(Pips)的距离开设挂单或限价单。 因此,我们会重新检查信号的盈利性。 如果信号与价格走势一致,挂单将通过 StopOrderDeltaifUSE 点数(Pips)执行。 3. 使用虚拟挂单(Use Virtual Stop Orders):在距离 StopOrderDeltaifUSE 点数(Pips)的位置放置虚拟挂单; 4. 使用虚拟限价单(Use Virtual Limit Orders):在距离 StopOrderDeltaifUSE 点数(Pips)的位置放置虚拟限价单; 注意:(使用虚拟挂单(Use Virtual Stop Orders)) 和 (使用虚拟限价单(Use Virtual Limit Orders)) 仅在可视化模式或终端在你的电脑上运行的实时图表中有效。 它们在优化模式下不起作用! |
StopOrderDeltaifUSE |
开设止损或限价单的点数(Pips)。 距离当前价格。 |
StopOrderDayToExpiration |
StopOrderDayToExpiration = 订单到期的天数。 – 0 – ORDER_TIME_GTC:订单将一直在队列中,直到被移除; – 1 – ORDER_TIME_DAY:订单仅在当前交易日有效; – X – ORDER_TIME_SPECIFIED:订单将一直有效,直到到期日期。 如果你收到 Rejected 错误并将鼠标悬停在历史订单上,你会看到:(订单的 FOK 信息不完整), 如果你有 BCS 经纪商或 Open 经纪商,则需要设置: TypeFilling = ImmediateOrCancel 或 TypeFilling = Return DayToExpiration = 1 |
StopOrderBarToExpiration |
挂单在柱中的到期时间。 如果 StopOrderBarToExpiration = 10 且 TF = M1,则挂单将在安装后 10 分钟 后被 移除。 注意:每个经纪商对到期时间的参数有其最小时间限制。 |
ReInstallStopOrdersNewSignalAppears |
如果指标创建了新信号,则重置挂单。 允许你在指标生成新信号时 删除当前的 BUYSTOP 挂单 并在新水平上 安装新的 BUYSTOP 挂单。 |
交易选项 | |
Magic | 由顾问 EA 开设的仓位的魔术号码(Magic Number)。 |
Slippage |
开设和关闭仓位时的最大可能价格偏差(以点数计)。 例如: Slippage = 1 开设仓位时的最大价格偏差 = 开盘价 ± 1 点(Pip)。 Slippage = 100 开设仓位时的最大价格偏差 = 开盘价 ± 100 点(Pips)。 例如,如果开盘价为 1.12345, 但在发送和开设仓位(交易(Deal))期间,价格在 100 点(Pips)内变化,则 仓位(Position) (交易(Deal)) 将在 1.12245 – 1.12445 之间的价格开设。 |
MarketWatch |
对于在 MARKET 执行账户上具有止损/获利目标的已开仓位。 首先,EA 可以开设 仓位(Position) (交易(Deal)),成功开设后,将修改此 仓位(Position) (交易(Deal)) 的 止损(StopLoss) 和 获利目标(TakeProfit) 水平。 如果你的账户在 ECN 或 NDD 组中,必须将此选项设置为 true。 |
CommentToOrder |
在已开仓位上的附加评论。 你可以在这里指定一个附加评论,该评论将添加到已开设的 仓位(Position) 中以区分设置,例如。 标准评论: “The X” + CommentToOrder |
RoundingDigits |
EA 在开设和修改订单及仓位(交易)时可以四舍五入所有价格。 选项: – 不四舍五入, – 四舍五入到1位, – 四舍五入到2位。 该功能为 黄金 和 白银 以及需要指定Tick精度的经纪商创建。 例如: 交易开设价格 = 1.12345 四舍五入到1位 = 1.12340 四舍五入到2位 = 1.12300 |
TypeFilling |
仓位和订单的填充类型。 用于 MT5 终端。 自动(AUTO)模式,专家顾问(Expert Advisor) 尝试自动确定填充类型。 但是,在某些情况下,需要手动设置填充类型。 如果在开设仓位时收到错误:10030 TRADE_RETCODE_INVALID_FILL, 不支持的执行类型, 根据你的经纪商规则设置填充类型。 例如: FillOrKill 此执行策略意味着订单只能以指定数量执行。如果市场当前没有足够数量的金融工具,订单将不会执行。所需的数量可以由市场上当前可用的多个报价组成。 ImmediateOrCancel 这意味着同意在市场中以指定限制内的最大可用数量执行交易。如果无法完全执行,订单将以可访问的数量执行,未执行的订单数量将被取消。 Return 此模式用于市场、限价和止限价订单,仅在“市场执行(Market Execution)”和“股票执行(Stock Execution)”模式下。在部分执行的情况下,剩余数量的市场或限价订单不会被撤回,而是继续操作。 对于止限价订单,激活时将创建具有执行类型 Return 的相应限价订单。 |
止损选项 | |
VirtualStops |
启用虚拟止损/获利/移动止损而不是实际的。 使用 虚拟(Virtual)(不可见)水平来设置 止损(StopLoss)/获利目标(TakeProfit)/移动止损(TrailingStop)/保本(BreakEven Stop Loss)。 我们完全重新设计了 虚拟止损(Virtual StopLoss)/获利目标(TakeProfit)/移动止损(TrailingStop)/保本(BreakEven) 的算法(安装保本点的止损)。 现在,所有虚拟止损都显示在图表上,并且在这些水平关闭仓位时是关键的。 所有关于虚拟水平的数据都以线条和全局变量的形式添加到图表中。 注意:如果你删除了图表上的止损线和全局变量,虚拟关闭将无法在此线工作。 注意:检查你的专家和指标以从图表和全局变量中删除线条! 注意:虚拟水平在当前价格触发后进行关闭。 在关闭过程中,可能会有几点的滑点! 注意:在 MT4 中,VirtualStops 在 优化 模式下不起作用。 注意:启用 VirtualStops 时,测试速度显著降低。 注意:虚拟 SL/TP/TS 没有限制和服务器禁令。因此,它们可以在当前价格设置,导致立即关闭。 |
SetMinStops |
自动将专家顾问的所有参数标准化到最小可接受的止损水平。 使用 虚拟止损(Virtual Stops) 时,此参数无效。 使用 AutoSetMinLevel 时,止损水平将调整到服务器允许的最低可能水平; 如果 止损(Stop Loss) 或 获利目标(Take Profit) 水平低于服务器上的最小止损水平,则 止损(Stop Loss)/获利目标(Take Profit) 水平 = 服务器上的最小止损水平(点差*2 或固定水平) + 点差。 使用 ManualSet 时,用户将收到一条消息,提示 EA 的止损水平低于最低水平,EA 将收到服务器的错误。 如果服务器上的止损水平是浮动的,则最小止损水平将自动计算为 点差*2。 |
StopLoss | 每个你开设的 仓位(Position) (交易(Deal)) 的 止损(StopLoss),以 Pips 计。 |
TakeProfit | 每个已开设的 仓位(Position) (交易(Deal)) 的 获利目标(TakeProfit),以 Pips 计。 |
ForcedModifySLTP |
强制修改仓位:设置止损和获利目标。 专家顾问(Expert Advisor) 将 强制修改 所有其仓位的 止损(StopLoss) 和 获利目标(TakeProfit)。 例如: 如果经纪商的服务器开设了一个 交易(Deal) 但未返回其票据,则专家将强制检查所有其仓位。 如果 EA 发现仓位的 止损(StopLoss) 或 获利目标(TakeProfit) 为 0,专家顾问(Expert Advisor) 将强制修改 止损(StopLoss) 和 获利目标(TakeProfit)。 |
TimeToCheckAverageSpread |
此功能的算法来自我们的自动化 TickSniper Scalper 销售顾问。 在 止损(Stops SL TP TS)选项 块中添加了参数: – TimeToCheckAverageSpread:确定平均点差的次数(毫秒,20,000 = 20秒) – AutoCheckLowSpread:自动确定低点差。 自动确定点差是否过低(小于1点(Pip))并将所有系统设置设置为可能的最低点差。 这可以保护系统免受经纪商点差降低的影响。 使用方法: 对于基于货币对平均点差计算的 Pips 参数,使用“–”符号指定设置。 例如: StopLoss = 2000 意味着每个仓位的 StopLoss 为 2000 点(Pips)! StopLoss = -100 意味着每个仓位的 StopLoss 将等于 100 * 平均点差(Average Spread),由 专家顾问(Expert Advisor) 在 TimeToCheckAverageSpread 毫秒内计算。 如果点差为 20 点(Pips),则开设时的 StopLoss 将为 2000 点(Pips)。 使用浮动点差时,此值始终变化。 可在点差模式下设置的参数:Distance、DistanceAdditionalOpening、StopOrderDeltaifUSE、StopLoss、TakeProfit、TrailingStop、TakeProfitALL、StopLossALL、LevelWLoss、LevelProfit。 平均和当前点差,以及自动低点差水平,将在我们的面板的策略信息部分显示。 |
手数选项 | |
Lots | 用于开设仓位(交易)或订单的固定手数(Volume)。 |
AdditionalLots – 每个新信号基于新信号将添加到每个新交易的附加手数(Volume)。 CoefficientLots – 手数系数,每个新交易的手数将乘以此系数。 仅在(当顾问被允许为每个信号开设多个仓位 OnlyOnePosbySignal = false / OnePosPerDirection = false 时) | |
DynamicLot |
动态手数(Dynamic Lot),自动手数(AutoLot),用于开设仓位。 你可以根据可用保证金百分比和其他因素启用动态手数计算。 我们的 AutoLot 计算方法。 AutoLot 计算类型: BALANCE – AutoLot 根据当前余额计算。基于账户余额的手数计算!如果账户上有未平仓仓位,下一个手数将大致相同,因为余额不会因当前未平仓仓位的数量而减少! FREEMARGIN – 基于当前可用保证金的标准手数计算,账户上未平仓仓位越多,下一仓位的手数越小。因为开设仓位时,保证金减少,相应地,每个新开仓位的手数在计算 AutoLot 时都会变小。 |
DynamicLotStopLoss |
从止损(SL)风险计算的自动手数 – 在以 止损(StopLoss) 关闭 交易(Deal) 时的余额最大亏损百分比。 在计算手数时,我们的 专家顾问(Expert Advisor) 会考虑 止损(StopLoss)(在开设 交易(Deal) 时)。 如果 交易(Deal) 在 止损(StopLoss) 处关闭,此 交易(Deal) 的亏损将等于余额的 %(在开设 交易(Deal) 时)。 重要:如果在开设 交易(Deal) 后更改了 止损(Stop Loss),则无法更改 交易(Deal) 的手数。在关闭 交易(Deal) 时,亏损可能更多或更少。 重要:如果使用 移动止损(Trailing Stop),止损(Stop Loss) 会随着每个Tick变化,但手数无法更改。 公式和代码:https://expforex.com/zh//my-autolot-secrets-dynamiclot-autolot/#eb-table-content-5 |
LotBalancePercent | AutoLot 百分比。 |
RiskRate |
你货币对美元(或你的账户货币)的汇率。 默认情况下,RiskRate = 0,这意味着 专家顾问(Expert Advisor) 会尝试在 市场观察(Market Watch) 中找到正确的汇率。 为了使 AutoLot 能够在所有货币对上正常工作,你需要在 市场观察(Market Watch) 中启用 “显示所有货币对(Show All Currency Pairs)”。 |
MaxLot | 专家顾问在计算 AutoLot 和首次主仓位的 Martingale 时可以开设的最大手数。 |
Martin |
Martingale。上一次亏损仓位手数的标准倍增。 如果 Martin = 1,则不启用 Martingale(固定手数 Volumes)。 如果 Martin = 0,则 专家顾问(Expert Advisor) 不能开设下一个仓位。 如果 Martin = 2,则第一手数 = 0.1,第二手数 = 0.2,依此类推:0.4 – 0.8 – 1.6 – 3.2 – 6.4… 如果 Martin = 0.5,则第一手数 = 1,第二手数 = 0.5,依此类推:0.25 – 0.125。 |
平均器选项:用于平均仓位、逆势开仓的功能块阅读更多:Exp – Averager. 平均交易仓位。逆势和顺势开仓! | |
UseAverAdditionalOpeningOrderinOne |
附加交易(Deals)和平均交易(Averaging Deals)共用的仓位(Position)数量。 注意! 仅适用于 MT4 版本! |
AverageUSE |
启用平均功能。 如果主 仓位(Position) 亏损了一定数量的点数(Pips),我们的 专家顾问(Expert Advisor) 会开设一个相同类型的 仓位(Position)(逆势)。 因此,平均了第一个仓位。 专家顾问(Expert Advisor) 的所有功能(移动止损(Trailing Stop)、保本(Stop Loss at the Breakeven Point))将从 仓位(Position) 的平均(中线)处工作,该平均线是基于所有相同类型的 仓位(Position) (交易(Deal)) 计算得出的。 例如: 你以价格 1.600 开设一个 买入(BUY) 仓位(Position); 价格下跌到 1.500,当前亏损为 -100 点; 保本点(平均价格)= 1.600; 要将 止损(Stop Loss) 修改为保本水平,需要上涨100点向上趋势; 如果我们以价格 1.500 开设 买入(BUY) 仓位(Position),则我们的仓位被平均,保本可以设置为 1.550; 要关闭两个交易,价格必须上涨50点,而不是100点。 专家顾问(Expert Advisor) (EA) 启动 移动止损(Trailing Stop),并且两个 仓位(Position) 获利以增加它。 注意:对于不同手数(Volumes)的 仓位(Position),平均价格是使用数学公式计算的。 |
TakeProfitALL |
所有仓位的总获利目标。 TakeProfit 将在开设 仓位(Position) 的平均价格处设置 TakeProfitALL 点数的距离。 如果你设置 TakeProfitALL = 5 点,这意味着获利目标将从中线设置在5点的距离处。 |
Distance |
平均网格开设仓位的距离。 根据信号相反的多少点数开设下一个平均 仓位(Position) (交易(Deal)),从同一类型的最后一个已开仓位后。 你可以设置100点(Pips)。 然后,每个新的平均 仓位(Position) 将在上一个已开仓位亏损100点后开设。 你可以设置 50 点(Pips)。 然后,每个新的附加 仓位(Position) (交易(Deal)) 将在上一个已开仓位亏损100 + 50点后开设(100, 150, 200, 250, 300)。 |
DistanceMartin |
每笔交易距离平均值的增加系数。 你可以将其设置为 1.5。 然后,每个新的平均 仓位(Position) 将在上一个已开仓位亏损100 + 50(100*1.5)点(Pips)后开设(100, 150, 225, 337, 506)。 |
LotsMartin |
系数:为网格仓位增加手数(Volume)。 每个下一个平均 仓位(Position) 的手数将乘以此系数。 例如: 主 仓位(Position) 的起始手数(Volume)= 0.1 LotsMartin = 2,则 开设的下一个平均 仓位(Position) 的手数(Volume)将为0.2, 0.4, 0.8,依此类推。 注意:中线将使用基于手数的公式计算。 这允许你将保本水平(中线)更接近当前价格。 然而,Martingale 可能对你的账户有危险。 请计算此参数以确保你的存款能够承受这样的负载。 |
LotAdditional |
下一个平均仓位的附加手数(Volume)。 例如: 主 仓位(Position) 的起始手数(Volume)= 0.1; LotAdditional = 0.05,则 下一个开设的平均 仓位(Position) 的手数将为0.15, 0.2, 0.25,依此类推。 |
MaxOrdersOpen |
在一个方向上对该货币对开设的最大仓位数量(分别对买入和卖出)。 如果仓位网格达到 MaxOrdersOpen,则后续的平均 交易(Deal) 将被忽略。 |
附加开仓:顺势开设仓位的功能块阅读更多:Exp – Averager. 平均交易仓位。逆势和顺势开仓! | |
AdditionalOpening |
启用附加交易开设。 如果主 仓位(Position) 因一定数量的 交易(Deal) 而盈利,我们的顾问会开设一个相同类型的 仓位(Position)。 因此,平均了第一个仓位。 这有助于利用有利的信号。 专家顾问(Expert Advisor) 的所有功能(移动止损(Trailing Stop)、保本(Breakeven) 等)将从所有相同类型的 仓位(Position) (交易(Deal)) 计算得出的中线处工作。 例如: 你以价格 1.600 开设一个 买入(BUY) 仓位(Position); 价格上涨到 1.700,当前盈利为 +100 点; 保本点(平均价格)= 1.600; 如果我们以价格 1.700 开设 买入(BUY) 仓位(Position),则我们的仓位被平均,保本可以设置为 1.650; 专家顾问(Expert Advisor) 开设 3 个附加的 仓位(Position) (交易(Deal))。 价格回调。 专家顾问(Expert Advisor) (EA) 启动 移动止损(Trailing Stop),并且 5 个 仓位(Position) 获利以增加它。 注意:对于不同手数(Volumes)的 仓位(Position),平均价格是使用数学公式计算的。 |
StopLossALL |
所有仓位的总止损。 StopLoss 将在开设 仓位(Position) 的平均价格处设置 StopLossALL 点数的距离。 如果你设置 StopLossALL = 5 点,这意味着止损将从中线设置在5点的距离处。 |
DistanceAdditionalOpening |
附加网格仓位开设的距离。 根据信号的顺势多少点数开设下一个附加 仓位(Position) (交易(Deal)) 你可以设置 50 点(Pips)。 然后,每个新的附加 仓位(Position) (交易(Deal)) 将在上一个已开仓位亏损100 + 50点后开设(100, 150, 200, 250, 300)。 |
LotsMartinAdditionalOpening |
系数:为网格仓位增加手数(Volume)。 每个下一个附加 仓位(Position) 的手数将乘以此系数。 例如: 主 仓位(Position) 的起始手数(Volume)= 0.1 LotsMartinAdditionalOpening = 2,则 开设的下一个附加 仓位(Position) 的手数(Volume)将为0.2, 0.4, 0.8,依此类推。 注意:中线将使用基于手数的公式计算。 这允许你将保本水平(中线)更接近当前价格。 然而,Martingale 可能对你的账户有危险。 请计算此参数以确保你的存款能够承受这样的负载。 |
LotAdditionalOpening |
下一个附加仓位的附加手数(Volume)。 例如: 主 仓位(Position) 的起始手数(Volume)= 0.1; LotAdditionalOpening = 0.05,则 下一个开设的附加 仓位(Position) 的手数将为0.15, 0.2, 0.25,依此类推。 |
MaxOrdersOpenAdditionalOpening |
在一个方向上对该货币对开设的最大仓位数量(分别对买入和卖出)。 如果网格仓位达到 MaxOrdersOpenAdditionalOpening,则后续的附加 仓位(Position) 将被忽略。 |
交易时间管理选项:管理交易时间和时间限制的功能块 | |
TradeStartStopbyTime |
TradeStartStopbyTime 是用于启用 EA 在指定时间限制内操作的功能。 如果 TradeStartStopbyTime = false,则 专家顾问(Expert Advisor) 会全天候交易。 如果 TradeStartStopbyTime = true,则启用交易时间限制: |
SeveralTimeWork |
你还可以在 SeveralTimeWork 参数中指定多个交易时间段。 记录格式:HH:MM-HH:MM; 其中: 开始交易的小时:开始交易的分钟 – 结束交易的小时:结束交易的分钟。 例如, SeveralTimeWork = 3:00-5:00;7:30-8:50;12:00-15:00; 然后,专家顾问(Expert Advisor) 将在以下时间段内交易: 从 3:00 到 5:00; 从 7:30 到 8:50; 以及从 12:00 到 15:00。 顾问不会在其他时间开设新交易。 |
OpenHour OpenMinute |
专家顾问(Expert Advisor) 根据以下参数检查交易时间: OpenHour:OpenMinute – 交易开始; CloseHour:CloseMinute – 当天交易结束。 例如: OpenHourMonday = 5 和 OpenMinuteMonday = 0,以及 CloseHourMonday = 18 和 CloseMinuteMonday = 59, 则 EA 将每天从 5:00 到 18:59 交易。 |
ClosePeriod_Minute |
如果你想从开始时间指定交易周期,可以设置 ClosePeriod_Minute 参数,该参数是以分钟为单位的周期。 例如: OpenHour = 6,OpenMinute = 0,以及 ClosePeriod_Minute = 180。 然后,顾问将在 6:00 到 9:00(6 + 180 分钟 = 9:00)之间设置交易时间。 |
CloseAllTradesByOutOfTime |
在非交易时间关闭所有已开交易和挂单(如果 CloseAllTradesByOutOfTime = true)。 在这种情况下,专家顾问(Expert Advisor) 将在指定时间内进行交易,交易时间结束时,顾问将关闭所有已开 仓位(Position) 和 订单(Order)。 – 不使用(Not Use) = 不使用此功能; – 仓位和订单(Positions and Orders) = 关闭 仓位(Position) 和挂单(Order); – 仅仓位(Only Positions) = 仅关闭 仓位(Position) (BUY 和 SELL); – 仅订单(Only Orders) = 仅关闭挂单(BUYSTOP、SELLSTOP、BUYLIMIT 和 SELLLIMIT)。 |
TradeByDays |
在此块中,你可以指定 交易日(Trading Days):TradeByDays。 例如, TradeByDays = true 和 Days = 1,2,3 – 在这种情况下,专家顾问(Expert Advisor) 仅在 星期一(Monday)、星期二(Tuesday) 和 星期三(Wednesday) 进行交易,按照上述设置的时间。 或者,如果未设置时间,则全天候交易这3天。 如果你设置 Days = 1,2,3,4,5 但参数 TradeStartStopbyTimeFriday = false,则 专家顾问(Expert Advisor) 不会在 星期五(Friday) 进行交易。 |
DayForOptimization |
在 DayForOptimization 参数中设置一个用于优化的日。 此选项有助于确定优化期间哪些天最具盈利性。 例如, 如果 DayForOptimization = 3,则 EA 仅在 星期三(Wednesday) 进行交易。 |
TradeStartbyTimeMonday |
如果通过 TradeStartbyTimeMonday = true 在时间 OpenHourMonday: OpenMinuteMonday 设置,专家顾问(Expert Advisor) 将在星期一开始工作。 例如, OpenHourMonday = 3 和 OpenMinuteMonday = 40,则 EA 将在星期一的 03:40(服务器时间)开始交易。 (根据你的经纪商在市场观察中的时间)。 |
TradeStartStopbyTimeFriday |
TradeStartStopbyTimeFriday – 星期五的交易时间。 在我们的 专家顾问(Expert Advisor) 中,你可以设置星期五的交易时间。 星期五的时间选项:OpenHourFriday: OpenMinuteFriday – CloseHourFriday: CloseMinuteFriday 例如,如果你需要顾问在星期五的 18:00 后不再开设新交易,设置: OpenHourFriday = 0:OpenMinuteFriday = 0 – CloseHourFriday = 18:CloseMinuteFriday = 0 在这种情况下,顾问将在 18:00 后不再开设新交易。 |
CloseFriday | 如果 CloseFriday = true,你还可以在星期五的设定时间 18:00 关闭所有已开交易和挂单。 |
无亏损保本选项:保本功能(在特定时刻设置止损至保本) | |
MovingInWLUSE |
启用保本功能。 该功能在仓位达到 LevelProfit 点数的盈利时,通过 LevelWLoss 点数修改 止损(Stop Loss)。 来自 www.expforex.com 的专家功能特性 例如: LevelWLoss = 50,LevelProfit = 200 一旦仓位积累了200点的盈利,仓位的 止损(Stop Loss) 将被修改为仓位开设价格(+ 点差)+ 50 点。 例如: LevelWLoss = 0,LevelProfit = 100 一旦仓位积累了100点的盈利,仓位的 止损(Stop Loss) 将被修改为仓位开设价格(+ 点差)。 注意:如果启用了平均或附加功能 (true): 则在开设2个或更多 仓位(Position) 时,顾问会从平均价格而不是仓位开设价格启用保本功能。 |
LevelWLoss |
启用此功能时,在 仓位(Position) 达到的盈利点数(LevelWLoss)处设置 止损(Stop Loss)。 1 = 1 点盈利; 0 = 自动最小盈利模式。 如果为 0,则保本所需的盈利点数 = 当前货币对的点差。 |
LevelProfit |
仓位积累的盈利点数(LevelProfit),以设置 止损(Stop Loss) 至 LevelWLoss 点数(Pips)。 LevelProfit 必须大于 LevelWLoss。 |
标准移动止损选项(通过将止损修改为盈利!) | |
TrailingStopUSE |
启用标准移动止损功能。 注意:如果启用了平均或附加功能,并且开设了2个或更多 仓位(Position),则 专家顾问(Expert Advisor) 会从平均线而不是开设价格启用移动止损功能。 平均价格显示在图表上。 |
IfProfTrail |
如果为 “true” – 专家顾问(Expert Advisor) 仅在仓位达到保本(Stop Loss at Breakeven Point) + 移动止损(Trailing Stop) 点数(Pips)的盈利时开始修改。 如果为 “false” ,则 移动止损(Trailing Stop) 会在仓位开设后立即开始工作,并且仓位会在价格移动后设置为盈利并拉动。 |
TrailingStop |
当前价格到止损的点数距离。 如果当前盈利为200点(Pips),且 TrailingStop = 100,则 止损(Stop Loss) 将设置在 +100 点。 因此,价格有回调最多100点(Pips)的可能性。 否则,止损(StopLoss) 将激活,仓位将在 +100 点(Pips)处关闭。 |
TrailingStep | 启用移动止损功能时止损的步进。 |
SaveTPafterTrailingStop |
启用后,移动止损(Trailing Stop) 激活后,已修改仓位的 获利目标(Take Profit) 将不会被更改。 例如: SaveTPafterTrailingStop = false: 当运行 移动止损(Trailing Stop) 时,已修改仓位的 获利目标(Take Profit) 将被删除(设置为0); SaveTPafterTrailingStop = true: 当 移动止损(Trailing Stop) 激活时,已修改仓位的 获利目标(Take Profit) 将被保留。 |
基于 SAR 的移动止损:抛物线 SAR(在抛物线 SAR 指标上设置和修改止损) | |
TrailingStopSAR |
你可以启用 (true) 基于 抛物线 SAR(Parabolic SAR) 指标的 移动止损(Trailing Stop) 功能。 注意:如果指标对仓位处于亏损状态,专家顾问(Expert Advisor) 会等待直到抛物线点对仓位盈利。 如果你有2个或更多平均 仓位(Position),则保本(Stop Loss at Breakeven Point)将从 仓位(Position) 的平均价格考虑。 |
TrailingStopSAR_TimeFrame | 抛物线 SAR 指标的时间框架。 |
maximum | 抛物线 SAR 指标设置。 |
达到盈利或亏损时关闭所有仓位选项在达到总盈利/亏损时通过利润移动功能在 MetaTrader 中关闭仓位。此功能是 CloseIfProfitorLoss with Trailing 的一部分。使用利润移动控制总盈利或亏损。 | |
TypeofClose |
在达到总盈利或亏损时的关闭类型,以美元(存款货币)、点数(Pips)、余额百分比或权益百分比计。 此块允许你在所有 仓位(Position) 的总盈利或亏损达到设定值时关闭该货币对的所有 仓位(Position)。 |
SeparateBuySell |
分别计算和关闭两个不同方向的仓位:买入和卖出。 如果 SeparateBuySell = true,则 专家顾问(Expert Advisor)(EA) 会分别关闭买入和卖出方向的总盈利或亏损。 如果 SeparateBuySell = false,则 专家顾问(Expert Advisor)(EA) 会同时关闭买入和卖出方向的总盈利或亏损。 要使 专家顾问(Expert Advisor) 关闭两种类型的 仓位(Position) (交易(Deal),BUY 和 SELL),这两种仓位的总盈利必须超过设定值。 注意:如果 OnlyOnePosbySignal = false 和 OnePosPerDirection = false,或者任何允许你在每个方向和每个方向开设多个仓位的设置。 |
CloseProfit |
以总盈利关闭仓位。 True – 启用, False – 禁用。 |
prifitessss |
用于关闭的单位数(美元(或存款货币)、点数(Pips)、百分比)。 如果该货币对的 仓位(Position) 的总盈利大于或等于 prifitessss 的值,则所有 仓位(Position) 将被关闭。 |
CloseLoss |
在总亏损时关闭仓位。 True – 启用, False – 禁用。 |
lossss |
用于关闭的单位数(美元(或存款货币)、点数(Pips)、百分比)。 如果该货币对的 仓位(Position) 的总亏损大于或等于 lossss 的值,则所有 仓位(Position) 将被关闭。 |
TrailOptions |
在超过 prifitessss 单位时启用总盈利的移动。 此选项定义从 prifitessss 参数启用利润移动的距离。 例如, prifitessss = $100(存款货币),TrailOptions = $10。 然后,当 仓位(Position) 获得 $100 的盈利时,专家顾问(Expert Advisor) 将不会关闭这些 仓位(Position),而是将盈利水平设置为 $90。 此后,如果盈利增加1美元并达到 $101,盈利水平将固定在 $91。 如果盈利减少并达到 $91,所有 仓位(Position) 将在此水平关闭。 |
TrailOptionsStep | 启用移动止损功能时增加固定盈利水平的步进。 |
BalanceStart |
起始余额,用于计算余额的百分比。 如果设置为 0,则使用 当前账户余额。 |
ForcedClose | 在价格达到总盈利或亏损后强制关闭所有仓位(交易)。 |
MailSend | 在因总盈利或亏损而关闭仓位(交易)时发送电子邮件。 |
Orderdelete | 在因总盈利或亏损而关闭仓位(交易)时删除挂单。 |
OFFAfterClosePROF |
在因总盈利而关闭后禁用专家顾问(EA)。 专家顾问(Expert Advisor) 将停止操作,不再开设新的 仓位(Position) (交易(Deal)) 和订单! |
OFFAfterCloseLOSS |
在因总亏损而关闭后禁用专家顾问(EA)。 专家顾问(Expert Advisor) 将停止操作,不再开设新的 仓位(Position) (交易(Deal)) 和订单! |
CloseTerminalAfterClosePROF | 在因总盈利而关闭后关闭终端。 |
CloseTerminalAfterCloseLOSS | 在因总亏损而关闭后关闭终端。 |
限制亏损和盈利在特定期间限制亏损和盈利。限制每日/每周/每月的亏损和盈利。 Limiting LimitFor – 限制类型:日/周/月; LimitForLosses – 亏损限制; LimitForProfits – 盈利限制; LimitType – 按美元、点数、账户余额百分比限制; ClosebyLIMITING – 当超出限制时关闭顾问的 交易(Deal); UseCurrentProfit – 在计算限制时考虑当前盈利/亏损; 此功能可以在账户在 日/月/周 内获得一定的 盈利/亏损 后 关闭 专家顾问(Expert Advisor) 的操作。 下一次 专家顾问(Expert Advisor) 的操作将从第二天、第二周或第二月开始。 例如,LimitFor = DAY,LimitForProfits = 10 美元; 你还可以选择 LimitType 进行计算(按美元、点数、账户余额百分比)。 如果你需要在超出限制时关闭并删除此 专家顾问(Expert Advisor) 的所有 交易(Deal),请设置 ClosebyLIMITING = true。 UseCurrentProfit 启用/禁用此 专家顾问(Expert Advisor) 的当前浮动盈利/亏损的计算。 | |
回撤选项控制回撤期间开设仓位的功能块。 DrawDown_Level – 启用回撤控制块; Type_DrawDownHR – 基于历史交易和当前交易计算回撤的类型; DrawDown_Level_One – 第一回撤水平,按百分比计; Type_Deal_Level_One – 达到第一回撤水平时的操作(关闭新交易,关闭平均交易或附加开仓,关闭所有交易); DrawDown_Level_Two – 第二回撤水平,按百分比计; Type_Deal_Level_Two – 达到第二回撤水平时的操作(关闭所有盈利仓位,关闭所有亏损仓位,全部关闭)。 例如: DrawDown_Level = true, DrawDown_Level_One = 50, Type_Deal_Level_One = No_NewDeal, DrawDown_Level_Two = 90, Type_Deal_Level_Two = Close_All。 使用这些设置,一旦当前回撤超过存款的 50%,EA 将无法根据信号开设新的 交易(Deal)。 同时,平均功能将继续运行。 当回撤超过 90% 时,EA 会立即关闭所有 交易(Deal)。 | |
虚拟提款虚拟提款工具在策略测试中用于模拟存款操作(存款补充、存款提款)。 在测试器中添加了虚拟提款功能: Withdrawal – 在策略测试中启用虚拟提款功能; Withdrawal_mode – 提款模式,以存款货币或账户余额的百分比计; Withdrawal_amount – 提款次数; Withdrawal_periodicity_days – 提款频率,以天计; Withdrawal_Max – 最大提款金额; Withdrawal_EndOfTest – 测试结束后提款; | |
OnTester_Custom在测试器块中,添加了变量 OnTester_Custom_max,你可以在其中定义遗传优化的标准。 有关测试结果的更多详细信息:统计信息 以公式形式记录。 例如: OnTester_Custom_max = “STAT_PROFIT * STAT_TRADES / STAT_EQUITY_DD” 必须按参考文档中指定的名称指定变量! 你可以设置遗传枚举期间优化将考虑结果的最小值! 换句话说,你可以设置一个条件:“最小 交易(Deals) 数量”(或其他参数),在满足此条件时,此运行将被计为结果。 如果在选择过程中,顾问开设的 交易(Deal) 少于设置中的规定,则此优化运行不会被计为结果! —注意! 仅适用于高级用户。 OnTester_Min_Trades = 0; // 优化的最小交易 OnTester_Min_Profit = 0; // 优化的最小盈利 OnTester_Min_ProfitFactor = 0; // 优化的最小盈利因子 OnTester_Min_Balance = 0; // 优化的最小余额 OnTester_Min_Equity = 0; // 优化的最小权益 OnTester_Max_Balance_DD = 0; // 优化的最大余额回撤百分比 OnTester_Max_Equity_DD = 0; // 优化的最大权益回撤百分比 详细用户指南 |
FAQ xCustomEA
Our General FAQ
FAQ Answers to the most popular questions
我应该使用哪个指标?
哪个过滤器适合我的指标?
我在哪里可以找到好的指标?
你能创建一个策略吗?
你提供定制编程服务吗?
你好。
我将尝试更详细地回复你的评论:
十五年前,我开始进行定制编程。客户向我发送他们的规格,我根据他们的需求开发了Expert Advisor(EA)。
我已经完成了许多编程项目。
许多项目彼此相似。
它们具有相同的功能需求。
最终,我对编程感到厌倦,因为每个任务都与之前的任务相似。
因此,我创建了xCustomEA Expert Advisor,让用户可以自行定制。
最重要的是,这个EA没有任何交易策略。它纯粹是一个工具。
它的主要功能是基于你的指标进行交易。它执行你的策略。
我没有任何特定的指标过滤器可以覆盖“市场上的所有指标”。
为什么我要说“所有”?
因为这是一个通用的Expert Advisor,没有内置策略。它根据你在设置中配置的指标信号进行交易。
我停止提供定制编程服务,因为我已经没有能力承担定制项目。
现在,我只开发我自己的工具和交易程序。
你的指标,提供信号的指标,盈利能力不够吗?
如果是这样,你需要找到那些盈利并能产生令人满意回报的指标。
我不提供这样的指标。
这个顾问是一个基于你的指标操作的通用交易工具。
这是一个交易机器人模板。
在视频中,我解释了最重要的方面:为什么我创建了这个程序。
我将回答你的问题,并协助你编程你的指标。
但请不要问我在你的信号中使用哪个过滤指标。
我无法确定在你的特定信号中使用哪个过滤器。
这些是你的信号。
我可以解释我的Expert Advisor的功能。
我可以尝试帮助你编程你的策略。
然而,如果你想使用我的信号,最好利用我的策略,TickSniper – 完全自动化交易机器人。
参数中的值是以点还是点数(pips)表示的?
它们是以点为单位!值来自Point变量。
- 如果你使用的是5位或3位经纪商,那么1点 = 0.00001或0.001
- 如果你使用的是4位或2位经纪商,那么1点 = 0.0001或0.01
输入与你的特定经纪商相对应的值(在字段中)。
关于点和点数(pips)的定义有很多争论。
我使用通用值(Point = Pip)。
这些值与你的经纪商的值匹配。
你有这个Expert Advisor的套件和设置吗?
不,我将Expert Advisor开发为一个构建器。
这个EA需要你自己进行优化。
根据你的策略和能力,使用我们的功能进行定制。
不想优化?下载我的初学者顾问: Tick Hamster 或 TickSniper。
为什么MT4和MT5终端的测试结果不同?
因为它们是不同的终端,具有不同的报价历史和策略测试器中的不同原理。
你为你的信号使用什么设置?
默认设置。
我只测试这个顾问的功能,而不测试其盈利能力。
为什么?
因为这个顾问是作为一个构建器创建的,每个用户必须开发自己的策略。
想要我的策略?TickSniper已经设置了一个自动交易机器人。
为什么使用虚拟止损和真实止损的结果差别很大?
虚拟止损不会因为点差增加、止损级别增加或价格变化而遇到订单修改错误。
它在任何情况下都能调整到所需的级别。
所有顾问条目都写入全局变量。
真实止损可能会因为点差增加、最低止损级别增加和价格变化而遇到修改错误。因此,它只能调整到服务器允许的级别。
由于这种偏移,关闭这些头寸时,虚拟关闭的时间间隔可能完全不同。真实止损可能在其他时间关闭,扰乱了整个开仓和平仓的逻辑。
例如,在一个头寸打开时,第二个头寸不会打开!
新版本的结果为什么与旧版本不同?
我们正在更新我们的程序以修正小错误并完善功能。
更改一个函数和修复一个错误可能会导致旧版本和新版本之间的结果不同。
然而,我们更新的目的是修复漏洞并增强功能。
我们对旧版本的结果可能与新版本不同表示遗憾。尽管如此,我们将继续更新我们的程序。
我希望你对EA做几个更改
我只在新功能能使大多数系统用户受益时才会仔细考虑新功能。
不幸的是,我无法为每个用户单独编程每个功能。
我只能在看到其价值时添加一些功能。抱歉。
你什么时候会添加更多的指标?
我只添加我认为必要的指标。
不幸的是,
我无法将所有指标添加到Expert Advisor。
该顾问已经被外部参数所超载。
这个功能对我不起作用!
只有在你提供完整的错误报告时,我才能帮助你。
我可以在MT4和MT5终端之间使用带有顾问设置的SET文件吗?为什么从MT5到MT4的设置不起作用?
是的,你可以在两个终端之间使用带有设置的SET文件。所有变量都是相同的。
但有一个问题:
MT5终端支持任何编码,而MT4只支持ANSI文本。
因此,在MetaTrader 5终端中保存的设置文件无法在MetaTrader 4终端中正确打开。
要在MT4中使用来自MT5终端的设置文件,你需要打开SET文件并以ANSI编码保存。
xCustomEA是什么?
xCustomEA是一个通用交易顾问,旨在与定制指标配合使用。它允许交易者为MT4和MT5终端使用任何定制指标编程和自动化他们的交易策略。
xCustomEA与The X有何不同?
xCustomEA复制了The X顾问的所有参数,但增加了通过iCustom使用定制指标的能力。这在创建和测试交易策略方面提供了更大的灵活性。
xCustomEA支持哪些交易平台?
xCustomEA兼容MetaTrader 4 (MT4)和MetaTrader 5 (MT5)终端,允许交易者在不同平台上使用它。
xCustomEA可以与任何定制指标一起使用吗?
是的,xCustomEA可以集成任何与MetaTrader平台兼容的定制指标。你可以从互联网上或mql5市场下载指标并与xCustomEA一起使用。
如何在xCustomEA中安装定制指标?
要安装定制指标,请在xCustomEA设置中指定指标的名称和缓冲区编号。确保将指标放在你的MetaTrader终端的正确指标文件夹中。
使用xCustomEA有什么好处?
xCustomEA提供了编程和修改顾问以适应新指标的灵活性,而无需额外费用。它支持标准和定制策略,为交易者节省时间和金钱。
如何使用xCustomEA编程交易策略?
你可以通过将定制指标与xCustomEA集成来编程自己的策略。按照提供的MT4或MT5编程步骤定义信号、过滤器和交易逻辑。
使用xCustomEA需要编程吗?
xCustomEA的基本使用不需要编程,因为它包含预构建的策略。然而,为了充分利用定制指标并创建个性化策略,具备一些编程知识会有所帮助。
我可以在MetaTrader 4和5上使用xCustomEA吗?
是的,xCustomEA完全兼容MetaTrader 4 (MT4)和MetaTrader 5 (MT5)平台,允许无缝集成和策略实施。
xCustomEA如何处理资金管理?
xCustomEA包括自动计算手数和固定手数选项等功能,能够根据你的余额自动计算手数,并确保仓位大小的一致性。
xCustomEA提供哪些内置策略?
xCustomEA包含大约20种内置交易策略,基于标准指标如移动平均线、MACD、RSI和Bollinger Bands。
xCustomEA如何执行优化和测试?
xCustomEA允许使用历史数据进行全面的回测和优化,以提高策略性能并在实盘交易前确保其可靠性。
在xCustomEA中,信号和过滤器有什么区别?
信号基于指标条件触发交易操作,而过滤器通过应用额外的标准来优化这些信号,提高交易的准确性。
如何在xCustomEA中指定缓冲区编号?
在xCustomEA设置中指定缓冲区编号,通过识别对应于买入和卖出信号的适当指标缓冲区,确保信号的准确识别。
我可以在半自动模式下使用xCustomEA吗?
是的,xCustomEA提供半自动模式,你会收到交易机会的警报,并可以手动确认交易入场,从而对交易有更大的控制。
xCustomEA中的自动计算手数是什么?
自动计算手数根据你当前的账户余额自动确定适当的手数,优化每笔交易的风险管理。
xCustomEA中的Martingale策略如何运作?
Martingale策略在xCustomEA中在亏损交易后增加手数以弥补损失,具有可定制的参数以管理风险并提高潜在盈利能力。
xCustomEA如何管理移动止损?
xCustomEA提供各种移动止损功能,包括标准移动止损和抛物线SAR移动止损,根据价格波动动态管理交易。
如何在真实账户上处理xCustomEA的错误?
xCustomEA包括错误处理机制,通过自动从常见交易错误和问题中恢复,确保在实盘账户上的平稳运行。
我可以将The X的策略导入到xCustomEA吗?
是的,你可以将The X的策略导入到xCustomEA中,允许你应用经过验证的策略,同时添加你自己的定制修改以增强灵活性。
在MT4中使用xCustomEA编程策略的步骤是什么?
在MT4中使用xCustomEA编程策略包括将指标加载到资源中,创建策略和信号,指定过滤器,并通过提供的编程步骤定义交易逻辑。
如何在MT5中为xCustomEA创建指标句柄?
在MT5中,通过声明指标句柄的变量并使用iCustom函数初始化它们来创建句柄。这允许xCustomEA在策略执行期间与定制指标交互。
xCustomEA附带预设交易策略吗?
是的,xCustomEA包含大约20个预设交易策略,基于标准指标,可以立即使用或根据你的交易偏好进一步定制。
如何使用xCustomEA回测我的策略?
xCustomEA支持回测,允许你在MetaTrader策略测试器中使用历史数据运行你的交易策略,帮助你在实盘交易前评估和优化性能。
xCustomEA用户有哪些支持资源可用?
xCustomEA的用户可以在官方论坛上访问全面的文档、编程指南和策略示例,以及客户支持以进行故障排除和协助。
风险警告:
过去的交易表现不能保证未来的结果。
外汇保证金交易具有高度风险,可能并不适合所有投资者。
请注意,使用交易机器人涉及重大风险,你可能会损失超过初始投资。
请谨慎操作,仔细评估你的财务状况,并考虑寻求合格专业人士的建议。
Changelog xCustomEA
Version 24.934 2024.10.04
Fixed a bug in the parameters:
input double AdditionalLots=0; //AdditionalLots –> Additional lot for each new Signal
input double CoeficienteLots=1; //CoeficienteLots –> Coeficiente lot for each new Signal
At the first launch and in the absence of open transactions – Expert Advisor set the minimum lot. – Fixed.
Version 24.918 2024.09.18
EAPADPRO v59
–Enhanced Graphical Interface Translation
We have completely revamped and updated the translations across all elements of the graphical interface. This ensures a more accurate and natural localization, allowing the interface to better reflect the linguistic and cultural nuances of our diverse user base. As a result, interacting with the application is now even more seamless and intuitive, providing a more personalized and comfortable user experience.
–Introduced Informative Tooltips for Panel Elements
To elevate user convenience, we’ve added descriptive tooltips to various panel components. When you hover over buttons and icons, informative explanations about each element’s functionality will appear instantly. This enhancement significantly simplifies navigation and interaction within the application, making it easier for both new and experienced users to utilize all features effectively.
–Resolved Minor Bugs and Boosted Stability
In this update, we’ve addressed and fixed several minor bugs that were affecting the application’s performance. These corrections enhance the overall stability and reliability of the program, ensuring a smoother and more consistent user experience. By eliminating these small issues, we’ve laid the groundwork for a more robust and efficient application.
Version 24.805 2024.08.05
Last build compilation MetaTrader
Fixed error in profit/price/time of closed position in notifications.
Fixed INFOBOX error when deleting the EAPADPRO window.
EAPADPRO v58
Version 24.728 2024.07.29
EAPADPRO v57
Compiled in the last version of MT4
Version 24.404 2024.04.04
Global Update EAPADPRO v55
Attention! Support of visual Graph Elements (Buttons, input line, Edit Box, CheckBox) is no longer supported by VPS server from MetaQuotes!!!!
–Added: information about profit from closed positions to the chart.
The information is displayed for each bar of the current timeframe.
You can change the timeframe to see the result of trading on a certain bar of the current timeframe.
If several positions/deals are closed on one bar of the current timeframe, the trading result is summarized, and the total information for a certain bar is displayed.
The information is updated when the next position/deal is closed.
You can turn off showing history in the panel settings.
===========================================================================================
–Added: The status of the Expert Advisor operation if it was launched on the server from “VPS MQL MetaQuotes”.
When Expert Advisor is running on the server from MetaQuotes, a message will be created on the home computer that Expert Advisors are running on the server “VPS MQL MetaQuotes”. The smiley face is blue.
Attention: If an Expert Advisor is launched on both the server and the home computer, it can trade in parallel on 2 terminals (server “VPS MQL MetaQuotes” + home computer); there may be conflicts.
Attention: If the Expert Advisor is launched on the server “VPS MQL MetaQuotes”, do not Turn it on work on the home computer to avoid conflicts.
Frequency of polling the status of work on the server = 1 day.
After deinitialization of the Expert Advisor on the server – It will get the status – stopped.
To test the work on the server from “VPS MQL MetaQuotes”, pending orders are created!
===========================================================================================
–Added: The error status of the Expert Advisor operation can now be read on the EAPADPRO panel.
You can click on the Smile or the Expert Advisor operation status bar and you will be shown a message about current errors of Expert Advisor operation.
If you click on the Smile button on the panel, you will be shown the causes and errors and their solutions with pictures.
===========================================================================================
–Added: Notification of errors and opening/closing of trades to the chart in the form of InfoBox.
Notification is shown for 4 types:
—Opening a new trade;
—Closing a deal;
—Modification of a trade;
—Error received by Expert Advisor from the server;
In the EAPADPRO panel settings, you can turn on or off the notification type you need.
Notifications can be viewed as they arrive in the notification queue.
Notifications are accumulated in a data array each time you install/reinstall/change Expert Advisor settings.
In the EAPADPRO header you can also enable disable INFOBOX.
===========================================================================================
–Added: Working with Telegram (Beta version)
For Expert Advisor to work with the Telegram bot, you need to set up the bot on your phone and create a “public” or “private” channel.
To receive notifications from your account, you need to assign your bot as an administrator of your “public” or “private” channel.
Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.
New settings for working with Telegram:
EAPadPRO2=” =============== Telegram bot “;
==input ENUM_UPDATE_MODE TG_UpdateMode=UPDATE_SLOW –> Update Mode. Timer speed, to receive commands from Telegram bot. The faster the timer runs, the more computer resources will be used! Please do not change it unnecessarily. 2sec,3sec,10sec
==TG_PRIORITY=TG_HOME_VPS –> Priority of work. This is the priority mode when the Telegram bot works on the MetaQuotes VPS server and your home computer.
TG_HOME_ONLY=1, // Only the HOME bot. The Telegram bot works only on the home computer.
TG_VPS_ONLY=2, // Only the VPS bot. The Telegram bot works only on the MetaQuotes VPS server.
TG_VPS_HOME=3, // First VPS bot, second HOME bot. The Telegram bot works on the MetaQuotes VPS server if you upload it to the server. If not, it will work on your home terminal. Check the work on the VPS server every 10 minutes.
TG_HOME_VPS=4, // First HOME bot, second VPS bot. The Telegram bot works on a home computer, but if the home computer/terminal is turned off, it will work on the VPS server from MetaQuotes. Check the VPS server’s work every 10 minutes.
Attention! Screenshots are not available on the VPS server from MetaQuotes!
==TG_Token=”” –> Token bot. Token (unique code) of the bot that will send notifications and receive commands
==TG_ChannelName=”” –> –> Public Channel Name @. Or “private” ID starts -100 of the private channel. That will send notifications about opening/closing/modification/errors and screenshots from the terminal.
==TG_UserNameFilter=”” –> Whitelist Usernames. List of users, starting with @, who can use the bot.
Attention! Sending notifications and working with commands takes computer resources! Use the Telegram bot only for your own needs.
==TG_UseBotTimer=false;//TG_UseBotTimer –> Working with the bot from the phone
New notification type added to EAPADPRO panel settings:
==Notice Open TG – Send a notification to the Telegram channel if a trade is open;
==Notice Close TG – Send a notification to the Telegram channel if a trade is closed;
==Notice Modify TG – Send a notification to the Telegram channel if a trade is modified;
==Notice Error TG – Send a notification to the Telegram channel if an error is received;
==ScreenShot TG – Send a screenshot to the Telegram channel if a trade is opened or closed;
Attention! This is a beta version of working with the Telegram bot. We are working on improving and adding new features.
If you have any suggestions, please write in the “Comments” section.
===========================================================================================
–Improvement: Code optimization to increase speed.
–Improvement: The speed of the panel update in the strategy tester is now calculated automatically depending on the speed of quotes arrival.
This is done to increase the speed of the program in the strategy tester.
Information update is now equal to 1 real second.
–Improvement: The speed of the program running EAPADPRO in the strategy tester.
Attention! Events in the strategy tester are processed only when a new tick is created.
If a new tick (minimum price movement) is not created, then the panel waits for the next tick.
With Visualization:
Version 48: 390sec (TickSniper 2024-2024)
Version 55: 244sec >>159% (TickSniper 2024-2024)
w/o Visualization:
Version 48: 363sec (TickSniper 2020-2024)
Version 55: 220sec >>165% (TickSniper 2020-2024)
with Visualization:
Version 48: 15750sec (TickSniper 2020-2024)
Version 55: 6220sec >>253% (TickSniper 2020-2024)
–Improvement: The color of the button to close a position on the chart changes depending on the current profit of this position.
–Improvement: Graphic improvements to optimize the Expert Advisor’s performance
–Improvement: The account deposit Symbol is cent ¢, USD $, or eur €. All others are the first letter of the deposit currency name.
–Improvement: When visual testing is completed, objects are not removed from the graph.
–Improvement: When creating screenshots after opening/closing positions, the EAPAPDPRO Control Panel will be expanded to show full information.
This is done in order to study the trading history of Expert Advisor on the visualization graph after testing is completed.
–Fixed: Managing positions and orders from the chart when the panel is minimized.
–Fixed: Corrected the error of clearing the chart from unused order labels.
–Fixed: AutoSize when switching charts.
–Fixed: Drawing errors to Print when the Expert Advisor runs on “VPS MQL MetaQuotes”
Version 24.126 2024.01.26
EAPADPRO v47
DynamicLot for Non-Currency Symbols fixed
New inputs:
Commission_Coefficient –> Commission coefficient (default 2)
DynamicLotStopLoss –> The calculation lot from StopLoss and free margin
Version 23.913 2023.09.19
-EAPADPRO v44
——————————
-Last Build Compilation
Version 23.101 2023.01.08
-EAPADPRO v43 (Added new languages)
-Last Build Compilation
Version 22.130 2022.01.30
Обновление индикатора ZigZag
Version 22.110 2022.01.12
Fixed a bug with drawing objects for new versions of MT5 terminal
Version 21.971 2021.11.10
Update EAPADPRO
Version 21.958 2021.10.28
-EAPADPRO v42 (Added new languages, Added Auto-pause when opening a new bar in the Strategy Tester)
-MT5:
Added the type of indicator signals (xColorArrow with 1 Buffer and 2 colors), for which the signal arrows have 2 different colors (DRAW_COLOR_ARROW)
When using the xColorArrow signal type, you need to set the following values:
SignalBuferforBUY = Buffer number for arrows (Check with the author) or by empirically calculating this buffer number.
SignalBuferforSELL = The number of the color buffer for these arrows (Check with the author), usually following the arrow buffer.
Attention! This type supports 2 colors, where:
0 (the first color of the arrow) is a signal to open a BUY;
1 (the first color of the arrow) is a signal to open SELL;
If your indicator has these colors reversed, then you can additionally use the Signal_Reverse parameter
For more information, we have made an example of using such an indicator with a DRAW_COLOR_ARROW buffer!
An example of using: https://www.mql5.com/ru/market/product/32116#!tab=comments&page=13&comment=25503972
Version 21.953 2021.10.23
-Модернизация сигнала от xArrow для некоторых индикаторов.
Version 21.923 2021.09.24
Recompiling in the latest version of the terminal
Version 21.904 2021.09.04
Recompiled in the latest version of the MetaTrader terminal
Version 21.813 2021.08.13
–Global update of The xCustomEA!
In the block for selecting the type of signal / filter SignalTypeIndicator / FilterTypeIndicator:
Added signals and filters for standard indicators from our Expert Advisor The X!
$$$ THE X MT4: https://www.mql5.com/en/market/product/11536
$$$ THE X MT5: https://www.mql5.com/en/market/product/1230
All 20 standard signals and filters have been added as the main signal / Filter / Signal to close positions!
You can use the standard indicator signals and filters from our The X along with your custom indicator signals.
This means that you can filter custom indicator signals from the market or the Internet using our standard filters.
And also use our standard strategies from The X as the main signal and apply a custom indicator as a filter!
A description of each signal and filter can be found in the user manual for The X: https://www.mql5.com/en/blogs/post/680043
Attention: when you select Standard Indicators, the SignalNameIndicator / SIGNALStrategyInputs / SignalBuferforBUY / SignalBuferforSELL fields do not work!
Attention: when you select Standard Indicators, the FilterNameIndicator / FilterStrategyInputs / FilterBuferforBUY / FilterBuferforSELL fields do not work!
– Added the TrailingStart = Starting point for the start of the Trailing function to the Trailingstop block.
The Expert Advisor will turn on the TrailingStop function when the position gains TrailingStart profit points.
If TrailingStart = 0 then TrailingStart = TrailingStop !!!
Version 21.724 2021.07.24
Added handling of SIGNALStrategyInputs settings for .wav and .bmp files
Version 21.616 2021.06.16
Update for Update
Version 21.612 2021.06.12
EAPADPRO v40 update, according to the new rules for using the MQL5 Market
Version 21.527 2021.05.27
Исправлена работа ClosePositionifChangeOWNSignal = OnlyIfProfit при работе с TypeTradeBUYSELL = Only Sell
Version 21.520 2021.05.21
A new parameter has been added to the “Averaging” block:
— CloseFirstAfterMaxAverage – Close the first averaging deal (the very first of the currently open averaging deals),
when the advisor has opened the maximum number of deals with the MaxOrdersOpen parameter.
If you want to keep a fixed number of Averager grid items (e.g. 5 grid items),
the smallest element must be closed with a loss when the 6th element is opened.
For example:
CloseFirstAfterMaxAverage = false MaxOrdersOpen = 5:
If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,
then the next averaging deal cannot be opened.
CloseFirstAfterMaxAverage = true MaxOrdersOpen = 5:
If the EA opens the maximum number of averaging deals, which is set by MaxOrdersOpen = 5,
then the first averaging trade is closed and the next trade is opened.
================================================== ================================================== ======================
– A new parameter has been added to the “Additional opening” block:
— CloseFirstAfterMaxAdd – Close the first additional opening deal along the trend (the very first of the current open deals),
when the EA opened the maximum number of deals with the MaxOrdersOpenAdditionalOpening parameter.
Same as CloseFirstAfterMaxAverage Paramter.
Version 21.517 2021.05.17
— EAPADPRO v39
— Added custom optimization criteria in genetic mode when choosing the Custom Max optimization mode.
You can set the minimum values ??at which the optimization will take into account the result during genetic enumeration!
In other words: You can set a condition: “the minimum number of deals” (or other parameters),
upon which this run will be counted as a result.
If during selection the advisor opens fewer deals than specified in the settings, then this run of the optimizer will not be counted as a result!
–Attention! For advanced users only.
OnTester_Min_Trades = 0; // Min Deals for optimization
OnTester_Min_Profit = 0; // Min Profit for optimization
OnTester_Min_ProfitFactor = 0; // Min ProfitFactor for optimization
OnTester_Min_Balance = 0; // Min Balance for optimization
OnTester_Min_Equity = 0; // Min Equity for optimization
OnTester_Max_Balance_DD = 0; // Max Balance DD% for optimization
OnTester_Max_Equity_DD = 0; // Max Equity DD% for optimization
– You can find a detailed description of this block of settings in the user manual!
Version 21.425 2021.04.25
Work with the StopTrading button has been modernized. Fixed a bug with random permission of signals to open positions when minimizing the panel.
Version 21.313 2021.03.13
EAPADPRO v38
–Fixed the main signal reversal error when using the Signal_Reverse (true) and ClosePositionifChangeOWNSignal (OnyProfit) functions.
Version 21.216 2021.02.16
Added new parameters of Lots when opening a position by signals:
AdditionalLots – An additional lot that will be added to each new deal based on a new signal
CoeficienteLots – Lot coefficient, by which the lot will be multiplied for each new deal on a new signal
(When the advisor is allowed to open more than one position for each signal ONlyOnePosbySignal = false / OnePosPerDirection = false)
Version 20.731 2020.07.31
MT5: Fixed the conflict of the Additional Opening when using a common stop loss (StopLossALL) and a common trailing stop.
Version 20.608 2020.06.08
Компиляция 2485
Version 20.220 2020.02.19
Dear friends!
We made a very important and difficult decision regarding The X/The xCustomEA for MetaTrader 5 and the use of the multi-currency mode (PAIR1-PAIR12)
Due to the fact that the use of different methods of multi-currency operation does not bring 100% accuracy in obtaining quotes,
we were forced to turn off this mode.
We explored many topics on the forum about the problem of using multi-currency mode in MetaTrader!
Each method of implementing a multi-currency trading mode has its pros and cons!
But in each of these methods there are Cons: Reward resources on computers, skipping ticks, looping the main trade flow.
We made the decision: Remove the multi-currency trading algorithm in The X/The xCustomEA to eliminate trading problems on real charts!
We apologize for any inconvenience caused.
IMPORTANT: As soon as we find the ideal solution for working in multi-currency mode (PAIR1-PAIR12) we will turn on these parameters again, for the convenience of taming and optimization.
IMPORTANT: On a real chart, I recommend installing an adviser on each chart of a currency pair separately from each other (do not use PAIR1-PAIR12)
Version 20.216 2020.02.16
Forced modifying comment length CommentToOrder up to 12 characters!
If the comment is longer than 12 characters, then the advisor will trim the extra characters.
Attention! For the EA to work correctly, set a comment no longer than 12 characters.
eg:
Right: ExpforexTheX
Not Right: Expforex The X Set # 12345
Version 20.212 2020.02.12
– EAPADPRO v35
– Fixed the Work on time error if the advisor TF is greater than the Minutes of the time function.
(For example, closing at 22:49 and TF = H1)
Version 19.994 2019.12.05
Added parameter Send_Push_without_opening_positions:
Sending PUSH notifications to the phone instead of opening positions!
When this parameter is enabled, the adviser will not open a new position on a signal, but only notify the user that
that a new signal has appeared. At the same time, all other functions will work as usual.
Allows the user to open a position on their own if the EA gives a signal.
But the adviser does not make this transaction and does not open a position, but only notifies the user about the signal.
Version 19.905 2019.09.05
Исправлена ошибка алертов при открытии и закрытии позиций.
Version 19.903 2019.09.03
IfProfTrail:
– if true, the Advisor starts the modification only when the position is gaining profit to Breakeven (setting stop loss on the break-even point) + TrailingStop profit points.
– if false – TrailingStop starts working immediately after opening a position and making a profit of 0 points and leaving a position as a profit.
In other words: IfProfTrail = false, then the trailing stop starts working immediately after the position is in profit.
Version 19.820 2019.08.20
-. Alert has been added if the specified indicator is not found!
The adviser will check the existence of the indicator and give a message stating that the indicator was not found with a request to check the correctness of the name!
1. Function ControlNewBarforSIGNAL Changed:
Added values:
ControlNewBarforSIGNALType = 1 = True smallest TF of the settings: New mode!
The EA selects the smallest TimeFrame, which was set by the parameters TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 ….
In this mode, the EA does not check the signal on the currently set TimeFrame, but on the TimeFrame for receiving a signal from indicators!
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.
ControlNewBarforSIGNALType = 2 = True current bar of the current TF: Old mode!
In this mode, the EA checks signals every new bar of the current TimeFrame!
If you use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2 other than Current, the results on each TimeFrame may be different.
We advise you to install the adviser on the TimeFrame M1!
ControlNewBarforSIGNALType = 1 = False: Do not use the control of the new bar to determine the signal!
Attention: When off, the EA checks signals every new tick! There may be delays in tapping and optimization!
2. Added variable ControlNewBarforOpenbySignal:
ControlNewBarforOpenbySignal = true: Old mode! Open positions on a signal only every new current bar of the current TimeFrame!
The EA opens positions, if there is a signal, only when a new bar of the current TimeFrame arrives!
ControlNewBarforOpenbySignal = false: New mode! Open positions on a signal every new bar from the signal Timeframe!
The EA opens positions, if there is a signal, immediately upon detection of a signal.
This mode is useful for those who use TF_IndSigToTrade1, FILTER_TF_IndSigToTrade1, FILTER_TF_IndSigToTrade2, other than Current.
Version 19.816 2019.08.17
Fixed bug:
When two different directions BUY and SELL are in operation and averaging works, then BUY does not allow to modify the take profit for SELL positions!
Version 19.814 2019.08.14
Update Update
Version 19.808 2019.08.07
Added DistanceMartinAdditional – Coefficient of distance for additional order opening.
Added MinTimebeforenextAverage – Minimum time to the next averaging in minutes.
Code optimization, increased testing speed and optimization.
Starting the calculation of the average spread only when the user uses at least one parameter for the average spread.
EAPADPRO v31.
Version 19.525 2019.05.25
Added function to check different take profit for the averaging function.
If the positions have a different take profit, then the expert sets a single total take profit.
Version 19.517 2019.05.17
Forced modification only when stop loss = 0 or take profit = 0
Version 19.514 2019.05.16
Fixed double opening of averaging deals on accounts with MARKET execution.
Version 19.123 2019.01.23
Indicator example file updated! + StrategyShift removed from indicator file !!!
Added operation mode for the current zero bar(Shift=0)!
Attention! The current bar only forms a signal, so we do not recommend using Bar # 0(Shift=0) to receive signals!
Attention! Some indicators forcibly do not draw a signal at 0 bar! – It is right. Therefore, the adviser will not open positions using Shift = 0.
Version 19.111 2019.01.10
The SaveTPafterTrailingStop function has been updated to work in virtual stop loss / take profit mode with VirtualStops = true
Version 19.110 2019.01.10
ReloadReload
Version 19.107 2019.01.07
– The ClosePositionifChangeOWNSignal parameter is divided into 3 values: False (disabled), True (enabled), OnlyifProfit (Only if the positions are in profit);
– EAPADPRO v25 update
– Additional languages added to the panel: Spanish, Portuguese (Brazil), German, Chinese, Japanese;
The translation was made using the GOOGLE Translator + MQL + Terminal site!
If you find an error in your language, please report it in messages. Thank!
– Increase the speed of the panel;
Version 19.0 2018.12.29
Fix Fix Fix
Version 18.999 2018.12.28
– Optimization of the code, increasing the speed of testing.
– When you first start the advisor, an indicator template file is created for programming your strategy.
A file is created in your terminal Files folder with name “Ind – The xCustomEA TEMPLATE.mq*”
You can open this file and follow the programming instructions of your custom strategy.
Version 18.998 2018.12.28
– Optimization of the code, increasing the speed of testing.
Version 18.992 2018.12.23
– The ability to specify and fill in external variables (which can be configured from the advisor) has been added to the xCustom signal type
SIGNALStrategyInputs, CloseStrategyInputs, FILTERStrategyInputs can now be used with indicators written in our example (xCustomEA)
– In connection with the update of the sample files and our custom indicator Ind – The xCustomEA TEMPLATE, we updated all the variables of the adviser and added an additional type: to the SLTPTypeIndicator type xCustomEA, to call from our example indicator.
Also added is the variable SLTP_IndSigToSlTp to specify the strategy number in the Ind file – The xCustomEA TEMPLATE
Version 18.988 2018.12.10
– Fixed bugs according to user messages
– Reworked system for receiving signals
– Modified indicator indicator files for receiving signals for the operation of new functions and blocks! Be attentive!
================================================= ===============================
– Update EAPADPRO to version 23:
Added controls for speed testing and pause in the strategy tester;
Added a table of current open positions in the strategy tester;
================================================= ===============================
– Added block control signal closure for custom indicator.
This block allows you to close open positions by signals of a custom indicator.
It is used if a custom indicator provides signals for closing positions (separately from the signals for opening a new position).
If you need to tell the adviser signals to close positions, then you need to specify: the indicator name (may be identical with the indicator name for closing positions), a set of parameters (If they differ from the default indicator parameters), TimeFrame, Bar Shift, and number buffers to receive signals for closing. Separately for BUY and SELL positions.
Attention: If you want to close a position when receiving the opposite signals, then you do not need to use this block.
– External parameters Signal for Close options:
CloseNameIndicator = “”; // CloseNameIndicator -> Indicator name to get the signal to close pos
CloseTypeIndicator = xArrow; // CloseTypeIndicator -> Type of indicator signal to close
CloseTimeFrame = PERIOD_CURRENT; // CloseTimeFrame -> TimeFrame of signal to close
Close_shift = 1; // Close_shift -> Bar number to receive signal to close
CloseStrategyInputs = “”; // CloseStrategyInputs -> Inputs Of Ind, separated by commas
CloseBuferforBUY = 4; // CloseBuferforBUY -> Buffer number for close BUY
CloseBuferforSELL = 5; // CloseBuferforSELL -> Buffer number for close SELL
Close_IndSigToClose = 0; // Close_IndSigToClose -> Indicator number to get Close signal
================================================= ===============================
– Added Stop Loss and Take Profit control unit based on custom indicator signals.
This block allows you to set a stop loss or take profit when opening positions on the signal, which can be taken from the values of the custom indicator buffers.
If the Custom Indicator has separate buffers for getting Stop Loss or Take Profit, you can use these values when opening a new position.
Attention: Stoploss or take profit is set only when a new position is opened using a new signal. The functions of averaging, additional opening use the parameters of stop loss and take profit from past variables. Stoploss and take profit obtained from the custom indicator in Averaging and additional opening are not accepted.
Stop loss and take profit from a custom indicator is also set when using the ForcedModifySLTP function.
If you need to tell the adviser the stop loss and take profit values from the custom indicator, then you need to specify: the indicator name
(may be identical with the name of the indicator for opening / closing positions), a set of parameters (If they differ from the parameters of the indicator by
default), TimeFrame, Shift bar, and the number of buffers to get values. Separately for BUY and SELL positions and separately for StopLoss and TakeProfit.
– External parameters Custom StopLoss and TakeProfit from Indicators options:
SLTPNameIndicator = “”; // SLTPNameIndicator -> Indicator name to get the signal of SL / TP
SLTPTypeIndicator = xPrice; // SLTPTypeIndicator -> Type of indicator signal of SL / TP
SLTPTimeFrame = PERIOD_CURRENT; // SLTPTimeFrame -> TimeFrame of signal of SL / TP
SLTP_shift = 1; // SLTP_shift -> Bar number to receive signal of SL / TP
SLTPStrategyInputs = “”; // SLTPStrategyInputs -> Inputs of the ind, separated by commas
SLTPBuferforBUY_StopLoss = -1; // SLTPBuferforBUY_StopLoss -> Buffer number of SL for BUY
SLTPBuferforSELL_StopLoss = -1; // SLTPBuferforSELL_StopLoss -> Buffer number of SL for SELL
SLTPBuferforBUY_TakeProfit = -1; // SLTPBuferforBUY_TakeProfit -> Buffer number of TP for BUY
SLTPBuferforSELL_TakeProfit = -1; // SLTPBuferforSELL_TakeProfit -> Buffer number of TP for SELL
================================================= ===============================
Version 18.970 2018.11.10
– Global update and improvement of the working code.
-Add EAPADPRO v21 panel
-Add short hints to external variables
-Add parameters for calling indicators SIGNALStrategyInputs, for indicators with the type SignalTypeIndicator = xArrow
Read more in our blog.
Reviews about xCustomEA
Thanks for feedback!
Atila R Akdeniz
⭐⭐⭐⭐⭐
Atila R Akdeniz
I just bought the EA. I have been using The X Universal for a long time now, with great results. This EA does everything TheX Universal does and much more, including integration of other EA's and signals and independent strategies etc. I guess there will be a little bit of a learning curve to understand its full functionality and use it to its full power. 5 stars for such an innovative product from a great designer.
Deniz90
⭐⭐⭐⭐⭐
Deniz90
Excellent EA, providing endless opportunities. The author is very helpful and responsive, definitely recommended.
Manuel Sanchez
⭐⭐⭐⭐⭐
Manuel Sanchez
Great EA. Just do your homework and you will find a good strategy. I love the interface panel. 5 start. Thanks to the programmer.
leachimk
⭐⭐⭐⭐⭐
leachimk
Присоединяюсь к словам предыдущего автора. Советник обладает всеми необходимыми инструментами для успешной торговли. Ключевое слово - оптимизация. Особая благодарность разработчику за то, что он постоянно продолжает усовершенствовать советник. Респект и так держать!
ROBERT URBANSKI
⭐⭐⭐⭐⭐
ROBERT URBANSKI
I rent this EA for one month for testing. I give 5 stars in begin for Suport. After month I will update info about EA but now I can tell. It have many interesting settings. I tried work with many custom indicator (not build). Works very impresive.
DadeSubandryo
⭐⭐⭐⭐⭐
DadeSubandryo
Great support for consumers. still learning stage & EA started to work as i want. I will update the stars & comments if necessary. Thank you
189114nickynomates
⭐⭐⭐⭐⭐
189114nickynomates
This has opened up a whole new world to my trading. The concept is pure brilliant. The forums very informative and you always get help to questions detailed in the correct way. The biggest gain I have received is widening my understanding of the scope that can be achieved in cleaver trading with this ea. Keep up the good work.
Sammy Boy
⭐⭐⭐⭐⭐
Sammy Boy
Excellent EA. Vladislav has put in great effort to come up with such sophisticated EA
Pia Basson
⭐
Pia Basson 2022.08.23 18:17
I bought this EA hoping to convert my indicators into trading EAs. No luck, it does not work, and the instructions are incomplete and half translated from Russian , and when I requested support, I followed their instructions to provide full descriptions of problem together with screen shots, they then replied and wrote that they don't support this product - they don't support users to even get started or learn to make their software work - how useless. I strongly do not recommend this product. It shows promise but does not deliver. I am sure that just a proper user manual would solve this problem - I checked all their links, blogs, etc. I am now $129 out of pocket a week of time wasted trying to make it work.2022.08.23 20:20
I don't have the technical ability to help. before buying, you can use the product for free. until we have peace, I cannot work. sorry.
Stanimir Stanchev
⭐⭐⭐⭐⭐
Stanimir Stanchev
I am using xCustomEA for two months and i am extreamly happy with it and the support i'd received from Vladislav. His Exp4 Tester PAD for Strategy Tester is also very useful when it comes to test a strategy in visual mode. My favorite developer as of now!
Valter Oliveira
⭐⭐⭐⭐⭐
Valter Oliveira
Excellent product for implementing Expert Advisors (EA) using existing indicators in the MQL5 market. I thank the developer for making this tool available to us.
Hanxyork
⭐⭐⭐⭐⭐
Hanxyork
I purchased the xCustomEA few days ago, Vladislav answered all my questions quickly, he is very professional, responsible, knowledgeable, honest and dedicated, he helped me to start up my xCustomEA in a VPS. I am buying more of his products, definitely. Thank you very much Vladislav.
Vasil lupanov
⭐⭐⭐⭐⭐
Vasil lupanov 2020.01.16 19:45
Friends, don't bother looking for experts and utilities. Look for Vladislav !!!! He has everything! Five gold stars for his products and 10 stars for him !!!
Mohamed Irushad Rasheed
⭐⭐⭐⭐⭐
Mohamed Irushad Rasheed 2019.10.14 22:54
looks promising . i will update the review after a month.
Al Bundy
Al Bundy 2021.08.14 09:26 ==================================================================================================================== ***** Very best EA on market. With new update, you are topping yourself :-)) ! Congratulations! I am very ambitious, but it's so rich with features for grid, averaging, ... I can only be satisfied. Technically I just have one wish: one (or a few) of parameters for custom indicators in separate fields, for iterations of strategy tester. (1. Field for custom indicator, 2. Replaces {with comma separated} custom parameter x) If I will be unsuccessful in trading, it is certainly not due to this advisor! Al Bundy
Update 3.4.2022 Zero stars Complete useless EA... Meanwhile I programmed my own EA and so I know, how easy my suggestions could have been implemented. The indicators are worthless, because no good parameters to set. Some are buggy. Even a single moving average trend filter is not possible to set. Update 18.11.2021 Issue 7 solved. Stars upgraded. My wish for hedging same pair in direction of trend is also obsolete. I studied the mathematical theory and it can gain nothing. (+1 -1 = 0) (+1 -1.1 = -0.1) == (+0 -0.1 = -0.1) but additional spread,slip,commission, lower equity, margin. This understanding has burst my illusion... ======================================================================= Update 17.11.2021 *---- Not one single issue is solved so long - very bad support. Mainly Gold for 10.000 sells - I'm so proud of you - this should only given for 10.000 succesful traders or solutions... Meanwhile my real account is 25% in draw down, because this expert has only very risky averaging martingale against the trend. EA can nothing do to solve this big issue! I have to solve it with another EA or manually. Shame it! Till there is no function for opening a position with the trend when reaching stop loss (instead of closing position), this EA is NOT to recommend. For instance ADX is not usable for me without two additional fields: 1. Time frame (I want to filter with W1) 2. ADX minimum level. The standard (25) is not good. Many thanks for your advise to use strategy tester with cloud network (in your manuals and web page of your expert advisor). There is no negative balance protection and this is not communicated. So my test run 45 minutes and I'm billed with $812,- I would like this advisor, but all these issues reduces my score again. Maybe eventually I get support or this EA will be better, than I think of better rating again. I'm tired to read always why something doesn't work. Best regards ========================================================================================================== Update 14. Oct 2021 ***-- Next star is gone, because an EA without a good indicator is useless... It seems, that many functions are not possible to function if one uses a custom indicator with this EA. See following issue number 7. Since it is not possible to optimize parameters (see 16) and others are too complex, it lacks of at least four major functions. So it seems better to use an EA with integrated indicator signals. ========================================================== 14.10.2021 Addition to issue 6. Sometimes the calculated values of my indicator are changed or not used. My indicator delivers stop loss. I check stop level but nonetheless xCustom uses SL=0 !!!!! This is a NO GO! Journal: 2021.10.14 22:01:12.612 2021.09.20 21:24:03 OPEN DEAL sy=EURUSD op=1 ll=0.16 sl=-1 tp=-1 But I have set an Indicator and a buffer number for stop loss! Issue 18. In strategy tester virtual stop loss doesn't work! ==================================================================================================================== 7.10.2021 BUMP - When are you willing to answer all my questions? Seems as there is no support... ==================================================================================================================== 2021-09-27 ****- Meanwhile there are several inconsistencies, which I recognized. It is possible, that the causes are elsewhere, but so long I can't find out. 5. I have written an indicator with arrow buffers, but not all arrows are caught - what can be wrong? (Some can bet got with OWNSIGNAL_shift=0!) 6. I deliver SL and TP, but they are sometimes not set. I have included spread and corrected the values against stoplevel. In journal there is no error. 7. With another indicator I use iCustom with a second indicator to convert non-arrow buffers to arrow buffers. My indicator receives the signal at bar 1. The bar number to receive the signal in xCustomEA can't be lower than 2 to get the signals - is this a fact? If so, double indis are not usable. 8. Some times there are errors related to the parameter without error number and metatrader freezes. They are gone if SignalStrategyInputs="". 9. in Strategy Tester visual mode it trades normal, in non visual I get a flat line. How comes? 10. If I set OnTester_custom_max = STAT_PROFIT_TRADES_PERCENT I always get 0. 11. I want to filter trades with FilterTypeIndicator = "Moving Average". If SMA200 goes up it should allow buy, if it goes down it should allow sell. Other should be prohibited. How can I do this? 12. I want the simplest setup: Indicator with up/down arrows, SL=50, TP=50, no other confounding factors. I couldn't find out since 3 months! Is this not possible? That just can't be true! 13. Documentation lacks at a few places - TrailingStart, standard indicators. 14. I can't find out how to set parameters so, that trailing starts at 0. It is too complex for me to understand MovingInWLUse + LevelWLoss + LevelProfit + TrailingStart + TrailingStep. There should be a few examples in documentation for different usage. I need 3 cases: Trailing starts at SL, Trailing starts at 0, Trailing starts at 50. Rest is ballasted. 15. I need a solution for stopping multiple consecutive stop losses like written before (2021-09-20)! 16. It is awfully well to make fields for parameters and to optimize them. I have written an EA with 60 int, 60 double and 60 bool parameters, which are compound to 60 and delivered to iCustom. They can be optimized. After 3 months 12 hours per day 7 times the week learning trading, learning MQL5, coding, testing, trying, I have no satisfying combination from bought or self made indicators with xCustomEA. Either no/poor profits or large draw downs. Maybe this is forex... ================================================== 2021.09.20 00:10 #237 DE - copy from comments ***-- Hi, after heavy strategy testing I have a few wishes: 1. Your EA has "Open Opposite Position After Stop Loss" - I'm missing "Open Opposite Position After Close Pos If Change". 2. I can't get rid of cascades of Stop Loss losses (eg.: March 2020, Feb 2021, July 2021 , which egalize all previous profits. So I wish "Minutes Pause from Trading After (multiple/heavy) Stop Loss", to wait till the time of worst trading is over. 3. Withdrawal in tester: starting balance 1000. If balance greater than 1100 withdraw to 1000. I think this is how many trader are doing. 4. Don't trade during important news. I hope you can see the importance of these enhancements. Many thanks in advance BUMP, because of long time no response!2021.11.18 15:38
Hello, thank you. Unfortunately this is not possible. Optimization of indicator parameters in the Expert Advisor is not available. Because the advisor does not initially know the number and type of parameters. Parameters are filled in as a string and passed as variables to the indicator. there are many nuances here. You're lying! I answer every question you have. First, you gave me 5, then you started to lower the grade for not answering you, but this is not true! I answer every question you have! https://www.mql5.com/en/market/product/32116#!tab=comments&page=13&comment=25238753 next Answer: https://www.mql5.com/ru/market/product/32116#!tab=comments&page=14&comment=25950119 next answer: https://www.mql5.com/en/market/product/32116#!tab=comments&page=13&comment=25822275
jewboy
jewboy 2019.07.22 17:50
i bought this EA yesterday and with the help of Vladislav, it is working smoothly. I will make it work on different fx pairs. Thanks again for your time Vladislav
talha8877
⭐⭐⭐⭐⭐
talha8877 2018.12.16 18:49
I was using The X Universal EA and it was great, but it was missing the ability to add custom indicators. Now the Author created this expert and it's possible to add those custom indicators or other Experts for signal triggers. It requires a bit more effort to learn how to integrate those additional functions but thankfully the author has very detailed documentation about the EA.
Comments about xCustomEA
Do you have a question?
Extra
通过标签导航
相关帖子
MQL 开源模板. 创建智能交易系统的模板
简介 使用任何指标创建专家顾问(Expert Advisors, EAs)来测试您的策略,确实可以通过使用模板和开源资源来简化。开源的优势之一是可以使用现有的代码来节省时间和精力。 以下是使用来自Expforex.com的MQL 开源模板在仅5分钟内创建EA的分步指南。 使用开源模板创建EA的分步指南 下载开源模板: 访问Expforex.com,导航到开源部分,您可以在那里找到适用于MetaTrader 4 (MT4)和MetaTrader 5 (MT5)的MQL模板。 下载适合您平台(MT4或MT5)并基于您希望使用的指标的EA模板。 理解模板结构: 模板将包括预先编写的代码,处理EA的基本功能,如初始化、开仓和平仓,基于指标的信号。 模板的主要元素包括: …
Copylot – MetaTrader的外汇交易复制器。跨终端复制器
交易复制器,用于MetaTrader。 它复制外汇交易、头寸、订单,支持从任何账户复制。 它是COPYLOT MT4版本的最佳交易复制器之一,可在MT4-MT4, MT5-MT4之间复制(或适用于COPYLOT MT5版本的MT4-MT5, MT5-MT5之间复制)。 独特的复制算法能够精准地将所有交易从主账户复制到您的客户端账户。…
VirtualTradePad (VTP) 交易面板。Trade Pad 可通过图表和键盘一键进行交易
VirtualTradePad 或 VTP – 在 MetaTrader 终端中一键交易的控制面板。用于外汇剥头皮交易和手动交易的程序。…
Exp – The xCustomEA Advisor on the PipFinite Trend PRO
Description An example of programming a strategy for the PipFinite Trend PRO indicator and trading using our universal trading system Exp – The xCustomEA. In…
Close Minus by Plus, Closing unprofitable positions by searching and
Closing unprofitable positions by searching and closing profitable positions This assistant looks for, among all positions, in the terminal the most…
AI Sniper。MetaTrader 的自动智能专家顾问。
AI Sniper 是一个智能的、自我优化的交易机器人,设计用于 MT4 和 MT5 终端。它利用智能算法和先进的交易策略来最大化您的交易潜力。 凭借在交易所和股票市场 15 年的经验,我们开发了创新的策略管理功能、额外的智能功能和用户友好的图形界面。…
Swing strategy (Pendulum). Automatic opening of 2 opposite pending orders,
The model of the well-known strategy Pendulum (OCO orders) is the sequential opening of pending orders with an increased lot. The…
Partial Close and Trailing. Partial closing of positions on rollbacks
Partial Close and Trail – assistant EA. Closes a part of a position (Closes part of the lot) during rollback. EA …
Duplicator – Duplication of signals and deals/positions/orders on the MetaTrader
The Expert Advisor repeats (duplicate) trades and positions or signals a preset number of times on your account MetaTrader. It copies all deals opened…
EAPadPRO – Information panel for our experts
Information panel for all our advisors and utilities for the MetaTrader terminal. Detailed instructions on the basics of managing and using…
Trade Report of TickSniper and the best advisors from Expforex
Description We have summed the summary and detailed trading results of our experts TickSniper, Good Santa, Tick Hamster, The X, on our real trading accounts. Trade…
InfoPad, Online Information Panel for MetaTrader
INFOPad is an information panel that creates information on the selected currency pair in the MetaTrader terminal. Shows the main…
TickSniper 自动化专家顾问用于 MetaTrader。Tick 剥头皮交易者
Exp-TickSniper 是一个快速的 Tick 剥头皮交易者,能够自动为每个货币对单独选择参数。 该 EA 基于近10年的 EA 编程经验开发而成。 该 EA 使用智能跟踪止损进行短期交易,并基于当前货币对数据、报价、规格和点差。…
Assistant – 最佳免费交易面板,支持持仓并处理真实/虚拟止损 /获利 /跟踪止损 交易
自动设置止损、获利、跟踪止损、保本水平,启用虚拟止损。 Exp Assistant 将帮助您组织持仓的维护。 此专家顾问将为您的持仓设置所有必要的止损和获利水平。 所有专家顾问操作均通过图表上的控制面板管理。…
This post is also available in: English Українська Portuguese Español Deutsch Chinese Русский Français Italiano Türkçe 日本語 한국어
Leave a Reply