Chiến lược kiểm tra ngược kênh SSL dựa trên ATR và quản lý tiền


Ngày tạo: 2023-11-23 10:26:58 sửa đổi lần cuối: 2023-11-23 10:26:58
sao chép: 1 Số nhấp chuột: 731
1
tập trung vào
1617
Người theo dõi

Chiến lược kiểm tra ngược kênh SSL dựa trên ATR và quản lý tiền

Tổng quan

Chiến lược này là chiến lược phản hồi dựa trên các chỉ số SSL, kết hợp với các tính năng như ATR Stop Loss, ATR Stop Stop và quản lý tiền, cho phép kiểm tra hiệu quả của chiến lược SSL một cách toàn diện hơn.

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

Chỉ số SSL

Chỉ số kênh SSL bao gồm đường trung và đường băng. Đường trung là đường trung bình di chuyển đơn giản, được chia thành đường cao và đường thấp, thường lấy đường trung bình di chuyển đơn giản trong thời gian cao là đường cao, đường trung bình di chuyển đơn giản trong thời gian thấp là đường thấp.

Khi giá gần đường dẫn lên, nó được coi là mua quá mức, và khi giá gần đường dẫn xuống, nó được coi là bán quá mức. Khi giá phá vỡ đường dẫn, nó cho thấy một tín hiệu thay đổi xu hướng.

Các tham số chỉ số SSL trong chính sách này được đặt thành:ssl_period=16

ATR dừng dừng

ATR là độ dài sóng thực trung bình. Nó có thể được sử dụng để đánh giá sự biến động của thị trường và xác định vị trí dừng lỗ.

Chính sách này sử dụng các tham sốatr_period=14của ATR, và kết hợpatr_stop_factor=1.5atr_target_factor=1.0Là nhân động của dừng và dừng, thực hiện dừng dựa trên biến động của thị trường.

Ngoài ra, để thích ứng với các giống khác nhau, chiến lược này đã được thêm vào.two_digitCác tham số đánh giá hợp đồng với độ chính xác 2 bit (ví dụ như vàng, yên) để có thể điều chỉnh vị trí dừng lỗ một cách linh hoạt.

Quản lý tài chính

Quản lý tài chính chủ yếu thông qua các tham sốposition_size(Vị trí cố định) vàrisk(Phần trăm lỗ hổng rủi ro) thực hiện.use_mm=trueĐiều này sẽ kích hoạt mô-đun quản lý tài chính.

Mục tiêu chính của quản lý tiền là kiểm soát kích thước vị trí của mỗi lần mở vị trí. Khi áp dụng mô hình rủi ro tỷ lệ phần trăm cố định, lỗ hổng rủi ro sẽ được tính dựa trên quyền lợi tài khoản và chuyển thành số hợp đồng, do đó có hiệu quả ức chế tổn thất đơn lẻ.

Phân tích lợi thế

  • Sử dụng kênh SSL để định hướng xu hướng, có hiệu quả nhất định đối với việc chuyển đổi xu hướng
  • Ứng dụng ATR động tính toán điểm dừng lỗ, có thể tự điều chỉnh biến động thị trường
  • Sử dụng các nguyên tắc quản lý tiền để kiểm soát rủi ro trong dài hạn

Phân tích rủi ro

  • Tuy SSL có thể xác định được sự đảo ngược xu hướng, nhưng nó không chắc chắn 100% và có thể có tín hiệu sai.
  • ATR theo biến động thị trường đặt lệnh dừng lỗ, có thể quá nới lỏng hoặc quá cứng
  • Các tham số quản lý tiền tệ được thiết lập không đúng cách cũng có thể dẫn đến vị trí quá lớn hoặc kém hiệu quả

Những rủi ro này có thể được cải thiện bằng cách:

  1. Xác nhận kết hợp với các chỉ số khác để tránh tín hiệu sai
  2. Điều chỉnh thích hợp các tham số chu kỳ ATR để đạt được sự cân bằng tối ưu của mức dừng lỗ
  3. Kiểm tra các tham số quản lý tiền khác nhau để tìm vị trí tốt nhất

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

Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa các tham số đường SSL để tìm các tham số kết hợp tốt nhất
  2. Tối ưu hóa hoặc thay thế hệ thống ATR để làm cho nó tốt hơn
  3. Thêm các chỉ số lọc khác để tránh giao dịch không cần thiết
  4. Thêm mô-đun kiểm soát vị trí để tối đa hóa lợi nhuận
  5. Điều chỉnh các tham số cho các giống khác nhau để cải thiện khả năng thích ứng của chiến lược
  6. Tham gia vào các công cụ định lượng để có được phản hồi và tối ưu hóa toàn diện hơn

Bằng cách kiểm tra và tối ưu hóa hệ thống, chiến lược này có thể trở thành một hệ thống giao dịch định lượng đáng tin cậy và ổn định.

Tóm tắt

Chính sách này kết hợp các chỉ số định xu hướng của SSL, ATR thiết lập các điểm dừng lỗ và kiểm soát rủi ro quản lý tiền. Có thể kiểm tra hiệu quả của chính sách này thông qua phản hồi toàn diện và có thể được sử dụng như một khuôn khổ cơ bản để tối ưu hóa chiến lược giao dịch định lượng. Đồng thời, chính sách này cũng có thể được cải thiện, chẳng hạn như thêm các chỉ số lọc khác, tham số tối ưu hóa và tính năng mở rộng. Nói chung, chính sách này đặt nền tảng vững chắc để xây dựng hệ thống giao dịch tự động.

Mã nguồn chiến lược
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 2h
basePeriod: 15m
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/
// © comiclysm

//@version=4
strategy("SSL Backtester", overlay=false)

//--This strategy will simply test the effectiveness of the SSL using
//--money management and an ATR-derived stop loss

//--USER INPUTS

two_digit = input(false, "Check this for 2-digit pairs (JPY, Gold, Etc)")
ssl_period = input(16, "SSL Period")
atr_period = input(14, "ATR Period")
atr_stop_factor = input(1.5, "ATR Stop Loss Factor")
atr_target_factor = input(1.0, "ATR Target Factor")
use_mm = input(true, "Check this to use Money Management")
position_size = input(1000, "Position size (for Fixed Risk)")
risk = input(0.01, "Risk % in Decimal Form")

//--INDICATORS------------------------------------------------------------

    //--SSL
    
sma_high = sma(high, ssl_period)
sma_low = sma(low, ssl_period)
ssl_value = 0
ssl_value := close > sma_high ? 1 : close < sma_low ? -1 : ssl_value[1]
ssl_low = ssl_value < 0 ? sma_high : sma_low
ssl_high = ssl_value < 0 ? sma_low : sma_high

    //--Average True Range
    
atr = atr(atr_period)

//--TRADE LOGIC----------------------------------------------------------

signal_long = ssl_value > 0 and ssl_value[1] < 0
signal_short = ssl_value < 0 and ssl_value[1] > 0

//--RISK MANAGMENT-------------------------------------------------------
strategy.initial_capital = 50000
balance = strategy.netprofit + strategy.initial_capital
risk_pips = atr*10000*atr_stop_factor
if(two_digit)
    risk_pips := risk_pips / 100
risk_in_value = balance * risk
point_value = syminfo.pointvalue
risk_lots = risk_in_value / point_value / risk_pips
final_risk = use_mm ? risk_lots * 10000 : position_size

//--TRADE EXECUTION-----------------------------------------------------

if (signal_long)
    stop_loss = close - atr * atr_stop_factor
    target = close + atr * atr_target_factor
    strategy.entry("Long", strategy.long, final_risk)
    strategy.exit("X", "Long", stop=stop_loss, limit=target)
if (signal_short)
    stop_loss = close + atr * atr_stop_factor
    target = close - atr * atr_target_factor
    strategy.entry("Short", strategy.short, final_risk)
    strategy.exit("X", "Short", stop=stop_loss, limit=target)
    
//--PLOTTING-----------------------------------------------------------

plot(ssl_low, "SSL", color.red, linewidth=1)
plot(ssl_high, "SSL", color.lime, linewidth=1)