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

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


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

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

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

 
keekkenen >>:


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

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

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

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

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

 
costy_ >>:

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

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

 
keekkenen >>:

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

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

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



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

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

 
ikatsko >>:

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

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

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

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

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

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

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




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

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


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

 

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

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

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

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

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

Причина обращения: