[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 427

keekkenen
1115
keekkenen  
costy_ >>:
Вернее int startBar =iBarShift(NULL,PERIOD_D1, iTime(NULL,PERIOD_D1, N),false); // N - номер бара от текущего момента на дневном тф =))


не нужно так усложнять и заниматься тавтологией..

зачем искать бар N через iBarShift, когда он и так есть ?

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

costy_
2446
costy_  
keekkenen >>:


не нужно так усложнять и заниматься тавтологией..

зачем искать бар N через iBarShift, когда он и так есть ?

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

Ржу нимагу =))

Просто зациклить на 60 баров по iLow... по 1440 и все =))

keekkenen
1115
keekkenen  
costy_ >>:

Ржу нимагу =))

объясни над чем ? я тоже посмеюсь ..

Ivan Katsko
558
Ivan Katsko  
keekkenen >>:

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

если нужно начать с 60 бара так и берите время с него

int startTime = iTime(NULL,PERIOD_D1, N); // N - номер бара от текущего момента на дневном тф



Постановка задачи: имеется советник, есть желание его оптимизировать на последних, например, 40-ка барах в тестере стратегий. Эти сорок баров могут быть на часовом, 4-х часовом, дневном или другом ТФ. Работает тестер стратегий: промежуток времени на котором он работае указывается на панели тестера. Этот способ задания времени работы не выполняет поставленной выше задачи - тест на 40-ка барах. Значит надо внести изменения в советника так, чтобы выполняя код не тестер определял время тестирования (его возможности не устраивают), а  сам код

Ваше предложение работать не будет, так как для тестера время, которое было N баров назад является текущим.

costy_
2446
costy_  
ikatsko >>:

Постановка задачи: имеется советник, есть желание его оптимизировать на последних, например, 40-ка барах в тестере стратегий. Эти сорок баров могут быть на часовом, 4-х часовом, дневном или другом ТФ. Работает тестер стратегий: промежуток времени на котором он работае указывается на панели тестера. Этот способ задания времени работы не выполняет поставленной выше задачи - тест на 40-ка барах. Значит надо внести изменения в советника так, чтобы выполняя код не тестер определял время тестирования (его возможности не устраивают), а сам код.

Ваше предложение работать не будет, так как для тестера время, которое было N баров назад является текущим.

О это постановка задачи и решается она легко на любом фрейме но только в советнике!

if(Time[0]>iTime(0,1440,60))
функция
Ivan Katsko
558
Ivan Katsko  
costy_ >>:

if(Time[0]>iTime(0,1440,60,false))

C У П Е Р ! ! !  Но у него вроде как 3 параметра? datetime iTime( string symbol, int timeframe, int shift) 

 Поправлюсь, рано обрадовался. Для текущего времени тестер будет расчитывать время открытия указанного бара (назад) начиная от текущего. Т.е. опять не решит проблему. Надо же N баров назад от сегодняшнего(сиюсекундного) бара, а не от текущего времени тестера




costy_
2446
costy_  
Надеюсь это не оптимизация советника по ходу тестирования Библиотека Optimatic.
costy_
2446
costy_  
ikatsko >>:

C У П Е Р ! ! ! Но у него вроде как 3 параметра? datetime iTime( string symbol, int timeframe, int shift)


Извините пишу не в метаедиторе а по памяти.

keekkenen
1115
keekkenen  

боюсь эта конструкция if(Time[0]>iTime(0,1440,60)) всегда будет возвращать истину, т.к. это iTime(0,1440,60) значение будет на 60 баров левее, чем Time[0]..

что показывает тест ?

Ivan Katsko
558
Ivan Katsko  
costy_ >>:
Надеюсь это не оптимизация советника по ходу тестирования Библиотека Optimatic.

Подтверждаю, это не  "это". 

Ваше предыдущее предложение я переосмыслил (см.выше).