Chiến lược này là một chiến lược giao dịch tiền điện tử dựa trên sự kết hợp của chỉ số MACD và chỉ số chứng khoán. Nó tạo ra các tín hiệu giao dịch bằng cách tính toán chỉ số MACD của giá bitcoin và áp dụng các chỉ số chứng khoán trên nó, để nắm bắt những thay đổi xu hướng trên thị trường tiền điện tử.
Chiến lược này đầu tiên tính toán chỉ số MACD. MACD viết tắt của Moving Average Convergence Divergence, đây là một chỉ số theo xu hướng. Nó bao gồm một đường nhanh và một đường chậm, trong đó đường nhanh là một đường trung bình chuyển động theo cấp số nhân ngắn hạn và đường chậm là một đường trung bình chuyển động theo cấp số nhân dài hạn. Khi đường nhanh vượt qua đường chậm, nó tạo ra một tín hiệu chéo vàng, cho thấy thị trường tăng. Khi đường nhanh vượt qua dưới đường chậm, nó tạo ra một tín hiệu chéo chết, cho thấy thị trường giảm.
Sau khi tính toán chỉ số MACD, chiến lược áp dụng chỉ số stochastic %K trên chính MACD. Công thức tính toán cho %K là:
% K = (Thiết lập hiện tại - Tối thiểu thấp nhất trong N giai đoạn) / (Tối cao nhất trong N giai đoạn - Tối thấp nhất trong N giai đoạn) * 100
Chỉ số chứng khoán phản ánh độ lệch giá từ phạm vi gần đây. Sự biến động của %K trong khoảng 20-80 đại diện cho giá đang giao dịch trong hợp nhất. Khi %K vượt trên 20 từ dưới, nó tạo ra tín hiệu mua. Khi %K vượt dưới 80 từ trên, nó tạo ra tín hiệu bán.
Chiến lược này kết hợp các tín hiệu giao dịch từ cả MACD và stochastic %K để giao dịch trên thị trường tiền điện tử. Nó tạo ra tín hiệu mua khi %K vượt trên 20 và tín hiệu bán khi %K vượt dưới 80.
Chiến lược này kết hợp phân tích xu hướng và các chỉ số mua quá mức bán quá mức, có thể xác định hiệu quả các bước ngoặt quan trọng trên thị trường. so với sử dụng MACD hoặc stochastic một mình, sự kết hợp của %K và MACD làm tăng độ tin cậy của tín hiệu giao dịch và giảm tín hiệu sai.
Ngoài ra, chiến lược này áp dụng các chỉ số kỹ thuật thường được sử dụng trong thị trường chứng khoán để giao dịch tiền điện tử. Đây là một ứng dụng xuyên thị trường. Các chỉ số này cũng áp dụng trong thị trường tiền kỹ thuật số, và thậm chí có thể hoạt động tốt hơn do sự biến động cao của tiền điện tử.
Rủi ro lớn nhất của chiến lược này là sự biến động cao trên thị trường tiền điện tử, dễ dàng tạo ra tín hiệu sai và dẫn đến thua lỗ giao dịch. Ngoài ra, khi các chỉ báo tạo ra tín hiệu, giá có thể đã di chuyển đáng kể, gây ra nguy cơ bỏ lỡ các tín hiệu xu hướng sớm.
Để kiểm soát những rủi ro này, nên sử dụng stop loss di chuyển để khóa lợi nhuận và tránh tổn thất thêm. Đồng thời, các tham số cũng có thể được điều chỉnh thích hợp để khám phá thêm các cơ hội tiềm năng bằng cách sử dụng các khoảng thời gian khác nhau.
Đầu tiên, chiến lược có thể cố gắng kết hợp các đường trung bình động với các chỉ số biến động như Bollinger Bands, thiết lập các tham số biến động để xác định tính hợp lệ của các vụ phá vỡ và tránh các tín hiệu sai.
Thứ hai, các mô hình học máy có thể được giới thiệu để đào tạo trên dữ liệu lịch sử và thiết lập mô hình mạng thần kinh rừng ngẫu nhiên hoặc LSTM để hỗ trợ đánh giá hiệu quả của tín hiệu chỉ số.
Thứ ba, thêm một cơ chế dừng lỗ. Khi giá di chuyển trên một phạm vi nhất định theo hướng không thuận lợi, tự động kích hoạt dừng lỗ để kiểm soát rủi ro.
Chiến lược này kết hợp chỉ số MACD và chỉ số stochastic %K, sử dụng phương pháp xác minh lẫn nhau các tín hiệu từ hai chỉ số để xây dựng một chiến lược giao dịch tiền điện tử. Chiến lược chỉ số kết hợp này có thể cải thiện độ chính xác của tín hiệu đến một mức độ nào đó. Nhưng chúng ta cũng cần nhận thức được nguy cơ phức tạp quá mức của các chỉ số, có thể giới thiệu tiếng ồn và ảnh hưởng chậm trễ. Điều chỉnh tham số và kiểm soát rủi ro phù hợp theo môi trường thị trường khác nhau cũng quan trọng như nhau để đạt được hiệu suất chiến lược tốt hơn.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Schaff Trend Cycle Strategy", shorttitle="STC Backtest", overlay=true) fastLength = input(title="MACD Fast Length", defval=23) slowLength = input(title="MACD Slow Length", defval=50) cycleLength = input(title="Cycle Length", defval=10) d1Length = input(title="1st %D Length", defval=3) d2Length = input(title="2nd %D Length", defval=3) src = input(title="Source", defval=close) highlightBreakouts = input(title="Highlight Breakouts ?", type=bool, defval=true) macd = ema(src, fastLength) - ema(src, slowLength) k = nz(fixnan(stoch(macd, macd, macd, cycleLength))) d = ema(k, d1Length) kd = nz(fixnan(stoch(d, d, d, cycleLength))) stc = ema(kd, d2Length) stc := stc > 100 ? 100 : stc < 0 ? 0 : stc upper = input(75, defval=75) lower = input(25, defval=25) long = crossover(stc, lower) ? lower : na short = crossunder(stc, upper) ? upper : na long_filt = long and not short short_filt = short and not long prev = 0 prev := long_filt ? 1 : short_filt ? -1 : prev[1] long_final = long_filt and prev[1] == -1 short_final = short_filt and prev[1] == 1 //alertcondition(long_final, "Long", message="Long") //alertcondition(short_final,"Short", message="Short") //plotshape(long_final, style=shape.arrowup, text="Long", color=green, location=location.belowbar) //plotshape(short_final, style=shape.arrowdown, text="Short", color=red, location=location.abovebar) strategy.entry("long", strategy.long, when = long ) strategy.entry("short", strategy.short, when = short)