Chiến lược giao dịch Sucker của chỉ báo RSI


Ngày tạo: 2024-01-29 11:42:46 sửa đổi lần cuối: 2024-01-29 11:42:46
sao chép: 0 Số nhấp chuột: 732
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch Sucker của chỉ báo RSI

Tổng quan

Chiến lược giao dịch cuộn RSI là một phương pháp giao dịch lưới cố định kết hợp các chỉ số kỹ thuật RSI và CCI. Chiến lược này đánh giá thời gian vào thị trường dựa trên giá trị của các chỉ số RSI và CCI, sử dụng tỷ lệ lợi nhuận cố định và số lượng lưới cố định để đặt lệnh dừng và đặt lệnh tăng.

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

Điều kiện nhập học

Khi chỉ số RSI 5 phút và 30 phút đều thấp hơn ngưỡng thiết lập và chỉ số CCI 1 giờ cũng thấp hơn giá thiết lập, sẽ tạo ra tín hiệu đa. Tại thời điểm này, giá đóng cửa hiện tại sẽ được ghi lại như giá vào và tính toán đơn vị đầu tiên dựa trên quyền lợi tài khoản và số lượng lưới.

Điều kiện dừng lãi suất

Sử dụng giá nhập vào làm chuẩn, tính giá lợi nhuận theo tỷ lệ lợi nhuận mục tiêu được thiết lập và đặt lệnh dừng ở mức giá đó.

Điều kiện đặt cược

Ngoại trừ đơn vị đầu tiên, các đơn vị đặt hàng cố định còn lại sẽ được phát ra một lần sau tín hiệu vào cho đến khi đạt được số lượng lưới được thiết lập.

Cơ chế bảo hộ

Nếu giá tăng so với giá nhập cảnh vượt quá tỷ lệ phần trăm giảm giá bảo hiểm được thiết lập, tất cả các vị trí được giữ sẽ được bảo hiểm bằng.

Cơ chế đảo ngược

Nếu giá giảm so với giá vào hơn phần trăm giảm giá ngược được thiết lập, hãy hủy tất cả các đơn đặt hàng chưa được giao và chờ cơ hội vào mới.

Phân tích lợi thế

  • Kết hợp cả hai chỉ số RSI và CCI để tăng tỷ lệ lợi nhuận
  • Sử dụng lưới cố định để đặt mục tiêu lợi nhuận, tăng độ chắc chắn về lợi nhuận
  • Cơ chế bảo hiểm tích hợp, bảo vệ hiệu quả đối với rủi ro biến động giá mạnh
  • Tham gia cơ chế đảo ngược có thể giảm tổn thất

Phân tích rủi ro

  • Tỷ lệ các chỉ số tạo ra tín hiệu sai
  • Giá cả biến động mạnh vượt ngưỡng bảo hiểm
  • Không thể quay trở lại sau khi quay trở lại

Những rủi ro này có thể được giảm bớt bằng cách điều chỉnh các tham số chỉ số, mở rộng tỷ lệ rủi ro và giảm tỷ lệ đảo ngược.

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

  • Có thể kiểm tra nhiều loại chỉ số khác nhau
  • Có thể nghiên cứu các cơ chế tự thích ứng để ngăn chặn sự tắc nghẽn.
  • Có thể tối ưu hóa logic gia tăng

Tóm tắt

Chiến lược giao dịch RSI có thể sử dụng các chỉ số để xác định thời điểm vào thị trường, sử dụng các điểm dừng và tăng giá để khóa lợi nhuận ổn định. Trong khi đó, chiến lược có cơ chế tái nhập sau khi biến động lớn và đảo ngược. Chiến lược tích hợp nhiều cơ chế này có thể được sử dụng để giảm rủi ro giao dịch và tăng tỷ lệ lợi nhuận.

Mã nguồn chiến lược
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Custom RSI/CCI Strategy with Fixed Grid", shorttitle="INVESTCOIN_RSI_CCI_Fixed_Grid", overlay=true)

// Input parameters
input_rsi_5min_value = 55
input_rsi_30min_value = 65
input_cci_1hr_value = 85
input_profit_target_percent = 0.6 // Target profit in percentage
input_grid_size = 15 // Number of orders in grid
input_hedging_percent = 20 // Percentage price change for hedging
input_first_order_offset = 0.2 // Offset for the first order in percentage
input_reversal_percent = 0.4 // Percentage price change for reversal

// Calculating the RSI and CCI values
rsi_5min = ta.rsi(close, 5)
rsi_30min = ta.rsi(close, 30)
cci_1hr = ta.cci(close, 60)

// Define strategy conditions based on the provided screenshot
long_condition = (rsi_5min < input_rsi_5min_value) and (rsi_30min < input_rsi_30min_value) and (cci_1hr < input_cci_1hr_value)

// Plot signals
plotshape(series=long_condition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)

// Initialize a variable to store the entry price
var float entry_price = na

// Initialize a variable to store the profit target
var float profit_target = na

// Hedge condition based on price change percentage
var float hedge_price = na

// Initialize a variable to count the total number of orders
var int total_orders = 0

// Calculate the initial order size based on account equity and grid size
var float initial_order_size = 1 / input_grid_size / 100

// Entry orders with fixed size
if (long_condition and total_orders < 9000)
    // Place first order with an offset
    if total_orders == 0
        strategy.order("First Long", strategy.long, qty=initial_order_size, limit=close * (1 - input_first_order_offset / 100))
    total_orders := total_orders + 1
    
    // Place remaining grid orders
    for i = 1 to input_grid_size - 1
        if (total_orders >= 9000)
            break // Stop if max orders reached
        strategy.entry("Long_" + str.tostring(i), strategy.long, qty=initial_order_size)
        total_orders := total_orders + 1

// Calculate the profit target in currency
if (long_condition)
    entry_price := close // Store the entry price when the condition is true

if (not na(entry_price))
    profit_target := entry_price * input_profit_target_percent / 100 // Calculate the profit target

// Setting up the profit target
if (not na(profit_target))
    strategy.exit("Take Profit", "Long", limit=entry_price + profit_target)

// Hedge by closing all positions if the price increases by the hedging percentage
if (strategy.position_size > 0)
    hedge_price := close * (1 + input_hedging_percent / 100)

if (not na(hedge_price) and close >= hedge_price)
    strategy.close_all(comment="Hedging")


// Reversal condition based on the price change percentage
var float reversal_price = na

if (strategy.position_size > 0 and total_orders > 1) // Check if at least one grid order has been placed
    reversal_price := entry_price * (1 - input_reversal_percent / 100)

// Cancel trades and wait for a new entry point if the price reverses by the specified percentage
if (not na(reversal_price) and close <= reversal_price)
    strategy.cancel_all()
    total_orders := 0 // Reset the total orders count after cancellation