Проблемы с делением! - страница 2

 
Vinin:
SK. писал (а):
Vinin:

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


Скрипт на истории работает. Скрипт отличается от советника главным образом свойствами специальной функции start(). В советнике эта функция запускается на исполнение многократно (на ближайшем тике, пришедшем после окончания предыдущего сеанса исполнения), а в скрипте - один раз, и после окончания работы больше не запускается.

Все операторы работают как положено и в экспертах и в скриптах. Если запустить такой код:

int start()
   {
   int i, k;                              // Инициализируем переменную
   for (i = Bars-1; i >= 0; i--)          // Цикл
      {
      k++;                                // Счётчик итераций       
      }
   Alert ("Значение Bars = ",Bars,"   Количество итераций = ",k);  
   return;
   }

то (на моей истории) получается такой результат:

К сожалению скрипт на истории все таки не работает, а только на видимой части.



Точно. У меня тоже только на видимой.

А Вы считаете что советнег должен увидеть всю историю? Жаль тиков нет сейчас не посмотрим.

Я вот тоже считал что Скрипт и Советник отличаются только запуском Start. Или опять самое интересное незадокументировано!

 
Vinin:
SK. писал (а):
Vinin:

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


Скрипт на истории работает. Скрипт отличается от советника главным образом свойствами специальной функции start(). В советнике эта функция запускается на исполнение многократно (на ближайшем тике, пришедшем после окончания предыдущего сеанса исполнения), а в скрипте - один раз, и после окончания работы больше не запускается.

Все операторы работают как положено и в экспертах и в скриптах. Если запустить такой код: то (на моей истории) получается такой результат:

К сожалению скрипт на истории все таки не работает, а только на видимой части.

Я пытаюсь сказать, что скрипт и эксперт имеют одинаковый доступ к информации. А разница между ними - в свойствах их специальных функций.

В данном примере предопределённая переменная Bars даёт по 65000 баров и эксперту и скрипту. Но это её свойство (а более точно, её компетенцию ограничивают настройки клиентского терминала), и качество скрипт/эксперт тут ни при чём. И эксперт и скрипт могут работать и с полной историей. Для этого просто нужно использовать другой источник получения данных, например, файл истории.

----------
(Кому нетерпится проверить в выходной:
- скрипт можно запустить и так, он отработает, т.к. его старт запускается в момент прикрепления к графику;
- для запуска эксперта можео сделать одно из двух:
- вставьте представленный выше код в спец. функцию инит и запустите;
- пропишите в ините вызов функции старт и запустите.
Если Вы всё сделаете правильно, то результаты работы эксперта и скрипта будут одинаковыми)

 
SK. писал (а):
Vinin:
SK. писал (а):
Vinin:

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


Скрипт на истории работает. Скрипт отличается от советника главным образом свойствами специальной функции start(). В советнике эта функция запускается на исполнение многократно (на ближайшем тике, пришедшем после окончания предыдущего сеанса исполнения), а в скрипте - один раз, и после окончания работы больше не запускается.

Все операторы работают как положено и в экспертах и в скриптах. Если запустить такой код: то (на моей истории) получается такой результат:

К сожалению скрипт на истории все таки не работает, а только на видимой части.

Я пытаюсь сказать, что скрипт и эксперт имеют одинаковый доступ к информации. А разница между ними - в свойствах их специальных функций.

В данном примере предопределённая переменная Bars даёт по 65000 баров и эксперту и скрипту. Но это её свойство (а более точно, её компетенцию ограничивают настройки клиентского терминала), и качество скрипт/эксперт тут ни при чём. И эксперт и скрипт могут работать и с полной историей. Для этого просто нужно использовать другой источник получения данных, например, файл истории.

----------
(Кому нетерпится проверить в выходной:
- скрипт можно запустить и так, он отработает, т.к. его старт запускается в момент прикрепления к графику;
- для запуска эксперта можео сделать одно из двух:
- вставьте представленный выше код в спец. функцию инит и запустите;
- пропишите в ините вызов функции старт и запустите.
Если Вы всё сделаете правильно, то результаты работы эксперта и скрипта будут одинаковыми)


Да, согласен. Просто никто из нас не уточнял режим работы эксперта. В рабочем режиме будет доступна видимая часть, во время оптимизации вся история. К скрипту это отношения не имеет. Он видит только видимую часть, как и индикаторы.
Причина обращения: