Geliebte RSI-Strategie in Pine Script

Schriftsteller:ChaoZhang, Datum: 29.12.2023
Tags:

img

Übersicht

Diese Strategie zielt darauf ab, das Problem zu lösen, dass Pine Script beim Backtesting keinen Hebel aufsetzen kann, um mit Hebel zusammengesetztes Interesse zu erzielen.

Strategie Logik

  1. Einstellung der Präzisionsgenauigkeit zur Steuerung der Präzision der Positionsgröße
  2. Setzen Sie Hebelwirkungsquote Hebelwirkung, Standard ist 1x
  3. Berechnung der Positionsgröße:Lev = math.max(math.round(strategy.equity * leverage / close), 0), sie im Verhältnis zu Eigenkapital und Hebelwirkung zu halten
  4. Eintrittssignal: lang, wenn der RSI von unten über 30 bricht; kurz, wenn der RSI von oben unter 70 bricht
  5. Bestellung mit berechneter Größe Lev

Analyse der Vorteile

  1. Lösen Sie das Problem, dass Pine Script keine Hebelwirkung setzen kann
  2. Positionsgröße ändert sich proportional zu Eigenkapitaländerungen und erzielt mit Hebelwirkung zusammengesetzte Zinsen
  3. RSI gefiltert, unnötige Trades vermieden
  4. Die Präzisionsgenauigkeit kann an unterschiedliche Anforderungen angepasst werden

Risikoanalyse

  1. Übermäßige Verschuldung kann leicht zur Liquidation führen
  2. Notwendigkeit, Hebelwirkung und Positionsgröße angemessen anzupassen, um das Risiko zu kontrollieren

Optimierungsrichtung

  1. Kann die Stabilität unter verschiedenen Parametern testen
  2. Kann Stop Loss zur weiteren Kontrolle des Risikos einbeziehen
  3. Kann ein Multifaktormodell zur Verbesserung der Strategieleistung berücksichtigen

Zusammenfassung

Diese Strategie implementiert die Hebelwirkung in Pine Script, löst das Problem, dass Backtesting den Hebelwirkung nicht simulieren kann, berechnet die Positionsgröße, die mit Aktien verknüpft ist, um mit Hebelwirkung ein zusammengesetztes Interesse zu erzielen.


/*backtest
start: 2022-12-22 00:00:00
end: 2023-12-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © RingsCherrY

//@version=5
strategy("How to use Leverage in PineScript", overlay=true, pyramiding=1, initial_capital=1000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.04)

//////////////////////////////////////////
////////////////Indicators////////////////
//////////////////////////////////////////

length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close
vrsi = ta.rsi(price, length)
co = ta.crossover(vrsi, overSold)
cu = ta.crossunder(vrsi, overBought)

//////////////////////////////////////////
/////////////////Leverage/////////////////
//////////////////////////////////////////


//The number of decimal places for each position opening, i.e., the accuracy
precision = input.int(1,title='Precision')

//Leverage, the default is 1, here is not recommended to open a high leverage

leverage = input.int(1,title='Leverage',minval = 1, maxval = 100 ,step = 1)

//Calculate the number of open contracts, here using equity for calculation, considering that everyone compound interest is used for trading equity
Lev = math.max(math.round(strategy.equity * leverage  / close , precision), 0)

if (not na(vrsi))
	if (co)
		strategy.entry("RsiLE", strategy.long,qty = Lev, comment="RsiLE")
	if (cu)
		strategy.entry("RsiSE", strategy.short,qty = Lev, comment="RsiSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)

Mehr