RSI-Indikator: Sucker-Handelsstrategie


Erstellungsdatum: 2024-01-29 11:42:46 zuletzt geändert: 2024-01-29 11:42:46
Kopie: 0 Klicks: 732
1
konzentrieren Sie sich auf
1617
Anhänger

RSI-Indikator: Sucker-Handelsstrategie

Überblick

Die RSI-Indikator-Strap-Trading-Strategie ist eine Fixed-Grid-Trading-Methode, die die RSI und den CCI-Technischen Indikatoren integriert. Die Strategie beurteilt den Zeitpunkt des Eintritts anhand der Werte der RSI- und CCI-Indikatoren und verwendet eine feste Gewinnspanne und eine feste Gridanzahl, um Stop-Loss- und Aufschlagsanweisungen einzurichten. Die Strategie integriert auch eine Absicherung gegen durchbruchende Preisänderungen.

Strategieprinzip

Zulassungsvoraussetzungen

Wenn der 5-minütige und der 30-minütige RSI-Indikator beide unter dem eingestellten Tiefstand liegen und der 1-stündige CCI-Indikator ebenfalls unter dem eingestellten Wert liegt, wird ein Mehrwertsignal erzeugt. Der aktuelle Close-Preis wird als Einstiegspreis aufgezeichnet und die erste Position wird auf der Grundlage der Kontenzinsen und der Anzahl der Grids berechnet.

Zinsbegrenzung

Der Gewinnpreis wird mit dem Einstiegspreis als Basis berechnet, entsprechend der festgelegten Zielgewinnquote, und ein Stop-Offer wird auf dieser Preisebene gesetzt.

Gewinne

Die restlichen Aktien mit Ausnahme der ersten werden nach dem Eintrittssignal ausgegeben, bis die gesetzte Anzahl von Netzen erreicht ist.

Sicherungsmechanismen

Wenn der Kurs gegenüber dem Einstiegspreis über dem festgelegten Prozentsatz der Sicherungsdeckung steigt, wird die gesamte Haltestelle abgesichert.

Umkehrmechanismus

Wenn der Preis gegenüber dem Einstiegspreis über dem festgelegten Umkehrschwellenprozentsatz fällt, werden alle ausstehenden Bestellungen storniert und auf eine neue Einstiegsmöglichkeit gewartet.

Analyse der Stärken

  • Die Kombination von RSI und CCI erhöht die Gewinnwahrscheinlichkeit
  • Zielgewinnung mit Fixed Grid und Gewinnsicherheit
  • Integrierte Sicherungsmechanismen, die das Risiko von starken Preisschwankungen wirksam abwehren
  • Ein Rücklaufmechanismus kann die Verluste verringern

Risikoanalyse

  • Wahrscheinlichkeit, dass ein Indikator ein falsches Signal erzeugt
  • Schwere Preisschwankungen durchbrechen die Sicherheitsabschnitte
  • Nach der Umkehrung ist es nicht möglich, wieder einzutreten.

Diese Risiken können verringert werden, indem die Parameter der Indikatoren angepasst, die Risikomarge erweitert und die Umkehrspanne verringert wird.

Optimierungsrichtung

  • Eine Vielzahl von Kombinationen von Indikatoren kann getestet werden
  • Die Anpassung an die Dysplasie kann untersucht werden.
  • Optimierung der Verlagerungslogik

Zusammenfassen

Die RSI-Indikator-Stopp-Trading-Strategie entscheidet über den Zeitpunkt des Eintritts durch den Indikator, mit Fixed-Grid-Stopps und Verlagerungen, um stabile Gewinne zu sichern. Die Strategie verfügt außerdem über einen Wiedereintrittsmechanismus, der nach starken Schwankungen und Umkehrungen abgesichert ist. Diese Strategie, die mehrere Mechanismen integriert, kann verwendet werden, um das Handelsrisiko zu verringern und die Gewinnrate zu erhöhen.

Strategiequellcode
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom RSI/CCI Strategy with Fixed Grid", shorttitle="INVESTCOIN_RSI_CCI_Fixed_Grid", overlay=true)

// Input parameters
input_rsi_5min_value = 55
input_rsi_30min_value = 65
input_cci_1hr_value = 85
input_profit_target_percent = 0.6 // Target profit in percentage
input_grid_size = 15 // Number of orders in grid
input_hedging_percent = 20 // Percentage price change for hedging
input_first_order_offset = 0.2 // Offset for the first order in percentage
input_reversal_percent = 0.4 // Percentage price change for reversal

// Calculating the RSI and CCI values
rsi_5min = ta.rsi(close, 5)
rsi_30min = ta.rsi(close, 30)
cci_1hr = ta.cci(close, 60)

// Define strategy conditions based on the provided screenshot
long_condition = (rsi_5min < input_rsi_5min_value) and (rsi_30min < input_rsi_30min_value) and (cci_1hr < input_cci_1hr_value)

// Plot signals
plotshape(series=long_condition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Initialize a variable to store the entry price
var float entry_price = na

// Initialize a variable to store the profit target
var float profit_target = na

// Hedge condition based on price change percentage
var float hedge_price = na

// Initialize a variable to count the total number of orders
var int total_orders = 0

// Calculate the initial order size based on account equity and grid size
var float initial_order_size = 1 / input_grid_size / 100

// Entry orders with fixed size
if (long_condition and total_orders < 9000)
    // Place first order with an offset
    if total_orders == 0
        strategy.order("First Long", strategy.long, qty=initial_order_size, limit=close * (1 - input_first_order_offset / 100))
    total_orders := total_orders + 1
    
    // Place remaining grid orders
    for i = 1 to input_grid_size - 1
        if (total_orders >= 9000)
            break // Stop if max orders reached
        strategy.entry("Long_" + str.tostring(i), strategy.long, qty=initial_order_size)
        total_orders := total_orders + 1

// Calculate the profit target in currency
if (long_condition)
    entry_price := close // Store the entry price when the condition is true

if (not na(entry_price))
    profit_target := entry_price * input_profit_target_percent / 100 // Calculate the profit target

// Setting up the profit target
if (not na(profit_target))
    strategy.exit("Take Profit", "Long", limit=entry_price + profit_target)

// Hedge by closing all positions if the price increases by the hedging percentage
if (strategy.position_size > 0)
    hedge_price := close * (1 + input_hedging_percent / 100)

if (not na(hedge_price) and close >= hedge_price)
    strategy.close_all(comment="Hedging")


// Reversal condition based on the price change percentage
var float reversal_price = na

if (strategy.position_size > 0 and total_orders > 1) // Check if at least one grid order has been placed
    reversal_price := entry_price * (1 - input_reversal_percent / 100)

// Cancel trades and wait for a new entry point if the price reverses by the specified percentage
if (not na(reversal_price) and close <= reversal_price)
    strategy.cancel_all()
    total_orders := 0 // Reset the total orders count after cancellation