Подсчёт баров с учётом выходных - страница 8

 
Integer, Rena - вам предлагают тянуть пустышку, особо не маскируясь. Я не хочу на это вестись. 
 
Renat Akhtyamov:

ну вот же

Time[i  (int)Fr]

а цикл такого плана

for(i=100; i>=0; i--)

с анализом не меньше нуля этого: i  (int)Fr

но линия в будущее(при i<0) все равно - только по времени получится, либо добавить выходные

хотя...

может быть и подскажут - как сместиться на отрицательное количество баров, я не помню

Сейчас от точки фрактала в будущее я сделал Time[(i+Fr)-x_bar],
теперь все линии встали на нужные места от фрактала плюс нужные бары вперёд, но за нулевой бар линии не встают уже

 
forex2030:

Сейчас от точки фрактала в будущее я сделал Time[(i+Fr)-x_bar],
теперь все линии встали на нужные места от фрактала плюс нужные бары вперёд, но за нулевой бар линии не встают уже

может быть попробовать в этом случае нарисовать другой буфер в настоящем времени и сместить в будущее?

https://docs.mql4.com/ru/customind/setindexshift

SetIndexShift - Пользовательские индикаторы - Справочник MQL4
SetIndexShift - Пользовательские индикаторы - Справочник MQL4
  • docs.mql4.com
При положительном значении изображение линии смещается вправо, при отрицательном - влево. Значение, рассчитанное на текущем баре, рисуется с указанным смещением относительно текущего бара.
 
Renat Akhtyamov:

может быть попробовать в этом случае нарисовать в настоящем времени и сместить в будущее?

Хм, надо попробовать.
Т.е. я рисую линию на первой точке и смещаю на бары.
Линия у меня не буфер а объект, как это организовать.

 
forex2030:

Хм, надо попробовать.
Т.е. я рисую линию на первой точке и смещаю на бары.
Линия у меня не буфер а объект, как это организовать.

если объект, то высчитывать время будущего бара с учетом выходных

а если индикатор, то два буфера при >=0 и при <0

в последнем случае команда по ссылке выше внутри цикла

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

 

Чем не устраивает? Есть начальная время, есть текущее время.

int  Bars(
   string           symbol_name,     // имя символа
   ENUM_TIMEFRAMES  timeframe,       // период
   datetime         start_time,      // с какой даты
   datetime         stop_time        // по какую дату
   );
 
Renat Akhtyamov:

если объект, то высчитывать время будущего бара с учетом выходных
а если индикатор, то два буфера при >=0 и при <0
в последнем случае команда по ссылке выше внутри цикла
при этом, верной будет только последняя линия индикатора

Хорошо, спасибо.
На сегодня уже хватит наверно, завтра попробую, линию закину в буфер и смещу на бары вперёд.

Konstantin Nikitin:

Чем не устраивает? Есть начальная время, есть текущее время.

Не помогает, пробовал уже

//+------------------------------------------------------------------------+ 
int NumData(datetime d_start,datetime d_stop){
   int bar=Bars(Symbol(),0,d_start,d_stop);
return(bar);}
 

forex2030:

Не помогает, пробовал уже

На сколько понятно из всех ваших сообщений. Вы не можете правильно указать время старта для подсчета промежутка бар.
Тут уже как вариант что вам нужно. Старт предыдущих или текущих недели/месяца/года

int  Bars(
   _Symbol,
   PERIOD_CURRENT,
   iTime(_Symbol, PERIOD_W1, 1),
   TimeCurrent()
   );
 
forex2030:

Хорошо, спасибо.
На сегодня уже хватит наверно, завтра попробую, линию закину в буфер и смещу на бары вперёд.

Не помогает, пробовал уже

самые интересные индикаторы конечно же те, которые рисуют будущее

 
forex2030:

Сейчас от точки фрактала в будущее я сделал Time[(i+Fr)-x_bar],
теперь все линии встали на нужные места от фрактала плюс нужные бары вперёд, но за нулевой бар линии не встают уже

Сделайте проверку, если бар отрицательный, то к нулевому бару прибавляйте время. Надо написать свою функцию MyTime(int bar), если бар меньше нуля, то к нулевому бара прибавлять время, иначе - использовать Time[]