RSI - Сигналы покупки и продажи

Автор:Чао Чжан, Дата: 2022-05-09 14:35:23
Тэги:РСИ

Этот индикатор основан на показателях перекупленности и перепроданности, это индикатор для краткосрочной торговли. Основная основа показателя: Чтобы купить, индикатор ждет, пока инструмент будет перепродан с точки зрения RSI. Затем, если график пересекает нижнюю линию индикатора Envelope снизу вверх, выпускается сигнал покупки. Для продажи индикатор ждет, пока инструмент будет перекуплен с точки зрения RSI. Затем, если график пересекает верхнюю линию индикатора Envelope сверху вниз, выпускается сигнал продажи. Общая основа заключается в согласии цены и индикатора RSI. Лучшие настройки я придумал сам: Время: 15 минут Перекуплено: 80 Оверселл: 25 Длина RSI: 8 Это можно сделать на разных инструментах, но всегда устанавливайте лимиты прибыли и убытка. (Соотношение прибыли и убытка в этом показателе может быть 1:1.)

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

обратная проверка

img


/*backtest
start: 2022-02-08 00:00:00
end: 2022-05-08 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Saleh_Toodarvari

//@version=5
indicator(title="ENVELOPE - RSI - Buy Sell Signals", shorttitle="ENVELOPE - RSI", overlay=true)
//_________________Envelope_________________
len = input.int(8, title="Envelope Length", minval=1, group="Envelope Settings")
percent = input(0.22,title="Envelope Percent", group="Envelope Settings")
src = input(hl2, title="Envelope Source", group="Envelope Settings")
exponential = input(false)
basis = exponential ? ta.ema(src, len) : ta.sma(src, len)
k = percent/100.0
upper = basis * (1 + k)
lower = basis * (1 - k)
plot(basis, "Basis", color=#ED7300)
u = plot(upper, "Upper", color=#FF2424)
l = plot(lower, "Lower", color=#24FF24)
//fill(u, l, color=color.rgb(33, 150, 243, 95), title="Background")
cross_buy=ta.crossover(close,lower)
cross_sell=ta.crossunder(close,upper) 
// _________________RSI_________________
rsiLengthInput = input.int(8, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(hl2, "RSI Source", group="RSI Settings")
up = ta.rma(math.max(ta.change(rsiSourceInput), 0), rsiLengthInput)
down = ta.rma(-math.min(ta.change(rsiSourceInput), 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
Overbought_RSI = input(title="RSI OverBought Limit(Recommended: 70-85)", defval=80, group="RSI Settings")
Oversold_RSI = input(title="RSI OverSold Limit(Recommended: 20-30)", defval=25, group="RSI Settings")
condition_buy= rsi<Oversold_RSI and (ta.cross(low,lower) or ta.cross(close,lower) or ta.cross(high,lower) or ta.cross(open,lower))
condition_sell= rsi>Overbought_RSI and (ta.cross(low,upper) or ta.cross(close,upper) or ta.cross(high,upper) or ta.cross(open,upper))
if cross_sell
    strategy.entry("Enter Long", strategy.long)
else if cross_buy
    strategy.entry("Enter Short", strategy.short)

// plotshape(cross_sell ? condition_sell:na, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white)
// sell_sig=plot(cross_sell ? high:na,color=color.new(#000000,100))
// plotshape(cross_buy ? condition_buy:na, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white)
// buy_sig=plot(cross_buy ? ohlc4:na,color=color.new(#000000,100))
// tpColor = if(cross_sell[1] or cross_sell[2] or cross_buy[1] or cross_buy[2])
//     color.new(#1DBC60, 30)
// else
//     color.new(#000000,100)
// slColor = if(cross_sell[1] or cross_sell[2] or cross_buy[1] or cross_buy[2])
//     color.new(#F74A58, 30)
// else
//     color.new(#000000,100)
// //_________________TP&SL_________________
// TP_Percent = input.float(0.15, "TP %")
// SL_Percent = input.float(0.15, "SL %")
// tp= if condition_sell
//     ohlc4-ohlc4*(TP_Percent/100)
// else if condition_buy
//     ohlc4+ohlc4*(TP_Percent/100)
// sl= if condition_sell
//     ohlc4+ohlc4*(SL_Percent/100)
// else if condition_buy
//     ohlc4-ohlc4*(SL_Percent/100)
// tp_sig=plot(tp,color=color.new(#000000,100),title="tp")
// sl_sig=plot(sl,color=color.new(#000000,100),title="tp")
// lower_plot=plot(lower,color=color.new(#000000,100))
// fill(sell_sig,tp_sig, color=tpColor)
// fill(buy_sig,tp_sig, color=tpColor)
// fill(buy_sig,sl_sig, color=slColor)
// fill(sell_sig,sl_sig, color=slColor)

Связанные

Больше