Индикаторы: Volume Average percent

 

Volume Average percent:

Это нормализованная версия, показывающая объем в процентах по сравнению со средним объемом за выбранный период.

Автор: Mladen Rakic

 
Когда я выбираю использование фактического объема, информация об индикаторе не появляется, она вся белая.
 
rasta.trader:
Когда я выбираю использование фактического объема, информация об индикаторе не появляется, она вся белая.

если это форекс, то доступен только тиковый объем

 

Это выглядит фантастически. Эй, Младен, можно ли это сделать для MT4?

Пожалуйста, рассмотрите возможность.

 
Здравствуйте, не могли бы вы более подробно объяснить логику смены цвета? Я проверил код, но не смог его обнаружить, извините.
 
Kmt501 проверил код, но не смог его обнаружить, извините.

МОЖЕТ БЫТЬ

ЭТО ЦВЕТ

//+------------------------------------------------------------------+
//| Пользовательская функция итерации индикатора|
//+------------------------------------------------------------------+

  {
   if(Bars(_Symbol,_Period)<rates_total) return(-1);
   int i=(int)MathMax(prev_calculated-1,0); for(; i<rates_total && !_StopFlag; i++)
     {
      double _volume=double((inpVolumeType==vol_ticks) ? tick_volume[i]: volume[i]);
      double _avg = iCustomMa(inpAverageMethod,_volume,inpAveragePeriod,i,rates_total);
      average[i]  = 100;
      val[i]      = (_avg!=0) ? 100*_volume/_avg : 0;
      valc[i]     = 0;
      if(i>0 && close[i] > close[i-1])  valc[i] = (_volume > _avg*(1+inpBreakoutPercent*0.01)) ? 3 : 1;<<<<THIS IS COLOR



      if(i>0 && close[i] < close[i-1])  valc[i] = (_volume > _avg*(1+inpBreakoutPercent*0.01)) ? 4 : 2;<<<<THIS IS COLOR



     }
   return(i);
  }
 
Kmt501 проверил код, но не смог его обнаружить, извините.
//+------------------------------------------------------------------+
//| Пользовательская функция инициализации индикатора |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- отображение индикаторных буферов
   SetIndexBuffer(0,val,INDICATOR_DATA);
   SetIndexBuffer(1,valc,INDICATOR_COLOR_INDEX);  <<<<THIS IS COLOR

   SetIndexBuffer(2,average,INDICATOR_DATA);
   string _avgNames[]={"SMA","EMA","SMMA","LWMA"};
   IndicatorSetString(INDICATOR_SHORTNAME,"Volume "+_avgNames[inpAverageMethod]+" average percent ("+(string)inpAveragePeriod+")");
  }
 
Здравствуйте
"Да" и "Нет"
"Да" - это то, что позволяет определить тип буфера для управления цветом.
Но он задается в функции SetIndexBuffer
SetIndexBuffer(1,valc,INDICATOR_COLOR_INDEX);
которая делает ссылку со свойством "1".

Таким образом, "нет" также задается

#property indicator_label1  "Volume average percent"
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  clrDarkGray,clrYellowGreen,clrOrange,clrGreen,clrRed

После этого код, который создает цвет

      if(i>0 && close[i] > close[i-1])  valc[i] = (_volume > _avg*(1+inpBreakoutPercent*0.01)) ? 3 : 1;
      if(i>0 && close[i] < close[i-1])  valc[i] = (_volume > _avg*(1+inpBreakoutPercent*0.01)) ? 4 : 2;
Я отправил вам сообщение PM
 

Здравствуйте, Младен Ракич
Можете ли вы разработать для меня торгового робота?

Я хочу, чтобы вы разработали торгового робота, объединив индикатор "Volume Average percent" и индикатор :RSI".

Если вы хотите сотрудничать, я буду вдаваться в детали дизайна робота.
Спасибо
Mladen Rakic
Mladen Rakic
  • 2023.03.06
  • www.mql5.com
Trader's profile