Страница 1 из 1

Использование индикаторов в терминале

Добавлено: 04 янв 2020, 16:25
Владимир
Добрый день! Кто нибудь сможет объяснить такое непонятное явление:
Если создать индикатор и добавить следующий код

Код: Выделить всё

function Initialize()
{
// Обязательные параметры:
........
AddGlobalVariable("path", Types.String, @"c:\\dell\\Test23.txt");
}

function Evaluate()

{
...........
using (System.IO.StreamWriter sw = System.IO.File.CreateText(path))
{   sw.WriteLine("Math.Min = " + Convert.ToString(Math.Min(Input.High[1], Input.Low[1])));
   sw.WriteLine("Math.Max = " + Convert.ToString(Math.Max(Input.High[1], Input.Low[1])));
sw.Close(); sw.Dispose();
}
..............
}

Скомпилировать индикатор, а потом его просто забыть и не использовать (не на графиках, в роботах). При каждой загрузке терминала создаётся файл c:\dell\Test23.txt.

Код: Выделить всё

LogData ("" , IndicatorName);    //Создаёт то же файл но в папке C:\Users\"Пользователь"\AppData\Local\Alfa-Direct\Logs

Вопрос:
1) Зачем но создаёт файл если пользователь не использует индикатор?
2) Значит терминал в памяти создаёт экземпляры всех индикаторов и роботов даже которые не использует пользователь?
Кто знает ответ те на данный вопрос(желательно получить комментарий сотрудников Альфа Директ, они просматривают альтернотивный форум потому что он лучше их форума)

Re: Использование индикаторов в терминале

Добавлено: 05 янв 2020, 08:52
BugsDigger
А вы точно нигде не используете? Можно поискать контекстным поиском имя скрипта по файлам в
C:\Documents and Settings\<UserName>\AppData\Local\Alfa-Direct\Scripts\Indicators\Src
C:\Documents and Settings\<UserName>\AppData\Local\Alfa-Direct\Scripts\Strategies\Src

Если точно нигде не используете, то возможно, что при старте терминал шерстит содержимое директории со скомпилированными скриптами, чтобы определить, какие из них "живы", а для этого создаются пробные экземпляры классов ... Но это плохой вариант, т.к. скриптов м.б. много, и, не дай бог, какой-то из них делает что-то "тяжелое" (например, пишет/разбирает какой-нибудь большой файл) или вообще зациклится ...

Re: Использование индикаторов в терминале

Добавлено: 05 янв 2020, 18:20
Владимир
Добрый день! Скрипт сам есть есть лежит C:\Documents and Settings\<UserName>\AppData\Local\Alfa-Direct\Scripts\Indicators\Src , но на графике он как индикатор не используется в роботах тоже.
Перед загрузкой Альфы удаляем эти файлы из директорий.
Запускаем Альфу. Смотрим файлы опять есть. Вот в чём вопрос.
А если данные строки кода приведённые выше удалить или закомментировать то файлы не создаются. Если есть время проверьте сами посмеёмся в метсте.

Re: Использование индикаторов в терминале

Добавлено: 05 янв 2020, 18:49
BugsDigger
> Перед загрузкой Альфы удаляем эти файлы из директорий.
> Запускаем Альфу. Смотрим файлы опять есть. Вот в чём вопрос.

Ну еще остаются бинарники (директория Bin) ... Очевидно, терминал работает с ними.
Конечно, упорство терминала в этом вопросе явно достойно лучшего применения. :mrgreen:

> если данные строки кода приведённые выше удалить или закомментировать, то файлы не создаются

Это понятно: кода создания файла нет - нет и файла.

Re: Использование индикаторов в терминале

Добавлено: 05 янв 2020, 21:51
ensh
Да, конечно, хотелось бы иметь счетчик ссылок на каждый индикатор и стратегию и, в соответствии со счетчиком, активировать и выполнять то что нужно. Сейчас все лишнее нужно удалять и следить за тем, что грузиться в терминал, самостоятельно.
Неудобно, но не критично , как мне кажется.