Better Volume Indicator For MT5
Der Better Volume Indicator For MT5 ist als Benutzer der technischen Händler bekannt. Es verwendet den Algorithmus des Volumenindikators zusammen mit den SMA-Daten zur Analyse des Schlüsseltrends. Wer sich auf diese manuelle Handelsmethode verlässt, kann mit diesem Tool einen großen Vorteil haben, da es den Preistrend mit hoher Präzision darstellen kann.
Solange der Preis nach Norden geht, treten im Indikatorrahmen häufig grüne Balken auf. Im Gegenteil, im Indikatorrahmen werden häufig rote Balken gedruckt, solange die Verkäufer den Preis nach Süden drücken. Sie müssen Ihre Auftragseinstellungen in der kritischen Versorgungs- oder Widerstandsstufe finden, und dann sollte der Balken des Indikators verwendet werden.
Stellen Sie jedoch sicher, dass Sie das Diagramm nicht durcheinander bringen, indem Sie zusammen mit diesem Tool einige weitere Lautstärkeanzeigen verwenden. Halten Sie die Dinge einfach und ordnen Sie die Balken im D1-Rahmen zu. Verwenden Sie das Übungskonto, wenn es am Anfang schwierig erscheint.
Installation des Better Volume Indicator For MT5
Nachdem Sie den Indikator über das obige Formular heruntergeladen haben, müssen Sie die Zip-Datei entpacken. Anschließend müssen Sie die Datei Minions.BetterVolume.mq5 in den Ordner MQL5Indicators Ihrer MT5 Installation kopieren. Starten Sie danach MT5 neu und Sie können den Indikator in der Liste der Indikatoren sehen.
Parameter des Better Volume Indicator For MT5
Der Better Volume Indicator For MT5 verfügt über 2 zu konfigurierende Parameter.
input ENUM_APPLIED_VOLUME inpAppliedVolume = VOLUME_REAL; // Volume Type
input int inpBarsToAnalyze = 20; // N past bars to analyze
Puffer des Better Volume Indicator For MT5
Der Better Volume Indicator For MT5 stellt 2 Puffer bereit.
SetIndexBuffer( 0, bufferVolume, INDICATOR_DATA );
SetIndexBuffer( 1, bufferColors, INDICATOR_COLOR_INDEX );
Hauptteile des Codes
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;
}
//+------------------------------------------------------------------+