Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?
(Time[t2]-Time[t1])/(24 * 60 *60) = кол-во календарных дней
t2-t1 = кол-во дневных баров
соотв их разница = столько было выходных дней (включая праздники и форс-мажоры)
Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?
А зачем их прибавлять к "нужным барам" ?
А зачем их прибавлять к "нужным барам" ?
Линия становится не на тот бар из-за расчёта не учитывая выходные
(Time[t2]-Time[t1])/(24 * 60 *60) = кол-во календарных дней
Таким методом я получил кол-во баров за период, но выходные дни не учёл.
Если я к первой точке прибавляю нужное кол-во баров, то получаю неверную дату куда должен поставить линию.
Например первая точка 5 число + 12 баров = 17 число месяца, а с учётом выходных должно быть 21 число
Или как то можно прибавить к первой точке видимые бары которые на графике?
Не проще ориентироваться по времени бара.
Не проще ориентироваться по времени бара.
Как мне узнать что за 12 баров от первой точки до второй точки было 4 выходных и прибавить потом к 12+4 и тогда я получу нужную дату
Таким методом я получил кол-во баров за период, но выходные дни не учёл.
Если я к первой точке прибавляю нужное кол-во баров, то получаю неверную дату куда должен поставить линию.
Например первая точка 5 число + 12 баров = 17 число месяца, а с учётом выходных должно быть 21 число
Или как то можно прибавить к первой точке видимые бары которые на графике?
Вы линию по датам выставляете, или по барам?
Вы линию по датам выставляете, или по барам?
По дате
ObjLine("VLine",Time[j]+PeriodSeconds()*Pp,Price,Lime);
К первой точке прибавляю бары
По дате
К первой точке прибавляю бары
В начале 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++;

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Есть две точки t1 и t2, между ними 25 баров,
как узнать сколько было выходных между точками например на D1 чтобы потом их прибавить к нужным барам?