Чт, 6 августа, 2026

Инструкция

Как протестировать стратегию в TradingView с помощью Pine Script

Как протестировать стратегию

Если вы хотите собрать свою торговую стратегию и тут же проверить её на истории, обе задачи закрываются в одном окне TradingView, где стратегия описывается на языке Pine Script, а считает её встроенный тестер. Ничего скачивать и устанавливать не придётся, всё работает в браузере, а отчёт со сделками, прибылью и просадкой появляется через несколько секунд после нажатия одной кнопки.


Pine Script это собственный язык программирования TradingView, придуманный специально для описания торговых правил. Он намеренно простой, в нём нет циклов ради циклов, работы с файлами и прочего тяжёлого багажа настоящих языков разработки. Строка кода здесь читается почти как фраза на английском, а «купи, когда быстрая средняя пересекла медленную снизу вверх» умещается в две строчки. Код выполняется на серверах платформы и хранится в вашем аккаунте, так что редактор открывается в том же окне браузера, а результат виден сразу на графике. Именно поэтому люди без опыта программирования доходят до первого рабочего теста за вечер, а не за месяц.

Набор правил подойдёт любой, если его можно записать числом и условием. Покупка на пересечении быстрой и медленной скользящих средних, вход при снижении RSI ниже 30, пробой максимума за 20 баров со стопом в 2% и фиксацией прибыли в 5%… – тестер одинаково спокойно посчитает каждый такой вариант.

Главное преимущество такого способа проверки в том, что вы перестаёте оценивать стратегию на глаз.

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

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

Как протестировать стратегию в TradingView

Порядок действий одинаковый для акций, валюты или криптовалюты, меняется только инструмент в верхнем левом углу графика.

1. Откройте график. Зайдите на TradingView, нажмите «График» в верхнем меню и введите тикер в поле поиска слева вверху, например SBER или BTCUSDT. Сразу выберите таймфрейм, потому что от него зависит каждая цифра будущего отчёта.

Выбор инструмента и таймфрейма на графике TradingView перед тестом стратегии

2. Откройте редактор Pine. На правой вертикальной панели с иконками найдите кнопку Pine, и справа раскроется панель «Редактор Pine». Это встроенный редактор кода, устанавливать ничего не нужно. Если удобнее работать с кодом под графиком, панель переносится вниз командой «Переместить скрипт вниз» в меню редактора.

Кнопка Pine на правой панели TradingView для открытия редактора

Редактор Pine, открытый рядом с графиком в TradingView

3. Создайте новую стратегию. В левом верхнем углу редактора нажмите на название скрипта «Новый скрипт», в выпавшем меню выберите «Создать новый» и пункт «Стратегия». Откроется готовый шаблон со строкой strategy и парой учебных сделок, править такой каркас проще, чем писать всё с нуля.


Меню редактора Pine с созданием новой стратегии

Шаблон стратегии на Pine Script в редакторе TradingView

4. Вставьте свой код. Выделите содержимое шаблона, удалите его и вставьте пример из следующего раздела. Первая строка сообщает версию языка, вторая описывает саму стратегию и её деньги, а дальше идут условия сделок.

Код стратегии на пересечении скользящих средних в редакторе Pine

5. Нажмите «Добавить на график». Кнопка находится в верхней части редактора. Скрипт скомпилируется, на графике появятся стрелки входов и выходов, а внизу откроется вкладка «Тестер стратегий» с отчётом. Если вместо стрелок появилось красное сообщение об ошибке, в нём указан номер строки, где опечатка.

Кнопка Добавить на график в редакторе Pine Script

 

Стрелки входов и выходов стратегии на графике акций Сбербанка

6. Сохраните скрипт. Кнопка «Сохранить» рядом, придумайте понятное имя вроде «Пересечение средних, версия 1». Каждый следующий вариант сохраняйте отдельно, чтобы можно было вернуться к прошлому.

7. Задайте реальные условия торговли. Наведите курсор на название стратегии на графике, нажмите на шестерёнку и перейдите на вкладку «Свойства». Здесь укажите исходный капитал, объём заявки, комиссию своего брокера и проскальзывание. По умолчанию комиссия равна нулю, а это самая частая причина отчётов с фантастической прибылью.

Вкладка Свойства стратегии с полями комиссии и проскальзывания

8. Прочитайте отчёт. В тестере есть раздел с показателями и список сделок. Нажмите на любую сделку из списка, и график перепрыгнет на её бар, так удобно проверять, что вход случился именно там, где вы задумали, а не на бар позже.

9. Повторите тест на других данных. Тот же код прогоните на соседнем инструменте и на другом отрезке истории. Правила, которые дают прибыль только на одном тикере и только за один год, скорее всего подогнаны под этот кусок графика.

Готовый пример кода для копирования

Стратегия ниже покупает, когда быстрая скользящая средняя пересекает медленную снизу вверх, и закрывает позицию при обратном пересечении. Скопируйте её целиком, вставьте в редактор и нажмите «Добавить на график», всё заработает без правок.

//@version=6 strategy("Пересечение средних", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.05, slippage=2) fastLen = input.int(20, "Период быстрой средней") slowLen = input.int(50, "Период медленной средней") fastMa = ta.sma(close, fastLen) slowMa = ta.sma(close, slowLen) plot(fastMa, color=color.blue) plot(slowMa, color=color.orange) if ta.crossover(fastMa, slowMa) strategy.entry("Лонг", strategy.long) if ta.crossunder(fastMa, slowMa) strategy.close("Лонг")

Запись //@version=6 говорит платформе, что код написан на шестой версии языка, и без неё скрипт может повести себя странно. Функция strategy задаёт имя стратегии, стартовый капитал 100 000 рублей или долларов в зависимости от инструмента, размер одной сделки в 10% от капитала, комиссию 0,05% и проскальзывание в 2 тика. Дальше input.int создаёт поля, которые потом можно менять мышкой на вкладке «Аргументы» без правки кода, а ta.sma считает среднюю цену закрытия за нужное число баров. Команда ta.crossover срабатывает ровно в тот бар, когда первая линия пересекла вторую снизу вверх, strategy.entry открывает позицию, а strategy.close её закрывает.

Стоп-лосс в этом примере не задан намеренно, чтобы код оставался коротким. Добавить его можно одной строкой, и тогда позиция закроется при падении на заданный процент от цены входа.

strategy.exit("Выход по стопу", from_entry="Лонг", stop=strategy.position_avg_price * 0.98)

Если резюмировать, то чтобы протестировать свою стратегию, откройте график нужного инструмента на TradingView, справа раскройте редактор Pine, напишите или вставьте код стратегии, нажмите «Добавить на график» и прочитайте отчёт во вкладке «Тестер стратегий». До того как смотреть прибыль, задайте в настройках свою комиссию и проскальзывание, иначе цифры будут красивее реальности.

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

Фраза «покупаю на развороте после отката» для тестера пустой звук, а «покупаю, когда цена закрылась выше средней за 50 баров, а RSI при этом ниже 60» уже превращается в код. Если такого перевода нет, никакой инструмент не поможет, потому что проверять нечего.

Чем стратегия отличается от индикатора

В Pine Script есть два типа скриптов, и новички путают их чаще всего. Индикатор только рисует, то есть выводит линии, точки и стрелки, но сделок не совершает и отчёта не строит. Стратегия отправляет виртуальные заявки на покупку и продажу, ведёт учёт позиции и капитала и открывает тот самый тестер с результатами. Отличаются они одной строкой в самом начале файла, где вместо функции indicator стоит функция strategy.

Из этого следует практический вывод. Если вы скачали чужой скрипт из библиотеки сообщества и никакого тестера внизу не появилось, значит вам достался индикатор, и тестировать его в таком виде нельзя. Нужен код, объявленный как стратегия.

Настройки тестера, влияющие на результат

Одна и та же стратегия на одном и том же графике легко покажет прибыль или убыток в зависимости от того, что записано во вкладке «Свойства». Заполнять её нужно один раз, зато честными числами со своего брокерского счёта.

Настройки во вкладке «Свойства» и что в них указывать
НастройкаЧто задаётОриентир для первого теста
Исходный капиталСумму, с которой начинается расчёт всех сделокСумма, близкая к вашему реальному счёту
Объём заявки по умолчаниюСколько уходит в одну сделку, в бумагах, деньгах или процентах от капитала5-10% от капитала на сделку
КомиссияПлату брокера и биржи за каждую сделкуВаш тариф, у российских брокеров обычно около 0,05% от оборота
ПроскальзываниеРазницу между ценой сигнала и ценой реального исполнения, в тиках1-2 тика на ликвидных бумагах, больше на редко торгуемых
ПирамидингСколько сделок в одну сторону разрешено держать одновременно1, пока правила не проверены полностью

Отдельно стоит заглянуть в меню детализации баров. Тестер TradingView по умолчанию считает, что внутри одного бара цена шла по упрощённому маршруту, и на этом иногда строится ложная прибыль, когда стоп и тейк оказались внутри одной свечи. Режим с подробным просмотром внутренних движений цены доступен на платных тарифах и делает исполнение заявок ближе к реальному. Там же на тарифах уровня Plus и выше включается тестирование на глубокой истории, а на бесплатном аккаунте расчёт идёт примерно по последним 5 000 баров, чего на дневном графике хватает с запасом, а на пятиминутном хватит всего на пару месяцев.

Как читать отчёт тестера стратегий

Смотреть только на чистую прибыль бесполезно, потому что она ничего не говорит о том, какой ценой эта прибыль получена. В отчёте есть несколько показателей, по которым система оценивается за минуту.

Отчёт тестера стратегий TradingView с прибылью, просадкой и фактором прибыли

  • Общая прибыль, в отчёте она подписана как общие ПР/УБ. Итог по всем сделкам после комиссий, в деньгах и в процентах от стартового капитала.
  • Максимальная просадка. Самое глубокое падение капитала от достигнутой вершины. Эту цифру примерьте на себя честно, ведь просадку в 40% придётся пережить с реальными деньгами.
  • Фактор прибыли, его же называют профит-фактором. Сумма всех прибыльных сделок, делённая на сумму убыточных. Значение ниже 1 означает, что правила теряют деньги, а 1,5 и выше уже похоже на работающую систему.
  • Всего сделок. По 10-20 сделкам отчёт не доказывает ничего, потому что такой результат мог сложиться случайно. Ориентируйтесь на сотню сделок и больше.
  • Средняя сделка. Средний результат одной операции, который должен заметно превышать комиссию и спред, иначе весь доход уходит на издержки.

Список сделок полезен не меньше показателей. Пролистайте его и найдите самую крупную прибыльную операцию, а затем уберите её мысленно из отчёта. Если без одной удачной сделки вся прибыль стратегии исчезает, перед вами не система, а единичное совпадение, которое вряд ли повторится.

Список сделок стратегии в тестере TradingView с датами, ценой и результатом

Проверка результата на честность

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

Тестер показывает не будущую прибыль, а поведение конкретных правил на прошлых данных.

Вторая частая ловушка называется заглядыванием в будущее. Она возникает, когда скрипт берёт данные со старшего таймфрейма или пересчитывает сигнал внутри незакрытого бара, и в итоге стратегия принимает решение на основе цены, которой в тот момент ещё не существовало. Отчёт получается волшебным, а в реальной торговле повторить его невозможно. Признак простой, стрелки входов после каждого обновления страницы прыгают на другие бары. Лечится это тем, что все условия строятся на закрытых барах, а параметр calc_on_every_tick оставляют выключенным.

Учитывайте и то, что результат на зависит от периода.

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

Что делать со стратегией после теста

Прошедшие проверку правила рано выпускать на реальный счёт. Следующий шаг это форвард-тест, то есть наблюдение за той же стратегией на свежих данных в режиме реального времени, для чего в TradingView есть встроенный симулятор торговли с виртуальными деньгами. Двух-трёх недель обычно достаточно, чтобы увидеть расхождение между отчётом на истории и текущей работой, а заодно понять, комфортно ли вам вообще держать такие позиции.

Когда стратегия ведёт себя предсказуемо, на неё вешают оповещения через функцию alert, и дальше сигналы можно отправлять по вебхуку в торгового робота или просто получать на телефон. Тем, кому интересна полная автоматизация без написания кода, ближе окажется конструктор торговых роботов, а размер позиции и допустимый риск на сделку стоит определить заранее, опираясь на управление рисками в трейдинге. Тестер отвечает только на вопрос, как правила вели себя раньше, а сколько денег вы готовы отдать одной неудачной серии, решаете всё-таки вы.


Время начинать
Используй сразу
Факт
Счет
Анализ всех биржевых активов
3,539,720 активов
3,539,720 активов
От $12.95 в мес. Полный доступ
Детали
Анализ всех биржевых активов
3,539,720 активов
100+
фондовых бирж
50+
криптобирж
Исторические данные
за 187 лет
Котировки
3 539 720 активов
Индикаторы
+100 000
Скрипты
+150 000
Поставщики новостей
65+
105+ международных наград
Более 25 лет работы
Более 25 лет работы
От ₽1 2100+ активов
Детали
105+ международных наград
Более 25 лет работы
Капитал компании
€100000000
В секунду выполняется
до 7000 ордеров
Активы:
8 классов
Торговые платформы:
5
Спреды
от 0 пунктов
Среднее время исполнения
< 12 мс
Награды
130+
Страны
173
Открытых счетов
11+ млн
Прямые доступы к биржам
30 тыс акций, IPO и др.
30 тыс акций, IPO и др.
От $1 Бонусы до $2000
Детали
Прямые доступы к биржам
30 тыс акций, IPO и др.
Работает
в 130 странах
Клиенты
155+ тысяч
Инфраструктура
100G сеть
Ценных бумаг
30,000+
Фьючерсов
5,000+
Облигации
Евро, корпоративные и гос.
Участие в IPO
Есть
24 способа заработка
1526 криптовалют
1526 криптовалют
От $1 Бонус $6045
Детали
24 способа заработка
1526 криптовалют
Объем в сутки
$12,4 млрд
Пользователей
55+ млн
Страны:
160
Копитрейдинг:
Есть
Смотреть все
(1 оценок, среднее: 5,00). Пожалуйста, оцените пост! Мы очень старались!
Equity

Комментировать

Ваш адрес email не будет опубликован. Обязательные поля помечены *


ВНИМАНИЕ! Уважаемый читатель, комментарии не относящиеся к статье, содержащие ссылки на другие сайты, оскорбления других участников - будут удаляться. Спасибо за понимание!

Вы можете работать водителем такси или менеджером в офисе, но пользоваться ВКонтакте, покупать на Озон или летать Аэрофлотом на самолетах Яковлева. Зарабатывать на этих и других акциях интереснее, чем быть только их потребителями.
Рекомендовано для тебя

Торговая стратегия бабочка – Покупка и продажа

equity.today