В этой статье я опишу самый простой способ сделать робота для торговли криптовалютой. Кто подтолкнул меня к этой идеи можно узнать из предыдущего поста.
Получим такое:
Для анализа акций многие используют 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. Или в котором будильник использует интернет крючок, как напоминание…
Для тех, кто совсем ничего не понял, есть видео инструкция, правда она на английском языке, но я надеюсь вы поймете все по картинкам.
На десерт: внутри есть более сложная стратегия.
А просто залить на сервер питоновский самописный скрипт нельзя?
А если совсем влом платить пару тысяч рублей за сервер, запустили в powershell и гоняйте. Любая биржа дает апишку, пиши - нехочу. Трейдингвью конечно хороший инструмент, но это посредник между трейдером и биржей