Strategi RSI yang dimanfaatkan dalam Pine Script

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

img

Gambaran umum

Strategi ini bertujuan untuk memecahkan masalah bahwa Pine Script tidak dapat mengatur leverage selama backtesting untuk mencapai bunga majemuk dengan leverage.

Logika Strategi

  1. Atur presisi presisi untuk mengontrol presisi ukuran posisi
  2. Set leverage ratio leverage, default adalah 1x
  3. Menghitung ukuran posisi:Lev = math.max(math.round(strategy.equity * leverage / close), 0), membuatnya sebanding dengan ekuitas dan leverage
  4. Sinyal masuk: panjang ketika RSI melanggar di atas 30 dari bawah; pendek ketika RSI melanggar di bawah 70 dari atas
  5. Tempatkan pesanan dengan ukuran yang dihitung Lev

Analisis Keuntungan

  1. Menyelesaikan masalah bahwa Pine Script tidak dapat mengatur leverage
  2. Ukuran posisi berubah secara proporsional dengan perubahan ekuitas, mencapai bunga majemuk dengan leverage
  3. RSI disaring, menghindari perdagangan yang tidak perlu
  4. Keakuratan presisi diatur untuk memenuhi persyaratan yang berbeda

Analisis Risiko

  1. Leverage yang berlebihan dapat menyebabkan likuidasi
  2. Kebutuhan untuk menyesuaikan leverage dan ukuran posisi dengan benar untuk mengendalikan risiko

Arah Optimalisasi

  1. Dapat menguji stabilitas di bawah parameter yang berbeda
  2. Dapat memasukkan stop loss untuk mengontrol risiko lebih lanjut
  3. Dapat mempertimbangkan model multi-faktor untuk meningkatkan kinerja strategi

Ringkasan

Strategi ini menerapkan pengaturan leverage di Pine Script, memecahkan masalah bahwa backtesting tidak dapat mensimulasikan leverage, menghitung ukuran posisi yang terkait dengan ekuitas untuk mencapai bunga majemuk 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 banyak