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

 

Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?

 
forex2030:

Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?

(Time[t2]-Time[t1])/(24 * 60 *60) = кол-во календарных дней

t2-t1 = кол-во дневных баров

соотв их разница = столько было выходных дней (включая праздники и форс-мажоры)

 
forex2030:

Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?

А зачем их прибавлять к "нужным барам" ? 

 
Алексей Тарабанов:

А зачем их прибавлять к "нужным барам" ? 

Линия становится не на тот бар из-за расчёта не учитывая выходные


 
Maxim Kuznetsov:

(Time[t2]-Time[t1])/(24 * 60 *60) = кол-во календарных дней

Таким методом я получил кол-во баров за период, но выходные дни не учёл.

Если я к первой точке прибавляю нужное кол-во баров, то получаю неверную дату куда должен поставить линию.
Например первая точка 5 число + 12 баров = 17 число месяца, а с учётом выходных должно быть 21 число
Или как то можно прибавить к первой точке видимые бары которые на графике?

 

Не проще ориентироваться по времени бара.

 
Konstantin Nikitin:

Не проще ориентироваться по времени бара.

Как мне узнать что за 12 баров от первой точки до второй точки было 4 выходных и прибавить потом к 12+4 и тогда я получу нужную дату

 
forex2030:

Таким методом я получил кол-во баров за период, но выходные дни не учёл.

Если я к первой точке прибавляю нужное кол-во баров, то получаю неверную дату куда должен поставить линию.
Например первая точка 5 число + 12 баров = 17 число месяца, а с учётом выходных должно быть 21 число
Или как то можно прибавить к первой точке видимые бары которые на графике?

Вы линию по датам выставляете, или по барам? 

 
Алексей Тарабанов:

Вы линию по датам выставляете, или по барам? 

По дате

ObjLine("VLine",Time[j]+PeriodSeconds()*Pp,Price,Lime);

К первой точке прибавляю бары

 
forex2030:

По дате

К первой точке прибавляю бары

В начале OnTick: 

if( LastBottomTime ) LastBottomBar=iBarShift(NULL,0,LastBottomTime);

В конце: 

if( LastBottomBar < 1 ) LastBottomTime=0;       // Время последних фракталов

   else LastBottomTime=Time[LastBottomBar];

Естественно, все Lastы - глобальные. 
 
Алексей Тарабанов:

В начале OnTick: 

if( LastBottomTime ) LastBottomBar=iBarShift(NULL,0,LastBottomTime);

В конце: 

if( LastBottomBar < 1 ) LastBottomTime=0;       // Время последних фракталов

   else LastBottomTime=Time[LastBottomBar];

Что-то не пойму что мне это даст?

Может какой то перебор дней сделать от точки до точки и если за период день = 6 или 0 то day++;