Better Volume Indicator For MT5
Better Volume Indicator For MT5被称为技术交易者的用户。它使用体积指标的算法以及SMA数据来分析关键趋势。那些依赖此手动交易方法的用户可以使用此工具拥有巨大的优势,因为它可以高度精确地显示价格趋势。
只要价格向北,您将在指标框架中频繁出现绿色条形。相反,只要卖方将价格推向南方,经常会在指标框架中打印红色条。您必须在关键的电源或电阻水平中找到订单设置,然后使用指示器的条形。
但是,请确保通过使用更多的音量指示器和该工具来弄清图表。保持简单,并关联D1框架中的条。如果一开始看起来很困难,请使用练习帐户。
安装Better Volume Indicator For MT5
通过上面的表格下载指标后,您需要解压缩zip文件。然后,您需要将文件Minions.BetterVolume.mq5复制到MT5安装的文件夹MQL5Indicators中。之后,请重启MT5,然后您将能够在指标列表中看到该指标。
Better Volume Indicator For MT5参数
Better Volume Indicator For MT5具有要配置的2 参数。
input ENUM_APPLIED_VOLUME inpAppliedVolume = VOLUME_REAL; // Volume Type
input int inpBarsToAnalyze = 20; // N past bars to analyze
Better Volume Indicator For MT5缓冲区
Better Volume Indicator For MT5提供2 缓冲区。
SetIndexBuffer( 0, bufferVolume, INDICATOR_DATA );
SetIndexBuffer( 1, bufferColors, INDICATOR_COLOR_INDEX );
守则主要部分
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
int start=prev_calculated-1;
long SMA;
if (rates_total lt 2) { return(0); } // check for rates total
if (start lt 1) { start=1; } // correct position
// calculates the volumes histogram...
for(int i=start; i lt rates_total && !IsStopped(); i++) {
bufferVolume[i] = (double)(paramAppliedVolume==VOLUME_REAL ? volume[i] : tick_volume[i]); // calculates the indicator...
if(paramAppliedVolume==VOLUME_REAL) {
SMA = SMAOnArray(volume, paramBarsToAnalyze, i );
} else {
SMA = SMAOnArray(tick_volume, paramBarsToAnalyze, i );
}
// change candle colors accordingly...
if (open[i] lt close[i] && bufferVolume[i] gt SMA) { bufferColors[i]=1.0; }
else if (open[i] gt close[i] && bufferVolume[i] gt SMA) { bufferColors[i]=2.0; }
else { bufferColors[i]=0.0; }
}
return(rates_total);
}
//+------------------------------------------------------------------+
//| Calculates a SMA over an indicator array... |
//+------------------------------------------------------------------+
long SMAOnArray( const long &array[], int period, int position ) {
long sum = 0;
if (position-period lt = 0) { return false; }
for (int i = position-period+1; i lt =position; i++) {
sum += array[i];
}
return sum / period;
}
//+------------------------------------------------------------------+