Chiến lược thêm vị thế động dựa trên RSI


Ngày tạo: 2024-02-06 09:44:05 sửa đổi lần cuối: 2024-02-06 09:44:05
sao chép: 1 Số nhấp chuột: 727
1
tập trung vào
1617
Người theo dõi

Chiến lược thêm vị thế động dựa trên RSI

Tổng quan

Chiến lược này kết hợp chỉ số tương đối mạnh (RSI) và nguyên tắc tăng vị thế của Martin Gill. Mua và mở vị thế đầu tiên khi RSI thấp hơn đường bán vượt; sau đó, nếu giá tiếp tục giảm, sẽ tăng vị thế bằng chỉ số 2 để lấy lợi nhuận. Chiến lược này được áp dụng cho giao dịch tiền mặt với các loại tiền có giá trị thị trường cao, có thể thu được lợi nhuận ổn định trong thời gian dài.

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

  1. Sử dụng chỉ số RSI để đánh giá thị trường bán quá mức, trong khi RSI được thiết lập là 14, thềm bán quá mức được thiết lập là 30.
  2. Khi RSI < 30, hãy mở một vị trí đầu tiên với 5% lợi nhuận của tài khoản.
  3. Nếu giá giảm 0,5% so với giá nhập cảnh đầu tiên, hãy đặt cược thêm 2 lần; Nếu giá tiếp tục giảm, hãy đặt cược lại 4 lần.
  4. Mỗi lần tăng 0,5%, bạn sẽ thanh toán bằng cách dừng thu nhập.
  5. Lặp lại các bước trên để thực hiện giao dịch vòng tròn.

Phân tích lợi thế

  • Sử dụng RSI để đánh giá điểm bán tháo của thị trường, bạn có thể mở thêm vị trí ở mức thấp tương đối.
  • Các nhà đầu tư đã có thể làm cho giá trung bình của các nhà đầu tư thấp hơn.
  • Một khoản dừng nhỏ có thể mang lại lợi nhuận ổn định và lâu dài.
  • Đối với giao dịch tiền mặt với các đồng tiền có giá trị thị trường cao, rủi ro có thể kiểm soát được.

Phân tích rủi ro

  • Nếu thị trường suy thoái lâu dài, lỗ hổng nắm giữ có thể mở rộng hơn nữa.
  • Không có thiết lập dừng lỗ, không giới hạn thiệt hại tối đa.
  • Lưu trữ quá nhiều lần cũng làm tăng tổn thất.
  • Các nhà đầu tư cũng đã đưa ra những dự báo về sự tăng trưởng của thị trường, trong đó có những dự báo về sự tăng trưởng của thị trường.

Tối ưu hóa chiến lược

  1. Bạn có thể thiết lập điểm dừng để hạn chế tổn thất tối đa.
  2. Tối ưu hóa các tham số RSI để tìm các tín hiệu bán/mua tốt nhất.
  3. Có thể thiết lập phạm vi dừng hợp lý dựa trên biến động của đồng tiền cụ thể.
  4. Tỷ lệ gia tăng có thể được thiết lập dựa trên tổng tài sản hoặc tỷ lệ nắm giữ vị trí cá nhân.

Tóm tắt

Chiến lược này kết hợp các chỉ số RSI và nguyên tắc đặt cược của Martin, đặt cược nhiều hơn khi đánh giá điểm bán quá mức, để thu lợi nhuận với một mức dừng nhỏ. Nó có thể thu được lợi nhuận ổn định liên tục, nhưng cũng có một số rủi ro. Có thể được tối ưu hóa hơn nữa bằng cách thiết lập dừng lỗ, điều chỉnh tham số và vân vân.

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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Stavolt

//@version=5
strategy("RSI Martingale Strategy", overlay=true, default_qty_type=strategy.cash, currency=currency.USD)

// Inputs
rsiLength = input(14, title="RSI Length")
oversoldThreshold = input(30, title="Oversold Threshold") // Keeping RSI threshold
profitTargetPercent = input(0.5, title="Profit Target (%)") / 100
initialInvestmentPercent = input(5, title="Initial Investment % of Equity")

// Calculating RSI
rsiValue = ta.rsi(close, rsiLength)

// State variables for tracking the initial entry
var float initialEntryPrice = na
var int multiplier = 1

// Entry condition based on RSI
if (rsiValue < oversoldThreshold and na(initialEntryPrice))
    initialEntryPrice := close
    strategy.entry("Initial Buy", strategy.long, qty=(strategy.equity * initialInvestmentPercent / 100) / close)
    multiplier := 1

// Adjusting for errors and simplifying the Martingale logic
// Note: This section simplifies the aggressive position size adjustments without loops
if (not na(initialEntryPrice))
    if (close < initialEntryPrice * 0.995) // 0.5% drop from initial entry
        strategy.entry("Martingale Buy 1", strategy.long, qty=((strategy.equity * initialInvestmentPercent / 100) / close) * 2)
        multiplier := 2 // Adjusting multiplier for the next potential entry

    if (close < initialEntryPrice * 0.990) // Further drop
        strategy.entry("Martingale Buy 2", strategy.long, qty=((strategy.equity * initialInvestmentPercent / 100) / close) * 4)
        multiplier := 4

    // Additional conditional entries could follow the same pattern

// Checking for profit target to close positions
if (strategy.position_size > 0 and (close - strategy.position_avg_price) / strategy.position_avg_price >= profitTargetPercent)
    strategy.close_all(comment="Take Profit")
    initialEntryPrice := na // Reset for next cycle