Найти тему
Трейдинг инсайдер

Трейдинг бот своими руками без программирования - часть 3 из 3

Оглавление

В первой и второй части мы рассмотрели принципы построения стратегии на платформе TradingView, настроили шлюз для отправки сигналов на биржу Binance.

В этой части мы доработаем стратегию в TradingView для отправки сообщений об открытии позиции, о размере Stop Loss и Take Profit.

Ниже я привожу простую стратегию торговли по сигналам индикатора RSI:

Давайте разберем каждую строку кода:

strategy("My script", overlay=true) - Название скрипта

pair = input('BTCUSDT', 'Pair') - Пара для торговли на Binance

leverage = input(5, 'Leverage', options=[1,2,3,5,10,20,50,75,100,125]) - Уровень маржи на Binance

qty = input('$100', 'Qty', tooltip='Например 100$ с leverage=5 потребуют на счету не менее 20$')

priceType = input('market', 'Price type', options=['market','stop-limit'], tooltip='Тип ордера - По рынку или Стоп-лимит, если хотите использовать Стоп-лосс и Тейк профит - то тут выбираете По-рынку')

istpsl = input(true, 'TP/SL', tooltip='значение true/false в зависимости хотите ли использовать stop-loss и take-profit')

tp = input(2.0, 'TP, %', input.float, minval=0.1, step=0.1, tooltip='Уровень Тейк-профита в процентах')

sl = input(1.0, 'SL, %', input.float, minval=0.1, step=0.1, tooltip='Уровень Стоп-лосса в процентах')

slot = input(2, 'Slot ID', minval=1, step=1, tooltip='Указываете номер слота в сервисе Aleeert')

userkey = input('USER KEY', 'Код ключа из сервиса Aleeert userkey')

comment = 'Pine script Starter' // Просто комментарий

command1 = '' // служебная переменная

command2 = '' // служебная переменная

long = false // служебная переменная

short = false // служебная переменная

isLong = false // служебная переменная

isShort = false // служебная переменная

isLong := isLong[1] // служебная переменная

isShort := isShort[1] // служебная переменная

orderPrice = priceType=='stop-limit' ? tostring(round_to_mintick(close)) + ':' + tostring(round_to_mintick(close)) + '(S)' : 'market' // собираем цену открытия для отправки в сервис Aleeert

tpsl = istpsl ? '|' + tostring(tp) + '%|' + tostring(sl) + '%' : '' // записываем TP/SL в строковом виде для отправки в сервис Aleeert

rsiLength = 14 // параметр для RSI

rsiValue = rsi(close, rsiLength) // считаем RSI по ценам закрытия

if (strategy.position_size==0) // ищем вход только если мы не в позиции

if (rsiValue > 80) // входим в шорт если зона перекупленности

short := true // служебная переменная

isShort := true // служебная переменная

isLong := false // служебная переменная

command1 := 'if not short: ' + pair + '(x' + tostring(leverage) + '), cancel-close-sell, ' + qty + ', ' + orderPrice + tpsl + ', ' + tostring(slot) + ', ' + userkey + ', ' + comment // формируем команду для отправки в Aleeert

strategy.entry("Short", strategy.short) // Устанавливаем вход в стратегию в шорт

strategy.exit("Exit Short profit", "Short", limit = loww ,stop =highh) // устанавливаем критерии выхода из сделки SL/TP

alert(command1 + ';' + command2, alert.freq_once_per_bar_close) // создаем алерт (уведомление) в TradingView - самая важная строчка

if (rsiValue < 20) // входим в лонг в зоне перепроданности

long := true // служебная переменная

isLong := true // служебная переменная

isShort := false // служебная переменная

command1 := 'if not long: ' + pair + '(x' + tostring(leverage) + '), cancel-close-buy, ' + qty + ', ' + orderPrice + tpsl + ', ' + tostring(slot) + ', ' + userkey + ', ' + comment // формируем команду для отправки в Aleeert

strategy.entry("Long", strategy.long) // устанавливаем критерии выхода из сделки SL/TP

strategy.exit("Exit Long profit", "Long", limit = highh,stop = loww) // устанавливаем критерии выхода из сделки SL/TP

alert(command1 + ';' + command2, alert.freq_once_per_bar_close) // создаем алерт (уведомление) в TradingView - самая важная строчка

Логика работы алгоритма

1. Проверяем есть ли позиция в на текущей свече

2. Если позиции нет, то проверяем сигнал индикатора RSI

3. Если индикатор дал сигнал, то формируем сообщение для отправки на шлюз Aleeert

4. Заставляем TradingView отправить нам сигнал

Последние штрихи в настройке TradingView

Создаем алерт по стратегии. Нажимаем на будильник.

-2

Выбираем тип уведомления Webhook URL и вписываем адрес сервиса https://aleeert.com/api/v1/

-3

Проверяем в баре справа, что уведомления по скрипту заработали.

-4

В течении недели тестирования нового алгоритма, доход составил 35%

-5

Полезные ссылки:

Телеграмм канал "МИР ТРЕЙДИНГА И РОБОТОВ": https://t.me/unibotplatform_ru

YouTube канал: https://www.youtube.com/channel/UCURR4MGOiUMBtn5eChf-r9g

Часть 1 - введние в создание торговых стратегий на TradingView

Часть 2 - настройка шлюза между TradingView и Binance

Часть 3 - настройка стратегии TradingView