Ultimate Bollinger Bands D
- 专家
- 版本: 1.0
- 激活: 10
如果您不想手动根据 Bollinger Bands 进行交易,也不想因为害怕错过最佳入场机会而连续数小时盯着图表,那么 Ultimate Bollinger Bands D 可以替您完成交易。该 EA 基于对 Gold(XAUUSD)超过 2 年历史数据进行的细致 backtest,其表现出的显著超额收益甚至也让我感到惊讶。
Backtest 结果:
在初始余额为 $100,000、每笔交易使用 1 lot 的情况下,利润超过 325%。
在超过 2 年的历史数据中共完成 808 笔交易。
相对于初始余额,Maximum drawdown 为 43%。这是一个需要认真考虑的数值,但要实现这样的表现,这种程度的 drawdown 是必要的。我本可以通过一些方法降低它,但那样会削弱 EA 对不断变化的市场环境的适应能力,并降低整体表现。为了让 EA 更加稳健,我选择保留目前的设置。
下方图片中显示的所有数据均来自 IC Markets,使用 GMT+2 的 broker time。请始终使用您自己 broker 的历史数据运行 backtest,以确认这些设置是否同样有效;如有需要,请进行微调。我也使用 Dukascopy 数据和相同设置对 EA 进行了 backtest,结果依然稳定。
通用性
该 EA 可以适配任何金融市场,包括 commodities、forex 等。默认设置专门针对 Gold(XAUUSD)进行了校准。如果您在其他交易品种上进行测试,请相应调整参数。根据我的经验,它在 Gold 上的表现最佳。
Backtesting 提示
由于 EA 只在 candle open 时进行判断,因此在 backtest 中可以使用 “1 Minute OHLC” modelling,而不必使用 tick data。这样可以显著提高运行速度,同时得到几乎相同的结果,不过仍建议您亲自验证。请使用 30 minutes chart timeframe,以获得最接近的结果。
Lot sizing
Lot size 是固定值,而不是按百分比计算。您可以随时手动调整 lot size。
Input Parameters
SIZE — 默认值:0.01。Lot size 参数。修改时务必非常谨慎。请勿使用负数。
GMT — 默认值:2。Timezone 参数。请根据您的 broker timezone 进行修改。请勿使用负数或小数。
Magic Number — 默认值:1。为了防止冲突,在每一个具体 chart 上,该值都必须与其他任何 EA 的 magic number 不同。尤其是在同一个 instrument 上使用具有不同设置的本 EA 时,更必须如此,而这种用法也是推荐的。请勿使用负数或小数。
EuroDST — 默认值:false。适用于欧洲 broker 的 daylight saving time 切换。请分别使用 “true” 和 “false” 进行测试,以确认哪一种设置更适合您。
length — 默认值:20。Bollinger Bands 的 period 参数。‘20’ 是最常用的数值。
numdevs — 默认值:2。Bollinger Bands 的 standard deviation 参数。‘2’ 是最常用的数值。
starttime — 交易开始时间。您可以使用 0 到 2400 之间、以 100 为倍数的数值,例如 100、200、300、……、1000、1100、……。对于欧洲 broker,请确保该数值低于 “endtime”。请勿使用负数或小数。
endtime — 交易结束时间。您可以使用 0 到 2400 之间、以 100 为倍数的数值,例如 100、200、300、……、1000、1100、……。重要:如果设置为 2400,则当参数 “CloseAtEnd” 设置为 “true” 时,该参数将无法正常工作。请勿使用负数或小数。
CloseAtEnd — 默认值:true。当最后一根已关闭 bar 的时间等于或大于 “endtime” 时,该参数会关闭当前已打开的 trade。如果您希望让交易隔夜持有,请设置为 “false”。这样会彻底改变 EA 的表现;如果您想尝试构建新的设置,可以对此进行测试。
Version — 默认值:1。允许的数值:1 或 2。设置为 1 时,EA 将使用 breakout logic,尝试顺势交易。设置为 2 时,EA 将使用 false breakout logic,通过价格 reversal 获利。请勿使用负数或小数。请勿使用 1 和 2 以外的任何数值,否则 EA 将不会进行任何交易。
stopPercent — 默认值:true。该参数允许您将 stop loss 和 take profit 设置为最后一根已关闭 bar 的 closing price 的百分比(%)。我专门为 Gold 创建了这一功能,因为 Gold 的价格在长期内发生了非常大的变化。该参数也可以用于任何其他 instrument,但由于 forex market 的价格变化相对较慢,因此与基于绝对价格设置的普通 stop loss 和 take profit 相比,差异会更小。如果设置为 “false”,stop loss 和 take profit 将以绝对价格数值设置,例如 0.005$。
mystop — 默认值:5(%)。Stop loss 参数。请勿使用负数。可以使用小数。设置为 0 时停用。这个 stop loss 可能看起来较宽,但它只用于紧急情况。在超过 2 年的 backtest 中,EA 几乎从未触发过它。
myprofit — 默认值:0(%)。Take profit 参数。请勿使用负数。可以使用小数。设置为 0 时停用。
Exit logic:
EA 只会在以下情况下关闭 position:stop loss 或 take profit 被触发;最后一根 bar 的时间等于或大于 “endtime”,且 CloseAtEnd 设置为 true;或者满足 reversal position 的条件。在最后一种情况下,EA 会关闭当前已打开的 position,并立即在相反方向打开另一笔 position。
修改 “myprofit” 和 “mystop” 时请务必谨慎:stop loss 和 take profit 是该 EA 中最容易产生 overfitting 的两个参数。
如果您在设置任何参数时需要帮助,或者有其他问题,请在 EA 页面上留言。我会尽快回复。
Chart TimeFrame:30 minutes。您可以修改它,但修改后需要进行更多 backtest,同时还需要对参数进行 fine-tuning。
所需账户类型:只使用本 EA 进行交易时,任何账户类型都可以。否则,请使用 hedging account。
如果您不熟悉 lot sizing,请在 backtest 中修改 SIZE,并在测试结束后查看最大和平均利润与亏损。这样,在使用新选择的 lot size 进行真实交易之前,您就能了解自己承担了多大的风险。
图片中展示的是使用我的默认设置得到的 backtesting 结果。为了获得相近的 backtesting 结果,只需根据您的 broker timezone 修改 GMT 参数。
不使用 martingale、不使用 grid trading,也不使用类似的方法。EA 在任何时候都只会打开一个 position。
请注意,drawdown 可能发生,并且是整个交易过程的一部分。这并不是一个快速致富的方案,尽管 backtesting 结果确实非常出色。请始终先在 demo account 中测试该算法。
过去的表现并不代表未来的结果。交易存在风险,您只能使用即使亏损也能够承受的资金进行交易。
与我之前的 EA——Trend Master D——不同,Ultimate Bollinger Bands D 的逻辑更加直接,旨在利用近几年 Gold 的高 volatility。当然,您也可以同时使用这两个 EA,以实现 portfolio diversification。
