Chiến lược mua điểm đảo ngược chỉ báo kép


Ngày tạo: 2024-01-04 17:39:13 sửa đổi lần cuối: 2024-01-04 17:39:13
sao chép: 1 Số nhấp chuột: 531
1
tập trung vào
1621
Người theo dõi

Chiến lược mua điểm đảo ngược chỉ báo kép

Tổng quan

Chiến lược này được sử dụng để quản lý vị trí bằng cách xác định thời gian mua kết hợp với khối lượng giao dịch và chỉ số RSI, sử dụng mục tiêu dừng đặt hàng theo từng đợt để thu lợi nhuận. Chiến lược này được áp dụng cho các tình huống xung đột, có thể khóa một cách hiệu quả các giao dịch mua lặp lại trong các cơn động đất nhỏ.

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

Chiến lược này sử dụng hai chỉ số để xác định thời điểm mua: khối lượng giao dịch và RSI. Logic cụ thể là, khi khối lượng giao dịch vượt quá 2,5 lần khối lượng giao dịch trung bình trong 70 ngày gần nhất, và RSI dưới 30 (cấp bán tháo), tín hiệu mua sẽ được phát ra.

Một khi đặt vị trí mua, chiến lược này sẽ đặt 5 mục tiêu dừng khác nhau: 0.4%, 0.6%, 0.8%, 1.0% và 1.2%, và dừng dần theo tỷ lệ vị trí: 20%, 40%, 60%, 80% và 100%, cho đến khi tất cả các vị trí đều bằng phẳng. Đồng thời đặt điểm dừng lỗ là 5%.

Bằng cách này, bằng cách thiết lập các điểm dừng theo đợt, bạn có thể khóa các đợt tăng nhỏ và tránh bị mất lợi nhuận khi chờ đợi các đợt tăng lớn hơn. Các điểm dừng có thể kiểm soát các tổn thất đơn lẻ.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Sử dụng chỉ số kép để xác định điểm mua, tránh phá vỡ giả. Lớn khối lượng giao dịch có thể xác nhận mức chịu áp lực của đáy, RSI bán quá mức có thể xác định xác suất bật lên của Addon.

  2. Sử dụng chiến lược dừng hàng loạt, bạn có thể khóa tối đa cơ hội lợi nhuận trong những biến động nhỏ, mà không cần phải chờ đợi tăng mạnh.

  3. Phương pháp này có thể được sử dụng trong các thị trường có biến động, đặc biệt là các thị trường có giá liên tục nhảy vọt trong khu vực cơ quan chưa hoàn thành.

  4. Điểm dừng lỗ được thiết lập rộng hơn, cho thị trường đủ không gian quyết định.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Các chỉ số kép xác nhận tín hiệu có nguy cơ bị đánh giá sai, có thể mua các điểm phá vỡ giả. Bạn có thể giảm nguy cơ bằng cách tối ưu hóa tham số.

  2. Lưu ý rằng các điểm dừng hàng loạt có thể bị mất cơ hội tăng giá lớn do nắm giữ vị trí quá nhỏ. Bạn có thể tối ưu hóa bằng cách điều chỉnh điểm dừng và tỷ lệ vị trí.

  3. Lượng dừng lỗ lớn hơn, tổn thất đơn lẻ có thể lớn hơn. Có thể giảm rủi ro quản lý số vị trí.

  4. Đối với thị trường chấn động, thị trường mạnh có rủi ro theo hướng lớn hơn. Cần chú ý đến cấu trúc thị trường lớn.

  5. Tần suất giao dịch cao sẽ làm tăng chi phí giao dịch.

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

Chiến lược này có thể được tối ưu hóa bằng cách:

  1. Tối ưu hóa khối lượng giao dịch và các tham số RSI, giảm tỷ lệ sai lầm. Các chỉ số khác như MACD, KDJ cũng có thể được đưa vào để xác nhận.

  2. Kiểm tra các tỷ lệ dừng và tỷ lệ vị trí khác nhau để tìm ra sự kết hợp tham số tối ưu. Cũng có thể giới thiệu cơ chế dừng động.

  3. Tối ưu hóa chiến lược quản lý vị trí, giảm thiểu khả năng thua lỗ đơn lẻ thông qua hệ thống quản lý vị trí rủi ro.

  4. Thêm mô-đun đánh giá xu hướng, có thể nhận biết xu hướng chuyển hướng và dừng lỗ kịp thời. ◯ Tránh giữ vị trí quá thụ động.

  5. Tiếp theo, nó sẽ đưa ra các giao dịch thuật toán và hệ thống đo lường định lượng, nhanh chóng đi qua các tham số khác nhau để tìm kiếm sự kết hợp tốt nhất.

  6. Mô hình kiểm soát điểm trượt và kiểm soát chi phí của chiến lược giao dịch tần số cao ở cấp tổ chức, giảm số lần giao dịch và đảm bảo lợi nhuận.

Tóm tắt

Chiến lược này có lợi thế là lợi nhuận thường xuyên, không cần phải chờ đợi một sự biến động lớn; nhược điểm là tín hiệu dễ bị đánh giá sai và tần suất giao dịch cao. Có thể xác định chất lượng tín hiệu bằng cách tối ưu hóa nhiều chỉ số, tăng sự ổn định của chiến lược thông qua kiểm soát rủi ro và kiểm soát chi phí. Chiến lược này phù hợp với lợi nhuận ngắn hạn khi khóa nhỏ.

Mã nguồn chiến lược
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
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/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, 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.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef