- 显示:
- 2555
- 等级:
- 已发布:
- 2018.03.16 13:23
-
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务
指标看起来如下:
在这种视觉效果中使用了三种类型的图形化构造:
- DRAW_HISTOGRAM2 ("Level UP");
- DRAW_LINE ("CCI");
- DRAW_HISTOGRAM2 ("Level DOWN").
指标的输入参数
- Averaging period - 指标平均周期数;
- Level UP - 上方水平值;
- Level DOWN - 下方水平值.
上方和下方水平将会立即在指标子窗口中显示出来:
如何在EA交易中访问指标数据
DRAW_HISTOGRAM2 风格是基于两个指标缓冲区的,这就是为什么我们在数据窗口中看到两个上方水平和两个下方水平:
这些值对应了从0到4的指标缓冲区.
在 EA 交易中, 我们 使用iCustom来创建一个指标句柄:
//--- 输入参数 input int Inp_CCI_ma_period = 14; // 平均周期数 input double Inp_CCI_LevelUP = 90; // 上方水平 input double Inp_CCI_LevelDOWN =-90; // 下方水平 //--- int handle_iCustom; // 用于保存 iCustom 指标句柄的变量 //+------------------------------------------------------------------+ //| EA交易初始化函数 | //+------------------------------------------------------------------+ int OnInit() { //--- 创建 iCCI 指标的句柄 handle_iCustom=iCustom(Symbol(),Period(),"CCI Color Levels",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN); //--- 如果句柄没有创建 if(handle_iCustom==INVALID_HANDLE) { //--- 报告失败并输出错误代码 PrintFormat("创建 iCCI 指标句柄失败,交易品种为 %s/%s, 错误代码 %d", Symbol(), EnumToString(Period()), GetLastError()); //--- 指标早些停止运行 return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
这里假定了 CCI 彩色水平 指标位于 [data folder]\MQL5\Indicators\.
如何取得指标值 (只有缓冲区0,2和4是重要的):
//+------------------------------------------------------------------+ //| EA交易订单分时函数 | //+------------------------------------------------------------------+ void OnTick() { //--- double level_up = iCustomGet(handle_iCustom,0,0); // 缓冲区 #0 -> BufferUpHigh double cci = iCustomGet(handle_iCustom,2,0); // 缓冲区 #2 -> BufferCCI double level_down = iCustomGet(handle_iCustom,4,0); // 缓冲区 #4 -> BufferDownLow string text="上方水平 #0: "+DoubleToString(level_up,2)+"\n"+ "CCI #0: "+DoubleToString(cci,2)+"\n"+ "下方水平 #0: "+DoubleToString(level_down,2); Comment(text); }
在上面的屏幕截图中,鼠标点中的是索引为0的柱,指标数据也显示在 "数据窗口" 中,并且EA的缓冲区0,2和4的信息显示在图表上。
由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/19704

EasyAndFastGUI 开发库可以为自定义 MQL 程序创建图形界面。

VR 订单历史 MT5 轻量版 - 用于以 CSV 格式下载交易历史的脚本程序。