Умные головы, помогите разобраться

 

я торгую на 15 минутках а тренд определяю по 4м часам, вследствии этого не очень удобно переходить постоянно по таймфреймам.

Тренд я определяю по отношению Машки (МА) большего периода к Машке меньшего периода на 4х часах. 

Накидал следующий код :

int start()
  {
//---- Введение переменных с плавающей точкой  
double Trend;
//----+ Введение целых переменных и получение уже посчитанных баров
int MaxBar,limit,counted_bars=IndicatorCounted();
//---- проверка на возможные ошибки
if (counted_bars<0)return(-1);
//---- последний посчитанный бар должен быть пересчитан 
if (counted_bars>0) counted_bars--;
//---- определение номера самого старого бара, начиная с которого будет произедён пересчёт новых баров
MaxBar=Bars-2;
limit=(Bars-1-counted_bars);
//---- инициализация нуля
if (limit>MaxBar)
{
  limit=MaxBar;
  HighBuffer[Bars-1]=0; 
  LowBuffer [Bars-1]=0;

}
//----
double Price = MarketInfo(0,MODE_BID);
for (int bar=limit; bar>=0;bar--)
{
  Trend= (iMA(Symbol(),240,30,0,2,0,bar)-iMA(Symbol(),240,1,0,2,0,bar));

  if (Trend>0){HighBuffer[bar]=1; LowBuffer [bar]=0;}
  if (Trend<0){LowBuffer [bar]=1; HighBuffer[bar]=0;}
   
}
   return(0);
 }

но вот с отображением дела плохи,.  если смотреть на 4х часовке то все хорошо, после пересечение машек кластер зарисовывается там где и положено.

На 15 минутке естественно этот кластер видно, но он отображает данные 4х часов, тоесть свечи 4х часовой, а мне нужно эти данные привести в соответствии с 15 минуткой.

я так понимаю свеча 4х часов содержит в себе 16 свечей 15 минуток, значит и кластеров должно быть 16, по одному на каждую 15 минутную свечу.

Помогите как поправить код что дописать! 

 

все потому что вы в функции для 4-часовых машек подставляете номер бара с 15-минуток - переменная bar. Вместо нее нужно в теле цикла вычислить

int bar_h4=iBarShift(Symbol(),PERIOD_H4,Time[bar]);
переменная bar_h4 содержит номер бара на H4, который соответствует данному бару на M15
 
Огромное Человеческое спасибо!  Это действительно помогло!  Сколько я вариантов перебирал до этого, усложняя все, а оказалось все проще некуда. ))
Причина обращения: