Estrategia de RSI apalancada en Pine Script

El autor:¿ Qué pasa?, Fecha: 2023-12-29 10:46:35
Las etiquetas:

img

Resumen general

Esta estrategia tiene como objetivo resolver el problema de que Pine Script no puede establecer apalancamiento durante la backtesting para lograr intereses compuestos con apalancamiento.

Estrategia lógica

  1. Configurar la precisión de precisión para controlar la precisión del tamaño de la posición
  2. Establecer el ratio de apalancamiento apalancamiento, por defecto es 1x
  3. Calcular el tamaño de la posición:Lev = math.max(math.round(strategy.equity * leverage / close), 0), hacerla proporcional al capital propio y al apalancamiento
  4. Signo de entrada: largo cuando el RSI supera los 30 desde abajo; corto cuando el RSI supera los 70 desde arriba
  5. Poner orden con el tamaño calculado Lev

Análisis de ventajas

  1. Resolver el problema de que Pine Script no puede establecer el apalancamiento
  2. El tamaño de la posición cambia proporcionalmente a los cambios de capital, logrando un interés compuesto con apalancamiento
  3. El RSI se filtra, evitando operaciones innecesarias
  4. Precisión de precisión es ajustable para satisfacer diferentes requisitos

Análisis de riesgos

  1. El apalancamiento excesivo puede causar fácilmente la liquidación
  2. Necesidad de ajustar adecuadamente el apalancamiento y el tamaño de la posición para controlar el riesgo

Dirección de optimización

  1. Puede probar la estabilidad bajo diferentes parámetros
  2. Puede incorporar el stop loss para controlar aún más el riesgo
  3. Puede considerar un modelo multifactorial para mejorar el rendimiento de la estrategia

Resumen de las actividades

Esta estrategia implementa el ajuste de apalancamiento en Pine Script, resolviendo el problema de que el backtesting no puede simular el apalancamiento, calcula el tamaño de la posición vinculada a la equidad para lograr el interés compuesto con apalancamiento.


/*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)

Más.