请观看如何免费下载自动交易

有趣的脚本?
因此发布一个链接 -
让其他人评价

喜欢这个脚本? 在MetaTrader 5客户端尝试它

指标

在副图上显示最近的点差图和其平均值-MT4指标 - MetaTrader 4脚本

Wujun Chen

显示:
5985
等级:
投票: 2
已发布:
2020.04.01 04:52
已更新:
2020.04.01 17:05

该指标基于记录每一Tick点差变动而实现的,走势类似于报价图表。



最新的点差值在右边,价格刷新数据向左推移,黄色线显示的是平均点差。

输入的时候,“ExtSize”表示你想显示的最大数量,0代表用当前窗口K线数。

下图是输入ExtSize=100时的黄金点差:


主要代码计算部分:

   static MqlTick last_tick;
   int size = prev_calculated;
   if(iRefreshRates(last_tick))//last_tick.bid!=Bid
     {
      if(size<Showbars && size<rates_total)
         size+=1;
      if(size>1)
         ArrayCopy(SpreadBuffer,SpreadBuffer,1,0,size-1);

      double mspread=MarketInfo(_Symbol,MODE_SPREAD);
      if(mspread<=0)
         mspread=(last_tick.ask-last_tick.bid)/_Point;
      SpreadBuffer[0]=mspread;
      //---
      double sum=0.0;
      for(int i=0; i<size; i++)
         sum+=SpreadBuffer[i]; // Summation for the double
      if(size<=4)
         SpreadMapBuffer[0]=size>0?(sum/size):SpreadBuffer[0]; // Just divide the sum by the number
      else                                                     //--- now, get the highest value itself in the array
        {
         double terminal=SpreadBuffer[ArrayMaximum(SpreadBuffer)]+SpreadBuffer[ArrayMinimum(SpreadBuffer)];
         SpreadMapBuffer[0]=(sum-terminal)/(size-2);
        }
      ArrayInitialize(SpreadMapBuffer,SpreadMapBuffer[0]);
      ObjectMove(SpreadMapName, 0, last_tick.time, SpreadMapBuffer[0]);//修改移动
     }

程序包含两个文件,可以分别使用,就是计算方法有些区别。

在锁仓账户中用单边模式计算多个订单的价格 在锁仓账户中用单边模式计算多个订单的价格

MT4账户一般是双边模式,但如果你采用加仓的话,价格分布在不同位置,就不好知道当前的平均开单价,本脚本采用MT5的单边账户模型显示了一些相应的价格(平均开单价,保本价,中价),并可以计算到达某个价格下的利润。

趋势追踪型EA 趋势追踪型EA

它不会频繁建仓,他只会根据固定形态建仓。

Three Colors Three Colors

Example: Moving Average indicator filling by different colors

MACD 样本 MACD 样本

经典 MACD 样本。