Denis Stelmak
Denis Stelmak личный блог
08 января 2023, 20:38

Пишем робота для торговли за 15 минут…

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

Получим такое:
Пишем робота для торговли за 15 минут…

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

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

Например только лонг стратегия на двух МА выглядит вот так:

//@version=5

 

strategy(«2MA by Denis», commission_value = 0.022, initial_capital = 10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, overlay=true)

//ProfitSize = input(100)

fastLength = input(9)

slowLength = input(18)

price = close

 

mafast = ta.sma(price, fastLength)

maslow = ta.sma(price, slowLength)

if (ta.crossover(mafast, maslow))

    strategy.entry(«MA2CrossLE», strategy.long, comment=«MA2CrossLE»)




Для фиксированного размера стопов, добавляем блок стопов.


//БЛОК СТОПОВ и ТЕЙКПРОФИТОВ

 

// The Fixed Percent Stop Loss Code

// User Options to Change Inputs (%)

stopPer = input.float(3.0, title='Stop Loss %') / 100

takePer = input.float(8.0, title='Take Profit %') / 100

 

// Determine where you've entered and in what direction

longStop = strategy.position_avg_price * (1 — stopPer)

shortStop = strategy.position_avg_price * (1 + stopPer)

shortTake = strategy.position_avg_price * (1 — takePer)

longTake = strategy.position_avg_price * (1 + takePer)

 

if strategy.position_size > 0

    strategy.exit(id=«MA2CrossLE», stop=longStop, limit=longTake, comment = «Long Stop Loss/Profit»)

if strategy.position_size < 0

    strategy.exit(id=«MacdShort», stop=shortStop, limit=shortTake, comment = «Short Stop Loss/Profit»)

   

    //PLOT FIXED SLTP LINE

plot(strategy.position_size > 0? longStop: na, style=plot.style_linebr, color=color.red, linewidth=1, title=«Long Fixed SL»)

plot(strategy.position_size < 0? shortStop: na, style=plot.style_linebr, color=color.red, linewidth=1, title=«Short Fixed SL»)

plot(strategy.position_size > 0? longTake: na, style=plot.style_linebr, color=color.green, linewidth=1, title=«Long Take Profit»)

plot(strategy.position_size < 0? shortTake: na, style=plot.style_linebr, color=color.green, linewidth=1, title=«Short Take Profit»)

 

// КОНЕЦ — БЛОК СТОПОВ и ТЕЙКПРОФИТОВ




Поздравляю, вы сделали своего первого робота. И он даже прибыльный 🙂

А в чем подвох вы поймете только после запуска в трейдинг вью.



PS Если вы не поняли, куда пихать код, то попробуйте нажать кнопку “Pine Editor”



ТрейдингВью это отлично, но как заставить его торговать? 


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

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


Если коротко, то в TradingView создается Alert для стратегии, в котором Notification приходит в виде Webhook. Или в котором будильник использует интернет крючок, как напоминание…


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

На десерт: внутри есть более сложная стратегия




19 Комментариев
  • Андрей Костюк
    08 января 2023, 20:53

    А просто залить на сервер питоновский самописный скрипт нельзя?

  • Андрей Костюк
    08 января 2023, 20:55

    А если совсем влом платить пару тысяч рублей за сервер, запустили в powershell и гоняйте. Любая биржа дает апишку, пиши - нехочу. Трейдингвью конечно хороший инструмент, но это посредник между трейдером и биржей

  • Никто
    08 января 2023, 21:03
    Ну это рекламщик. Тем ни менее может скажите базис работы программы паинт, он же не так основан как квик луа. Другими словами клуа крутит написанное в цикле, а у паинта как то это разбивается на внутренние циклы. Или еще так если с клуа более менее понятно, то с паинтом не понимаю основ. Из практики поправлял под себя общедоступные скрипты, работало, показало что в моем случае программировать там нечего. А всякие оповещения и в клуа делать сподручнее.
  • Никто
    08 января 2023, 21:11
    Три раза прочитал нефига не понял от слова ничего
  • Удалённый аккаунт
    08 января 2023, 21:50
    От кого реферальные приходят — от TV или от биржи?)
  • Матвей
    08 января 2023, 23:58
    Вот всюду, где пишут, что это крайне выгодно, нужно смотреть в обратную сторону. Кто ж курицу, несущую яйца золотые, продавать-то станет. Даже полезно читать такое. Говорят — вкладывай тут, значит делай наоборот :).
    • Андрей Костюк
      09 января 2023, 09:56
      Матвей,

      Это очень выгодно. Это охренеть как выгодно, но только в том случае, если вы

      Раз: Прикинули торговый алгоритм, который на ближайшем бэктесте даст хотя бы чуть больше нуля доходности

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

      Это выгодно на столько же, на сколько выгодно любое доходное предприятие.

  • COSMOS Indicator
    26 января 2023, 23:46

    Ребята, нужна помощь по pine script. Есть стратегия хорошая, но не могу допилить ее 

    Напишите кто в телегу, @seregakukla

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн