- 显示:
- 1149
- 等级:
- 已发布:
- 2017.03.23 09:03
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
基于 权重振荡器 WeightOscillator 方向变化的交易系统。当振荡器从上涨向下跌发生方向变化时卖出, 当方向变为上涨时买入。当柱线收盘时形成信号。
EA 中的 WeightOscillator_HTF 指标只是出于更方便地在策略测试器中将趋势可视化, 在其它操作模式中它们没有动作。
放置 WeightOscillator.ex5 和 WeightOscillator_HTF.ex5 编译文件至 <客户端文件夹>\MQL5\Indicators。
编译之后, Exp_WeightOscillator.ex5 交易系统文件将 WeightOscillator.ex5 和 WeightOscillator_HTF.ex5 指标作为 资源 包含在内, 所以, 编译 EA 时不需要它们出现在终端文件夹里即可工作!为此目的, 已将相应的代码添加到 EA 代码中, 以便将这些指标包含在交易系统的可执行文件中。
指标可执行文件已作为资源添加到全局范围:
//---- 在 EA 代码里包含指标作为资源 #resource "\\Indicators\\WeightOscillator.ex5" #resource "\\Indicators\\WeightOscillator_HTF.ex5"
在 OnInit() 函数块里将字符串路径更改为指标的资源:
//---- 获取 WeightOscillator 指标句柄 InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\\WeightOscillator",RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType, WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel); if(InpInd_Handle==INVALID_HANDLE) { Print(" 获取 WeightOscillator 指标句柄失败"); return(INIT_FAILED); } //---- 获取 WeightOscillator_HTF 指标句柄以便在策略测试器中可视化 if(MQLInfoInteger(MQL_VISUAL_MODE)) { //---- 获取 WeightOscillator_HTF 指标的句柄 int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\\WeightOscillator_HTF",InpInd_Timeframe, RSIWeight,RSIPeriod,RSIPrice,MFIWeight,MFIPeriod,MFIVolumeType, WPRWeight,WPRPeriod,DeMarkerWeight,DeMarkerPeriod,bMA_Method,bLength,bPhase,HighLevel,LowLevel); if(Ind_Handle==INVALID_HANDLE) { Print(" 获取 WeightOscillator_HTF 指标句柄失败"); return(INIT_FAILED); } }
因此, 已编译的交易系统可执行文件能够在其它交易终端上独自使用, 而无需指标。
注意,如果交易商提供非零点差,并且可在开仓时设置止损及止盈,这个 TradeAlgorithms.mqh 库文件方可在 EA 中使用。您可以下载更多库文件的变体,链接如下: 交易算法。
在测试时使用的省缺自动交易程序的输入参数如下所示。止损和止盈测试中未使用。
图例. 1. 图表中是交易例子
测试结果 从 2015 品种 EURAUD H6:
图例. 2. 测试结果图表
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/17529

Keltner 通道相对于 MFI 振荡器的平均值绘制为蜡烛条序列

这是一个具有附加功能的标准 StdDev 指标, 可根据其值更改线条颜色。当数值增加时, 线条颜色为绿色; 当它下降时, 线条变成红色; 如果数值在若干周期内保持不变, 则线条颜色将保持黄色。