顺水外汇EA交易网MT4

标题: MT4分时图指标 [打印本页]

作者: houjingjun    时间: 2018-1-11 14:57
标题: MT4分时图指标
在网上找了很近没找到MT4平台分时图指标,没办法自己写了一个,希望对有这个需求的朋友有用该指标采用5分钟折线图,效果与同花顺、文华财经等软件的分时图非常接近
下面贴两张效果对比图,一张是文化财经赢顺软件的欧元分时图,一张是我编写的这个指标的分时图,源代码也给贴出来了由于外汇市场没有统一的精确的成交量,因此各个行情软件的数据会有差别,不过并不影响总体趋势的判断
//+------------------------------------------------------------------+
//|                                                   FenShiTu_I.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//|                指标采用5分钟的折线图,得到的效果和分时图非常接近 |
//|                该指标使用方法:1、把5分钟分钟K线图设置改成折线图 |
//|                                2、折线图的颜色改成白色           |
//|                                3、设置好背景和网格颜色           |
//+------------------------------------------------------------------+
#property  copyright "Copyright 2015, houxinyu "
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_chart_window
#property  indicator_buffers 2
#property indicator_color1 Yellow//黄色均线
#property indicator_color2 Red//红色零轴(昨收盘价)      
//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
int shift;
int i;
int loopbegin;
double VolumeSum;
double AmountSum;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- 2 additional buffers are used for counting.
   IndicatorBuffers(5);
//---- drawing settings
   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexBuffer(1,ExtMapBuffer2);
   //SetIndexBuffer(2,sum);
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,2);
   SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,2);
//---- initialization done
   return(0);
  }
int start()
  {   
      //从每天的0点计算到现在的柱体数量
      string time=TimeToString(TimeCurrent(),TIME_DATE);
      datetime d=StringToTime(time);
      loopbegin=iBarShift(0, 0, d, false);
      for(shift = 0; shift <= loopbegin; shift++)
      {
         AmountSum = 0;
         VolumeSum = 0;
         for(i = 0; i <= loopbegin-shift  ; i++)//shift为0的时候是最左面的主体,累加数量最多为loopbegin根
         {
         AmountSum+=(iVolume(0, 0, loopbegin-i)*Close[loopbegin-i]);
         VolumeSum+=iVolume(0, 0, loopbegin-i);
         }
         ExtMapBuffer1[shift] = AmountSum/VolumeSum;
         ExtMapBuffer2[shift]=iClose(0,PERIOD_D1,1);//零轴采用昨天的收盘价
      }
      return(0);
  }
//+------------------------------------------------------------------+

作者: wsndhy    时间: 2018-1-11 15:27
hao aaaaaaaaaaa
作者: guoyoz    时间: 2018-1-11 16:15
谢谢分享
作者: commander    时间: 2018-1-11 17:43
感谢分享。。。。。
作者: yunyun-35    时间: 2018-1-11 18:10
感谢楼主。加载后是在主图上的,用旧版编译器编译出现2个地方错误,但放在新版MT4里可以显示。

作者: 951    时间: 2018-1-11 19:27
kjbknfjcj

作者: henryliu    时间: 2018-1-11 19:33
你挺有才,不过你的均线算法可能跟分时里的有些不同
作者: isguaiwu    时间: 2018-1-11 19:43
值得拥有....
作者: xucheng2    时间: 2018-1-11 19:59
学习, 谢谢分享!
作者: hezhigang6    时间: 2018-1-11 20:09
使用折线图一样的效果
[attach]20849[/attach]

作者: houjingjun    时间: 2018-1-11 20:31

有什么不同,还请指点,我也是根据网上说的分时图算法计算的、当天成总交金额除以总成交量,得到的结果只能是近似的。我对比了文华财经的分时图,走势基本上是一致。
作者: houjingjun    时间: 2018-1-11 21:48

是一样的效果,但大家想要的主要是黄色均线吧

作者: hezhigang6    时间: 2018-1-11 22:15

什么逻辑?有什么用?有黄色均线就有保证?
[attach]20850[/attach]

作者: sgx800    时间: 2018-1-11 22:42
经典!感谢分享。

作者: q1a2z3    时间: 2018-1-11 23:17
谢谢分享




欢迎光临 顺水外汇EA交易网MT4 (http://waterforex.com/) Powered by Discuz! X3.2