ATAS Script — язык, на котором можно написать собственный индикатор для ATAS. Он совместим с Pine Script: индикатор с TradingView переносится вставкой его кода. Кроме того, в ATAS Script есть функции ордерфлоу: дельта бара, объёмы бид и аск, POC и значения футпринта на каждой цене.
Скрипты пишут и компилируют в Редакторе скриптов — это панель на графике. Скомпилированный скрипт становится обычным индикатором: он появляется на графике и в списке индикаторов. Visual Studio и DLL-файлы не нужны. Редактор работает и с индикаторами на C#.

Что нужно
- Десктопная ATAS или ATAS X, бета-версия. В ATAS Web редактора скриптов нет.
- Функция Script Lab в вашей подписке ATAS. Без неё кнопки и пункта меню редактора не будет.
Как открыть редактор
Откройте график и выберите любой способ:
- кнопка Редактор скриптов на панели графика;
- правый клик по графику → Редактор скриптов;
- в списке индикаторов откройте категорию Пользовательский (Custom) и нажмите карандаш Открыть в редакторе скриптов рядом со скрипт-индикатором.
Редактор открывается панелью сбоку от графика. График запоминает, была ли панель открыта.

Как создать индикатор
- Нажмите Создать и выберите Индикатор ATAS Script.
- Появится новый скрипт со стартовым кодом, который рисует цену Close.
- Напишите свой код или вставьте его вместо стартового.
- Нажмите Запустить. Скрипт сохранится, скомпилируется и появится на этом графике.

Результат показывает строка состояния внизу редактора. Если есть ошибки, там будет Ошибка компиляции и число ошибок.
Чтобы добавить индикатор на другой график, откройте на нём Индикаторы: скрипт лежит в категории Пользовательский (Custom) под именем, которое задано в его коде.

Как исправить ошибки компиляции
Ошибки собраны в панели Проблемы с номером строки и столбца. Двойной клик по ошибке переносит к этой строке кода.

ATAS Script не подменяет неподдерживаемую функцию похожей. Если функция не поддерживается, вы получите ошибку компиляции с номером строки, а не индикатор, который считает иначе.
Как изменить индикатор
- Поменяйте код и снова нажмите Запустить. Индикатор сам обновится на всех открытых графиках, а его настройки останутся прежними.
- Если новая версия не компилируется, на графиках остаётся прежняя рабочая версия, пока вы не исправите ошибки.
- Несохранённые правки сохраняются автоматически, даже если вы переключились на другой скрипт или платформа закрылась. Когда вы снова откроете скрипт, редактор их восстановит.
- Сохранить сохраняет без компиляции. Запустить всегда сначала сохраняет скрипт.
- Кнопка со стрелкой после Запустить отменяет несохранённые правки. Сохранить как... в меню рядом с Сохранить делает копию под новым именем.
Чтобы перейти к другому скрипту, нажмите на имя скрипта вверху редактора. В списке все ваши скрипты, нужный можно найти через Поиск. Наведите курсор на скрипт — появятся значки, чтобы переименовать, скопировать или удалить его. Точка рядом со скриптом показывает его состояние: наведите на неё курсор, чтобы увидеть Сохранён, Несохранённые изменения или Последняя компиляция завершилась с ошибкой. Если удалить скрипт, его индикатор пропадёт и из списка индикаторов.

Скрипты лежат на вашем компьютере, в папке настроек ATAS. Скомпилированные скрипты компилируются заново при каждом запуске платформы, поэтому они остаются в списке индикаторов и в ваших рабочих пространствах. Если какой-то скрипт не скомпилировался, платформа и остальные скрипты загружаются как обычно.
Как перенести индикатор с TradingView
- В TradingView откройте исходный код индикатора и скопируйте его.
- В редакторе нажмите Создать → Индикатор ATAS Script.
- Замените стартовый код скопированным и нажмите Запустить.
- Если появились ошибки, исправьте их по панели Проблемы.
Сообщение Detected Pine Script v6. Version directive removed. в панели «Проблемы» — это информация, а не ошибка. Простые индикаторы обычно компилируются без правок. Большие индикаторы перед компиляцией может понадобиться поправить.
Переносите только свой код или код, лицензия которого это разрешает.
ATAS Script поддерживает Pine Script версий 4–6: переменные, условия и циклы, собственные функции, типы и методы, большинство встроенных функций технического анализа, математики, строк, массивов и цветов, входные параметры, рисование линиями, метками, прямоугольниками и таблицами.
Что не поддерживается:
- Данные другого таймфрейма или инструмента — request.security и другие функции request.*. Нужные значения считайте по барам самого графика.
- Стратегии: скрипт-стратегия компилируется как индикатор, а торговые вызовы игнорируются. Бэктеста стратегий нет.
- Библиотеки Pine Script (import, export, library).
- Словари (map) с нечисловыми ключами или значениями.
Значения могут отличаться от TradingView: ATAS считает по данным и истории вашего подключения.
Функции ордерфлоу
Помимо возможностей Pine Script, ATAS Script читает данные ордерфлоу каждого бара:
- значения бара: дельта, объём аск, объём бид, число сделок, кумулятивная дельта, POC, верхняя и нижняя границы зоны стоимости, максимальная и минимальная дельта;
- значения футпринта на цене: объём, аск, бид, дельта и сделки, число ценовых уровней, дисбалансы покупок и продаж.
Редактор подсказывает эти функции при вводе.
Индикаторы на C#
Чтобы написать индикатор на C#, нажмите Создать → Индикатор C#. Запустить, Проблемы, список скриптов и добавление на другой график работают так же, как для ATAS Script.
- Ради безопасности код на C# не может работать с файлами, сетью, потоками, рефлексией и системными вызовами. На такой код выдаётся ошибка Forbidden namespace или Potentially unsafe code pattern.
- Чтобы подключить стороннюю DLL, разверните Референсы над кодом и нажмите Добавить референс. DLL принимается только из папки, которая указана в сообщении об ошибке.
- Индикаторы, которые поставляются DLL-файлами без исходного кода, в редакторе скриптов не открываются.

Если что-то не так
| Проблема | Что делать |
| Нет кнопки или пункта меню редактора скриптов | Проверьте, что у вас десктопная бета-версия ATAS или ATAS X и что в подписку входит Script Lab. Если всё так, напишите в поддержку. |
| Ошибка говорит, что данные другого таймфрейма недоступны | В коде есть request.security или другая функция request.*. Уберите её и считайте значения по барам графика. |
| Предупреждение: скрипт-стратегия скомпилирован как индикатор | Индикаторная часть работает, но сделки не выставляются и бэктеста нет. |
| Ошибка говорит, что значения стратегии не поддерживаются | Код использует значения стратегии. Перепишите скрипт как индикатор. |
| Ошибка говорит, что функция или свойство не поддерживается | Этой функции в ATAS Script нет. Замените её своим кодом. |
| Ошибка говорит, что именованный аргумент неизвестен | Проверьте имя параметра функции. |
| Компиляция не прошла, но индикатор на графике есть | На графике осталась прежняя рабочая версия. Исправьте ошибки в панели «Проблемы» и снова нажмите «Запустить». |
| Ошибка C#: Forbidden namespace или Potentially unsafe code pattern | Уберите код, который работает с файлами, сетью, потоками или системными вызовами. |
| Ошибка C#: референс не разрешён | Положите DLL в папку, указанную в сообщении об ошибке, и добавьте референс снова. |
| Ошибка говорит, что компилятор недоступен | Перезапустите платформу. Если повторяется, напишите в поддержку и приложите логи платформы. |
Статья помогла?
Отлично!
Спасибо за ваш отзыв
Извините, что не удалось помочь!
Спасибо за ваш отзыв
Комментарий отправлен
Мы ценим вашу помощь и постараемся исправить статью