Strategi RSI yang dikuasai dalam Pine Script

Penulis:ChaoZhang, Tarikh: 2023-12-29 10:46:35
Tag:

img

Ringkasan

Strategi ini bertujuan untuk menyelesaikan masalah bahawa Pine Script tidak dapat menetapkan leverage semasa backtesting untuk mencapai faedah komposit dengan leverage. Strategi ini secara dinamik mengira saiz kedudukan berdasarkan ekuiti strategi, nisbah leverage yang ditetapkan dan harga penutupan.

Logika Strategi

  1. Tetapkan ketepatan ketepatan untuk mengawal ketepatan saiz kedudukan
  2. Set leverage ratio leverage, lalai adalah 1x
  3. Mengira saiz kedudukan:Lev = math.max(math.round(strategy.equity * leverage / close), 0), menjadikannya selaras dengan ekuiti dan leverage
  4. Isyarat kemasukan: panjang apabila RSI memecahkan di atas 30 dari bawah; pendek apabila RSI memecahkan di bawah 70 dari atas
  5. Letakkan pesanan dengan saiz yang dikira Lev

Analisis Kelebihan

  1. Menyelesaikan masalah bahawa Pine Script tidak boleh menetapkan leverage
  2. Saiz kedudukan berubah secara proporsional dengan perubahan ekuiti, mencapai faedah kompaun dengan leverage
  3. RSI ditapis, mengelakkan perdagangan yang tidak perlu
  4. Ketepatan ketepatan boleh diselaraskan untuk memenuhi keperluan yang berbeza

Analisis Risiko

  1. Leverage yang berlebihan boleh menyebabkan likuidasi
  2. Perlu menyesuaikan leverage dan saiz kedudukan dengan betul untuk mengawal risiko

Arah pengoptimuman

  1. Boleh menguji kestabilan di bawah parameter yang berbeza
  2. Boleh menggabungkan stop loss untuk mengawal risiko lebih lanjut
  3. Boleh mempertimbangkan model pelbagai faktor untuk meningkatkan prestasi strategi

Ringkasan

Strategi ini melaksanakan tetapan leverage dalam Pine Script, menyelesaikan masalah bahawa backtesting tidak dapat mensimulasikan leverage, mengira saiz kedudukan yang dikaitkan dengan ekuiti untuk mencapai faedah komposit dengan leverage.


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

Lebih lanjut