Thiết lập chiến lược đòn bẩy trong tập lệnh Pine


Ngày tạo: 2023-12-29 10:46:35 sửa đổi lần cuối: 2023-12-29 10:46:35
sao chép: 0 Số nhấp chuột: 1170
1
tập trung vào
1621
Người theo dõi

Thiết lập chiến lược đòn bẩy trong tập lệnh Pine

Tổng quan

Chiến lược này nhằm giải quyết vấn đề không thể thiết lập đòn bẩy khi phản hồi kịch bản Pine, để đạt được lợi nhuận bằng đòn bẩy. Chiến lược này tính toán số lần mở vị trí bằng cách tính toán quyền lợi chiến lược, nhân số đòn bẩy được thiết lập và giá đóng cửa.

Nguyên tắc chiến lược

  1. Thiết lập độ chính xác, điều khiển độ chính xác số người mở kho
  2. Cài đặt đúp đòn bẩy, mặc định là 1 lần
  3. Tính toán số lần đặt cược:Lev = math.max(math.round(strategy.equity * leverage / close), 0)Điều này có nghĩa là chúng ta có thể sử dụng các công cụ khác nhau để tạo ra các quyền lợi.
  4. Vào: làm nhiều khi chỉ số RSI vượt quá 30 từ mức thấp; làm trống khi vượt quá 70 từ mức cao xuống
  5. Lev đặt hàng theo số lần tính toán

Phân tích lợi thế

  1. Giải quyết vấn đề kịch bản Pine không thể đặt đòn bẩy
  2. Sự thay đổi quyền lợi tỷ lệ thuận với số lượng người mở vị thế, đạt được lợi nhuận lợi nhuận
  3. Chỉ số RSI được lọc để tránh giao dịch vô nghĩa
  4. Tính chính xác tính toán tay có thể điều chỉnh để đáp ứng các nhu cầu khác nhau

Phân tích rủi ro

  1. Năng suất quá cao có thể phá vỡ vị thế
  2. Cần điều chỉnh đòn bẩy, số lượng người đặt cược và kiểm soát rủi ro

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

  1. Có thể kiểm tra tính ổn định dưới các tham số khác nhau
  2. Có thể kết hợp với chiến lược 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 quả chiến lược

Tóm tắt

Chiến lược này thực hiện cài đặt đòn bẩy trong kịch bản Pine, giải quyết vấn đề không thể mô phỏng đòn bẩy, tính toán số người đặt cược và quyền lợi liên kết, hoàn thành lợi nhuận đòn bẩy. Chiến lược này đơn giản và hiệu quả, có thể được tối ưu hóa hơn nữa, đáng để học.

Mã nguồn chiến lược
/*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)