Chiến lược này đánh giá xu hướng giá trong tương lai bằng cách phân tích sự khác biệt giữa giá đóng của hai ngày liên tiếp, nhằm thực hiện giao dịch ngắn hạn.
Lý thuyết cốt lõi của chiến lược này là so sánh giá đóng cửa ngày hôm nay với giá đóng cửa ngày hôm qua.
Điều quan trọng ở đây là thiết lập ngưỡng hợp lý. Nếu ngưỡng quá lớn, nó sẽ bỏ lỡ các biến động giá nhỏ hơn. Nếu ngưỡng quá nhỏ, nó sẽ kích hoạt giao dịch phi lý quá mức do biến động bình thường. Chiến lược áp dụng thiết kế ngưỡng điều chỉnh với giá trị mặc định là 0,004 và bước 0,001. Các ngưỡng thích hợp có thể được chọn thông qua kiểm tra ngược dựa trên dữ liệu lịch sử.
Tóm lại, chiến lược này nắm bắt sự thay đổi giá giữa hai ngày giao dịch liên tiếp, đánh giá xu hướng giá trong tương lai có thể bằng cách lọc ra các biến động bình thường thông qua ngưỡng, và do đó tiến hành giao dịch ngắn hạn.
Để giải quyết những rủi ro này, hãy xem xét:
Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:
Kiểm tra ngược nhiều khung thời gian- Sử dụng các khung thời gian khác nhau (ngày, 4 giờ, 1 giờ, vv) để kiểm tra lại các thông số và chọn khung thời gian và các thông số tối ưu.
Kết hợp các chỉ số biến động- Thêm các chỉ số xem xét biến động giá, chẳng hạn như ATR, để thiết lập các ngưỡng năng động tốt hơn.
Thêm logic stop loss- Đặt điểm dừng lỗ hợp lý để kiểm soát lỗ đơn.
Tối ưu hóa quản lý vị trí- Tối ưu hóa kích thước các vị trí ban đầu và các quy tắc bổ sung để tăng lợi nhuận trong khi đảm bảo dừng lỗ.
Xem xét chi phí giao dịch- Thêm chi phí giao dịch như hoa hồng và trượt trong backtesting để gần hơn với giao dịch trực tiếp.
Giới thiệu máy học- Áp dụng các thuật toán học máy để trích xuất nhiều tính năng hơn và xây dựng các tín hiệu giao dịch mạnh hơn.
Chiến lược này đánh giá xu hướng giá trong tương lai dựa trên sự khác biệt giá đóng cửa, sử dụng một cách tiếp cận đơn giản và trực quan để thiết kế các chiến lược giao dịch ngắn hạn. Chiến lược này dễ thực hiện và phù hợp với các hoạt động ngắn hạn, nhưng có thể có một số rủi ro mất mát. Các phương pháp tối ưu hóa khác nhau có thể cải thiện sự ổn định và lợi nhuận của chiến lược. Là một chiến lược cơ bản, nó có thể cung cấp ý tưởng và tài liệu tham khảo để nghiên cứu thêm.
/*backtest start: 2023-08-28 00:00:00 end: 2023-09-27 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Daily Close Comparison Strategy (by ChartArt) repainting results", shorttitle="CA_-_Daily_Close_Strat", overlay=false) // ChartArt's Daily Close Comparison Strategy // // Version 1.0 // Idea by ChartArt on February 28, 2016. // // This strategy is equal to the very // popular "ANN Strategy" coded by sirolf2009, // but without the Artificial Neural Network (ANN). // // Main difference besides stripping out the ANN // is that I use close prices instead of OHLC4 prices. // And the default threshold is set to 0 instead of 0.0014 // with a step of 0.001 instead of 0.0001. // // This strategy goes long if the close of the current day // is larger than the close price of the last day. // If the inverse logic is true, the strategy // goes short (last close larger current close). // // This simple strategy does not have any // stop loss or take profit money management logic. // // List of my work: // https://www.tradingview.com/u/ChartArt/ // // __ __ ___ __ ___ // / ` |__| /\ |__) | /\ |__) | // \__, | | /~~\ | \ | /~~\ | \ | // // threshold = input(title="Price Difference Threshold repainting results", type=float, defval=0.004, step=0.001) getDiff() => yesterday=security(syminfo.tickerid, 'D', close[1]) today=security(syminfo.tickerid, 'D', close) delta=today-yesterday percentage=delta/yesterday closeDiff = getDiff() buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1] hline(0, title="zero line") bgcolor(buying ? green : red, transp=25) plot(closeDiff, color=silver, style=area, transp=75) plot(closeDiff, color=aqua, title="prediction") longCondition = buying if (longCondition) strategy.entry("Long", strategy.long) shortCondition = buying != true if (shortCondition) strategy.entry("Short", strategy.short)