Chiến lược RSI đòn bẩy trong Pine Script

Tác giả:ChaoZhang, Ngày: 2023-12-29 10:46:35
Tags:

img

Tổng quan

Chiến lược này nhằm mục đích giải quyết vấn đề rằng Pine Script không thể đặt đòn bẩy trong quá trình kiểm tra lại để đạt được lãi suất hỗn hợp với đòn bẩy. Chiến lược tính toán kích thước vị trí một cách năng động dựa trên vốn chính chiến lược, tỷ lệ đòn bẩy đặt và giá đóng.

Chiến lược logic

  1. Đặt độ chính xác chính xác để kiểm soát độ chính xác của kích thước vị trí
  2. Đặt tỷ lệ đòn bẩy, mặc định là 1x
  3. Tính toán kích thước vị trí:Lev = math.max(math.round(strategy.equity * leverage / close), 0), làm cho nó tương xứng với vốn chủ sở hữu và đòn bẩy
  4. Tín hiệu nhập cảnh: dài khi RSI vượt trên 30 từ dưới; ngắn khi RSI vượt dưới 70 từ trên
  5. Đặt lệnh với kích thước tính toán Lev

Phân tích lợi thế

  1. Giải quyết vấn đề mà Pine Script không thể thiết lập đòn bẩy
  2. Kích thước vị trí thay đổi theo tỷ lệ thay đổi vốn chủ sở hữu, đạt được lãi suất hỗn hợp với đòn bẩy
  3. RSI được lọc, tránh giao dịch không cần thiết
  4. Độ chính xác chính xác có thể điều chỉnh để đáp ứng các yêu cầu khác nhau

Phân tích rủi ro

  1. Đòn bẩy quá mức có thể dễ dàng dẫn đến thanh lý
  2. Cần phải điều chỉnh đòn bẩy và kích thước vị trí một cách thích hợp để kiểm soát rủi ro

Hướng tối ưu hóa

  1. Có thể kiểm tra độ ổn định dưới các thông số khác nhau
  2. Có thể kết hợp dừng lỗ để kiểm soát rủi ro hơn nữa
  3. Có thể xem xét mô hình đa yếu tố để cải thiện hiệu suất chiến lược

Tóm lại

Chiến lược này thực hiện cài đặt đòn bẩy trong Pine Script, giải quyết vấn đề rằng backtesting không thể mô phỏng đòn bẩy, tính toán kích thước vị trí liên kết với vốn chủ sở hữu để đạt được lãi suất hỗn hợp với đòn bẩy.


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

Thêm nữa