Chiến lược trung bình động với mục tiêu lợi nhuận động

Tác giả:ChaoZhang, Ngày: 2023-09-18 21:46:47
Tags:

Tổng quan

Chiến lược này xác định xu hướng bằng cách sử dụng đường trung bình động, lấy lợi nhuận ở số nhân ATR cố định, và kích thước vị trí năng động dựa trên ATR. Nó nhằm mục đích sử dụng xu hướng để kiếm lợi nhuận trong khi kiểm soát rủi ro.

Nguyên tắc

Chiến lược này sử dụng Đường trung bình di chuyển đơn giản dài N để xác định hướng xu hướng. Nó đi dài khi SMA ngắn vượt qua SMA dài, và đi ngắn khi vượt qua dưới.

Sau khi tham gia, mục tiêu lợi nhuận được thiết lập ở số nhân ATR cố định từ giá nhập cảnh, ví dụ: Mục tiêu lợi nhuận = Giá nhập cảnh + ATR * Nhân tố cho các giao dịch dài.

Chiến lược cũng kích thước các vị trí ngược lại với ATR, đại diện cho sự biến động của thị trường.

Ưu điểm

  1. MA xác định xu hướng, cho phép theo xu hướng.

  2. Lợi nhuận ATR lấy lợi nhuận từ xu hướng trong khi tránh đảo ngược.

  3. Định kích thước vị trí động quản lý rủi ro theo biến động thị trường.

  4. Các yếu tố lợi nhuận và các tham số kích thước có thể tùy chỉnh.

  5. Dừng lỗ có thể hạn chế rủi ro hơn nữa.

Rủi ro và giảm thiểu

  1. Sự chậm trễ MA có thể gây ra sự xuất hiện muộn. Các thông số nhạy cảm hơn có thể được kiểm tra.

  2. Sự biến động của ATR có thể dẫn đến mục tiêu lợi nhuận quá nhỏ hoặc quá lớn.

  3. Sự biến động quá mức dẫn đến các vị trí quá nhỏ hạn chế lợi nhuận.

  4. Thiếu stop loss có nguy cơ mất không kiểm soát.

  5. Chọn biểu tượng kém, ví dụ như tài sản biến động thấp, có thể dẫn đến hiệu suất kém.

Cơ hội gia tăng

  1. Kiểm tra các kết hợp tham số khác nhau để cài đặt tối ưu.

  2. Cải thiện logic nhập bằng cách thêm các chỉ số khác làm bộ lọc.

  3. Nghiên cứu lợi nhuận năng động và dừng lỗ cho sự linh hoạt.

  4. Quản lý các vị trí dựa trên các chỉ số biến động.

  5. Thêm cơ chế nhập lại để kéo dài thời gian giữ.

Tóm lại

Chiến lược xác định xu hướng với đường trung bình động, lấy lợi nhuận tại ATR nhân và vị trí kích thước bởi ATR. Nó có một số xu hướng sau đó khả năng và rủi ro có thể được điều chỉnh thông qua các tham số. Nhưng lựa chọn tham số và lợi nhuận mục tiêu vấn đề tồn tại.


/*backtest
start: 2023-09-10 00:00:00
end: 2023-09-17 00:00:00
period: 5m
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/
// © dongyun

//@version=4
strategy("利润目标止损的移动平均线", overlay=true)

period = input(80,'')
ptper = input(252,'')
ptfactor = input(12,'')
sizeper = input(20, '')

trend = 0.0
signal = 0
size = 1.0
investment = 100000
atrange = 0.0
ptrange = 0.0
stoph = 0.0
stopl = 0.0


if sizeper != 0
	atrange := atr(sizeper)

if atrange == 0 or sizeper == 0 
	size := 1
else
	size := investment/atrange * 0.1

trend := sma(close,period)


if signal != 1 and nz(trend[1]) < nz(trend[2]) and trend > nz(trend[1])
	strategy.entry('long',strategy.long, comment='open_long')
	signal := 1
else
    signal := nz(signal[1])
    
if signal != -1 and nz(trend[1]) > nz(trend[2]) and trend < nz(trend[1])
	strategy.entry('short',strategy.short, comment='open_short')
	signal := -1
else
    if signal == 0
        signal := nz(signal[1])

ptrange := atr(ptper)

if strategy.position_size > 0
	strategy.exit("exit_long", "long", qty = strategy.position_size, limit = close + ptfactor*ptrange , comment='trail_long') 
else
	if strategy.position_size < 0
		strategy.exit("exit_short", "short", qty = abs(strategy.position_size), limit = close - ptfactor*ptrange, comment='trail_short')


Thêm nữa