Нахождение времени открытия/закрытия бара более высокого периода - страница 2

 


// ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
int shift=iBarShift(NULL,PeriodToTest,iTime(NULL, 0, i));

HighPreviousPeriod = iHigh(NULL, PeriodToTest, shift+1);

LowPreviousPeriod = iLow( NULL, PeriodToTest, shift+1);

int PeriodBarStartTime = iTime(NULL, PeriodToTest, shift);
int PeriodBarEndTime = PeriodBarStartTime+PeriodUse*60;

// ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

 
Avals писал(а) >>


// ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
int shift=iBarShift(NULL,PeriodToTest,iTime(NULL, 0, i));

HighPreviousPeriod = iHigh(NULL, PeriodToTest, shift+1);

LowPreviousPeriod = iLow( NULL, PeriodToTest, shift+1);

int PeriodBarStartTime = iTime(NULL, PeriodToTest, shift);
int PeriodBarEndTime = PeriodBarStartTime+PeriodUse*60;

// ````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````

Это помогло, основная проблема решена! Большое Спасибо!

 

Еще один вопрос, который я когда-то задавал на Форуме, но не получил ответа -

и связанный практически с большинством пользовательских индикаторов, спользующих for-цикл.

Если рассмотреть данный скрипт с исправлениями -

1. Какие изменения происходят в его работе с появлением каждого нового тика или бара?

2. Перерисовывает ли он все поновой с каждым новым тиком?

3. Смотрит ли каждый раз на прошлые периоды, в пределах которых, в принципе, больше не происходит никаких изменений?

.

Если 2 и 3 верны то CPU компьютера расходуется впустую - можно ли как-то разделить прошлое от настоящего в этом

Примере и тем самым облегчить работу?

.

Спасибо!

 
chief2000 писал(а) >>

Еще один вопрос, который я когда-то задавал на Форуме, но не получил ответа -

и связанный практически с большинством пользовательских индикаторов, спользующих for-цикл.

Если рассмотреть данный скрипт с исправлениями -

1. Какие изменения происходят в его работе с появлением каждого нового тика или бара?

2. Перерисовывает ли он все поновой с каждым новым тиком?

3. Смотрит ли каждый раз на прошлые периоды, в пределах которых, в принципе, больше не происходит никаких изменений?

.

Если 2 и 3 верны то CPU компьютера расходуется впустую - можно ли как-то разделить прошлое от настоящего в этом

Примере и тем самым облегчить работу?

.

Спасибо!

скрипт и индикатор работают по разному. У скрипта функция "start" выполняется один раз при его запуске, а у индикатора каждый раз с новым тиком по инструменту к которому прикреплен. Для сокращения вычислений и например есть функция IndicatorCounted() и тогда можно не анализировать повторно прошлое как в п.3 Как он используется см. https://book.mql4.com/ru/samples/icustom

 
Avals писал(а) >>

скрипт и индикатор работают по разному. У скрипта функция "start" выполняется один раз при его запуске, а у индикатора каждый раз с новым тиком по инструменту к которому прикреплен. Для сокращения вычислений и например есть функция IndicatorCounted() и тогда можно не анализировать повторно прошлое как в п.3 Как он используется см. https://book.mql4.com/ru/samples/icustom

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

(а в МТ под скриптом подразумевается очень определенный вид кода) - я имел в виду только Пользовательские Индикаторы.

Огромное Вам Спасибо за помощь!

 
chief2000 писал(а) >>

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

(а в МТ под скриптом подразумевается очень определенный вид кода) - я имел в виду только Пользовательские Индикаторы.

Огромное Вам Спасибо за помощь!

пожалуйста)))