Better Volume Indicator For MT5
يُعرف Better Volume Indicator For MT5 باسم مستخدمي المتداولين الفنيين. ويستخدم خوارزمية مؤشر الحجم مع بيانات SMA لتحليل الاتجاه الرئيسي. يمكن لأولئك الذين يعتمدون على طريقة التداول اليدوي هذه الاستفادة بشكل كبير من هذه الأداة حيث يمكنها إظهار اتجاه السعر بمستوى عالٍ من الدقة.
طالما أن السعر يتجه شمالاً ، ستختبر أشرطة خضراء متكررة في إطار المؤشر. على العكس من ذلك ، ستتم طباعة أشرطة حمراء متكررة في إطار المؤشر طالما أن البائعين يدفعون السعر جنوبًا. يجب أن تجد إعدادات الطلب الخاصة بك في مستوى العرض أو المقاومة الحرجة ثم يجب استخدام شريط المؤشر.
ولكن تأكد من عدم العبث بالرسم البياني باستخدام بعض مؤشرات الحجم الإضافية مع هذه الأداة. اجعل الأمور بسيطة واربط الأشرطة في إطار D1. استخدم الحساب التجريبي إذا بدت الأمور صعبة في البداية.
تثبيت Better Volume Indicator For MT5
بعد تنزيل المؤشر عبر النموذج أعلاه ، ستحتاج إلى فك ضغط ملف zip. ثم تحتاج إلى نسخ الملف Minions.BetterVolume.mq5 في المجلد MQL5Indicators تثبيت MT5 . بعد ذلك ، يرجى إعادة تشغيل 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;
}
//+------------------------------------------------------------------+