
Эта торговая стратегия позволяет принимать автоматизированные торговые решения, объединяя три мощных технических показателя: относительно сильный индекс (RSI), бринговые полосы и поддерживающие сопротивления. Робот может интеллектуально идентифицировать потенциальные точки входа и выхода на рынок в зависимости от рыночных условий, чтобы автоматически размещать заказы без вмешательства человека.
Основная логика торгового робота основана на трех показателях: RSI, Brin Belt и Support Resistance.
Во-первых, RSI используется для определения силы и слабости рыночных тенденций. Когда RSI больше 70, рынок находится в состоянии перекупа; когда RSI меньше 30, рынок находится в состоянии перепродажи.
Во-вторых, буринная полоса представляет собой диапазон колебаний рынка. Между буринной полосой и поперечными линиями находится диапазон, в котором рынок обычно колеблется. Когда цена касается буринной полосы, она входит в относительно высокую зону, и рынок может перевернуться вниз.
Наконец, в зависимости от верхнего и нижнего уровней буринской полосы, можно вывести ключевые уровни поддержки и сопротивления. Поддержка находится в районе нижнего уровня буринской полосы, а сопротивление - в районе верхнего уровня буринской полосы. Это означает, что, когда цена поднимается до уровня сопротивления, она может столкнуться с продажной позицией и упасть; когда цена падает до уровня поддержки, она может столкнуться с покупательной позицией и подскочить.
Комбинируя эти три показателя, логика входа в рынок робота заключается в следующем: сигнал покупки появляется, когда цена касается нижней линии Брин (оперена продажи) и находится в поддерживающей позиции; сигнал продажи появляется, когда цена касается верхней линии Брин (оперена продажи) и высокая точка больше, чем устойчивость. Логика выхода из рынка заключается в переключении движущейся равной линии.
Эта стратегия включает в себя несколько индикаторов, позволяющих оценить состояние рынка в целом, а сигналы являются более надежными.
Полностью автоматизированная торговля без человеческого вмешательства, чтобы избежать упущенных возможностей;
В частности, он предлагает возможность использовать в режиме реального времени сигнальные подсказки, чтобы всегда и везде быть в курсе событий, происходящих на рынке.
четкие графические маркировки, визуально отображающие точку торговли;
Параметры могут быть изменены и оптимизированы для разных сортов и временных периодов.
В случае аномальных колебаний на рынке может возникнуть риск остановки убытков. Можно установить стоп-лизинг, чтобы контролировать максимальный убыток.
Неправильная настройка параметров робота может привести к слишком высокой частоте торгов или плохому качеству сигнала. Параметры следует корректировать в соответствии с результатами обратной связи, чтобы найти оптимальную настройку.
Неисправность системы может привести к перебоям в передаче сигнала или задержке заказов. Для этого следует использовать стабильные и надежные хосты и сети.
Увеличение логики остановки убытков. Активная остановка убытков после определенного размера убытков помогает в дальнейшем контролировать риск.
Добавление модуля управления деньгами. Динамическое корректирование доли денег в каждом заказе в зависимости от состояния средств в счете, более интеллектуальное.
В сочетании с технологиями машинного обучения. Сбор исторических данных, использование нейронных сетей для обучения и оптимизации параметров и т. Д. Для обеспечения непрерывной эволюции стратегии.
Оптимизируйте параметры для всех сортов. Существующие параметры могут быть более подходящими для нескольких сортов, и вы можете найти оптимальную комбинацию параметров для каждого сорта путем оптимизации.
Эта торговая стратегия обладает высокой адаптивностью и универсальностью. Она объединяет в себе несколько показателей, позволяющих оценить состояние рынка, эффективно улавливать переломные моменты и автоматизировать торговлю. Благодаря постоянной оптимизации, ожидается более стабильная прибыль.
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("RSI, Bollinger Bands, and Support/Resistance Trading Bot", overlay=true)
// Define RSI parameters
rsiLength = input(14, title="RSI Length")
rsiOverbought = input(70, title="Overbought Level")
rsiOversold = input(30, title="Oversold Level")
// Define Bollinger Bands parameters
bbLength = input(20, title="Bollinger Bands Length")
bbMultiplier = input(2, title="Bollinger Bands Multiplier")
// Calculate RSI
rsiValue = rsi(close, rsiLength)
// Calculate Bollinger Bands
basis = sma(close, bbLength)
upperBand = basis + bbMultiplier * stdev(close, bbLength)
lowerBand = basis - bbMultiplier * stdev(close, bbLength)
// Calculate Support and Resistance based on Bollinger Bands
support = basis - bbMultiplier * stdev(close, bbLength)
resistance = basis + bbMultiplier * stdev(close, bbLength)
// Strategy logic
rsiCondition = rsiValue > rsiOverbought or rsiValue < rsiOversold
touchingUpperBand = close >= upperBand
touchingLowerBand = close <= lowerBand
// Entry conditions
longCondition = touchingLowerBand and low <= support
shortCondition = touchingUpperBand and high >= resistance
// Exit conditions
longExitCondition = crossover(close, basis)
shortExitCondition = crossunder(close, basis)
// Automatic close if moving in opposite direction
if (strategy.position_size > 0 and shortCondition)
strategy.close("Long")
if (strategy.position_size < 0 and longCondition)
strategy.close("Short")
// Strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)
// Plot entry and exit arrows
plotarrow(series=longCondition ? 1 : na, colorup=color.new(color.green, 0), offset=-1, minheight=5)
plotarrow(series=shortCondition ? 1 : na, colordown=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=longExitCondition ? -1 : na, colorup=color.new(color.red, 0), offset=-1, minheight=5)
plotarrow(series=shortExitCondition ? -1 : na, colordown=color.new(color.green, 0), offset=-1, minheight=5)
// Plot Bollinger Bands on chart
plot(upperBand, title="Upper Band", color=color.red)
plot(lowerBand, title="Lower Band", color=color.green)
// Highlight areas where price touches Bollinger Bands
bgcolor(touchingUpperBand ? color.new(color.red, 90) : na)
bgcolor(touchingLowerBand ? color.new(color.green, 90) : na)
// Plot Support and Resistance
plot(support, title="Support", color=color.blue)
plot(resistance, title="Resistance", color=color.purple)
// Plot RSI on chart
hline(rsiOverbought, "Overbought Level", color=color.red)
hline(rsiOversold, "Oversold Level", color=color.green)
plot(rsiValue, title="RSI", color=color.blue)