Tài nguyên đang được tải lên... tải...

Chiến lược giao dịch lợi nhuận và dừng lỗ năng động dựa trên ba ngọn nến giảm liên tiếp và đường trung bình động

Tác giả:ChaoZhang, Ngày: 2024-05-09 16:42:35
Tags:SMAEMA

img

Tổng quan

Chiến lược giao dịch này dựa trên mô hình ba ngọn nến giảm liên tiếp và một hệ thống trung bình động để xác định tín hiệu giao dịch. Khi giá vượt trên trung bình động 200 ngày và có ba ngọn nến giảm liên tiếp, nó mở một vị trí dài. Chiến lược quản lý rủi ro giao dịch thông qua mức lợi nhuận và dừng lỗ năng động, được xác định bởi vị trí của trung bình động ngắn hạn và tỷ lệ thay đổi giá. Chiến lược chỉ giao dịch trong một khoảng thời gian nhất định.

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

  1. Tính toán số lượng nến giảm liên tiếp. Khi một số lượng xác định (bên mặc định là 3) của nến giảm liên tiếp xuất hiện, nó được coi là một tín hiệu dài.
  2. Sử dụng hai đường trung bình động để giúp xác định xu hướng và thời gian giao dịch, với cài đặt mặc định là đường trung bình động 10 ngày và 200 ngày. Chỉ xem xét mua dài khi giá vượt quá đường trung bình động 200 ngày.
  3. Thiết lập mức lợi nhuận và dừng lỗ động. Mức lợi nhuận là một tỷ lệ phần trăm nhất định (bất định 1,5%) trên giá nhập cảnh, và mức dừng lỗ là một tỷ lệ phần trăm nhất định (bất định 1%) dưới giá nhập cảnh.
  4. Một điều kiện khác để đóng một vị trí là khi vị trí giá tương đối với mức trung bình động 10 ngày thay đổi. Nếu giữ một vị trí dài và giá giảm từ trên mức trung bình động xuống dưới nó, vị trí được đóng.
  5. Chiến lược chỉ chạy trong một khoảng thời gian cụ thể, được xác định bởi ngày bắt đầu và ngày kết thúc.

Ưu điểm chiến lược

  1. Bằng cách kết hợp các mô hình giá và một hệ thống trung bình động, nó có thể nắm bắt các cơ hội xu hướng tương đối tốt.
  2. Thông qua mức lợi nhuận và dừng lỗ năng động, rủi ro và phần thưởng có thể được kiểm soát linh hoạt. Mức lợi nhuận tăng khi giá tăng, cho phép lợi nhuận chạy, trong khi mức dừng lỗ giới hạn mức lỗ tối đa.
  3. Sử dụng thay đổi vị trí của đường trung bình động ngắn hạn như một tín hiệu để đóng các vị trí có thể nhanh chóng phản ứng với sự đảo ngược giá đột ngột.
  4. Xác định phạm vi thời gian giao dịch có thể tránh giao dịch trong thời gian đặc biệt như đóng cửa thị trường hoặc ngày lễ, giảm rủi ro.

Rủi ro chiến lược

  1. Mô hình của các nến giảm liên tiếp không thể xác định hoàn toàn sự đảo ngược xu hướng, và có thể có những tình huống mà giá tiếp tục tăng sau các nến giảm liên tiếp, khiến chiến lược thất bại.
  2. Mức độ lấy lợi nhuận và dừng lỗ theo tỷ lệ phần trăm cố định có thể không thể đáp ứng được những biến động thị trường mạnh mẽ. Khi xu hướng rất mạnh, mức độ lấy lợi nhuận có thể được đặt quá thấp, dẫn đến thoát sớm; khi biến động tăng lên, mức dừng lỗ có thể quá gần, dẫn đến dừng thường xuyên.
  3. Việc đánh giá vị trí của đường trung bình di chuyển ngắn hạn có thể chậm lại, đặc biệt là khi giá thay đổi nhanh chóng, và cơ hội đóng cửa tốt nhất có thể đã bị bỏ lỡ.
  4. Chiến lược này thiếu các biện pháp quản lý vị trí và kiểm soát rủi ro. Điểm nhập và kích thước vị trí được cố định, có thể dẫn đến rủi ro quá mức trong một giao dịch duy nhất.

Hướng dẫn tối ưu hóa chiến lược

  1. Các chỉ số kỹ thuật có thể được giới thiệu để hỗ trợ phán đoán, chẳng hạn như MACD và RSI, để cải thiện độ tin cậy của tín hiệu.
  2. Tối ưu hóa phương pháp tính toán mức lợi nhuận và dừng lỗ, chẳng hạn như sử dụng ATR hoặc biến động để điều chỉnh năng động hoặc kết hợp mức hỗ trợ và kháng cự để thiết lập.
  3. Đối với các tín hiệu đóng cửa, hãy xem xét sử dụng nhiều điều kiện xác nhận hơn, chẳng hạn như thay đổi khối lượng giao dịch, tỷ lệ vị trí dài - ngắn, v.v., để tránh các tín hiệu sai.
  4. Thiết lập các biện pháp quản lý vị trí và kiểm soát rủi ro, chẳng hạn như điều chỉnh kích thước vị trí của mỗi giao dịch theo số dư tài khoản và mức độ rủi ro, và thiết lập giới hạn rủi ro tổng thể.
  5. Đối với các thiết lập tham số, chẳng hạn như số lượng nến giảm liên tiếp và thời gian trung bình động, các thử nghiệm tối ưu hóa có thể được thực hiện để tìm ra sự kết hợp tham số tốt nhất.

Tóm lại

Chiến lược giao dịch này xác định các cơ hội giao dịch xu hướng thông qua mô hình nến giảm liên tiếp và hệ thống trung bình động, trong khi kiểm soát rủi ro thông qua mức lợi nhuận và dừng lỗ năng động và thay đổi vị trí của mức trung bình động ngắn hạn. Chiến lược có logic rõ ràng và phù hợp với các nhà giao dịch nhằm nắm bắt xu hướng trung hạn đến dài hạn. Tuy nhiên, chiến lược cũng có một số hạn chế, chẳng hạn như độ tin cậy của tín hiệu, việc thiết lập mức lợi nhuận và dừng lỗ và quản lý vị trí, vẫn còn chỗ để tối ưu hóa. Trong ứng dụng thực tế, cần phải thực hiện các điều chỉnh và cải tiến thích hợp cho chiến lược theo đặc điểm thị trường và sở thích rủi ro cá nhân, và kiểm soát nghiêm ngặt rủi ro.


/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-08 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Estrategia de Trading", overlay=true)

// Definir el número de cierres de velas decrecientes consecutivas
var int cierres_decrecientes_consecutivos = 0
num_cierres_decrecientes = input.int(3, title="Número de cierres decrecientes", minval=1)

// Definir el porcentaje de cambio para cerrar la operación
porcentaje_cierre_arriba = input.float(1.5, title="Porcentaje de cierre arriba (%)", step=0.1)
porcentaje_cierre_abajo = input.float(1.0, title="Porcentaje de cierre abajo (%)", step=0.1)

// Definir las medias móviles para el cierre de la operación
periodos_media_movil_cierre = input.int(10, title="Períodos de la media móvil para cierre")
periodos_media_movil_200 = input.int(200, title="Períodos de la media móvil de 200")

// Definir el rango de fechas para la simulación
start_date = timestamp(2024, 1, 1, 0, 0)
end_date = timestamp(2024, 12, 31, 23, 59)

// Calcular la media móvil para el cierre de la operación
sma_cierre = ta.sma(close, periodos_media_movil_cierre)
sma_200 = ta.sma(close, periodos_media_movil_200)

// Calcular si el precio está por encima o por debajo de la media móvil para el cierre de la operación
precio_por_encima_sma_cierre = close > sma_cierre
precio_por_debajo_sma_cierre = close < sma_cierre

// Calcular si se han producido num_cierres_decrecientes consecutivos
if (ta.change(close) < 0)
    cierres_decrecientes_consecutivos := cierres_decrecientes_consecutivos + 1
else
    cierres_decrecientes_consecutivos := 0

es_cierres_consecutivos = cierres_decrecientes_consecutivos >= num_cierres_decrecientes

// Definir condiciones de entrada y salida de la estrategia dentro del rango de fechas y con el precio por encima de la SMA de 200
condicion_entrada = es_cierres_consecutivos and close > sma_200
condicion_cierre_sma = (precio_por_encima_sma_cierre[1] and not precio_por_encima_sma_cierre) or (not precio_por_encima_sma_cierre[1] and precio_por_encima_sma_cierre)

// Calcular precios de salida basados en porcentajes
precio_salida_arriba = strategy.position_avg_price * (1 + porcentaje_cierre_arriba / 100)
precio_salida_abajo = strategy.position_avg_price * (1 - porcentaje_cierre_abajo / 100)

// Ejecutar operación en largo dentro del rango de fechas y con el precio por encima de la SMA de 200
if (condicion_entrada and strategy.opentrades == 0)
    strategy.entry("Long", strategy.long)

// Cerrar operación en largo si se cumple la condición de salida por cambio en el cruce de la media móvil dentro del rango de fechas
if (strategy.position_size > 0 and condicion_cierre_sma)
    strategy.close("Long")

// Cerrar operación en largo si el precio alcanza el porcentaje de cierre arriba o abajo dentro del rango de fechas
strategy.exit("Stop Loss", "Long", limit=precio_salida_arriba, stop=precio_salida_abajo)

// Plot para visualizar la media móvil para el cierre de la operación
plot(sma_cierre, color=color.red)

// Plot para visualizar la SMA de 200
plot(sma_200, color=color.blue)


Có liên quan

Thêm nữa