Đây là một chiến lược giao dịch định lượng dựa trên chỉ số tiền thông minh (SMI). Chỉ số phản ánh hoạt động của các quỹ tổ chức và được sử dụng để dự đoán xu hướng thị trường tiềm năng bằng cách phân tích chuyển động của SMI. Nó thuộc về các chiến lược giao dịch dựa trên phân tích tâm lý nhà đầu tư.
Chỉ số cốt lõi là Chỉ số tiền thông minh (SMI).
SMI = SMA ((Hôm nay đóng cửa - Hôm nay mở cửa + Hôm qua đóng cửa - Hôm qua mở cửa, N)
N là khoảng thời gian tham số.
SMI phản ánh dòng chảy vào và đi của tiền thông minh. SMI tăng cho thấy dòng chảy ròng, có nghĩa là tiền thông minh tăng. SMI giảm cho thấy dòng chảy ròng, có nghĩa là tiền thông minh giảm.
Chiến lược giao dịch đi dài khi SMI tăng và đi ngắn khi SMI giảm, để theo dõi các chuyển động của tiền thông minh.
Các rủi ro có thể được giảm bằng cách:
Chiến lược có thể được cải thiện bằng cách:
Tìm thời gian tính toán SMI tối ưu
Thêm bộ lọc như MACD trên tín hiệu SMI
Bao gồm các bộ dừng di chuyển hoặc cố định
Tối ưu hóa tham số cụ thể cho sản phẩm
Xác định các giai đoạn lý tưởng cho các khung thời gian khác nhau như quỹ phòng hộ
Điều chỉnh kích thước vị trí theo biến động thị trường
Chiến lược này sử dụng chỉ số Smart Money để phản ánh tâm lý của người tham gia thị trường đối với giao dịch xu hướng. Nó có thể nắm bắt các động thái của các quỹ tổ chức một cách kịp thời. Tuy nhiên, SMI có thể chậm lại và chỉ dựa vào một chỉ số có thể có rủi ro. Những cải tiến có thể được thực hiện thông qua điều chỉnh tham số, thêm bộ lọc, thực hiện dừng và kích thước vị trí năng động. Điều này có thể làm cho chiến lược mạnh mẽ hơn.
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 01/08/2018 // Attention: // If you would to use this indicator on the ES, you should have intraday data 60min in your account. // // Smart money index (SMI) or smart money flow index is a technical analysis indicator demonstrating investors sentiment. // The index was invented and popularized by money manager Don Hays.[1] The indicator is based on intra-day price patterns. // The main idea is that the majority of traders (emotional, news-driven) overreact at the beginning of the trading day // because of the overnight news and economic data. There is also a lot of buying on market orders and short covering at the opening. // Smart, experienced investors start trading closer to the end of the day having the opportunity to evaluate market performance. // Therefore, the basic strategy is to bet against the morning price trend and bet with the evening price trend. The SMI may be calculated // for many markets and market indices (S&P 500, DJIA, etc.) // // The SMI sends no clear signal whether the market is bullish or bearish. There are also no fixed absolute or relative readings signaling // about the trend. Traders need to look at the SMI dynamics relative to that of the market. If, for example, SMI rises sharply when the // market falls, this fact would mean that smart money is buying, and the market is to revert to an uptrend soon. The opposite situation // is also true. A rapidly falling SMI during a bullish market means that smart money is selling and that market is to revert to a downtrend // soon. The SMI is, therefore, a trend-based indicator. // Some analysts use the smart money index to claim that precious metals such as gold will continually maintain value in the future. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Smart Money Index (SMI) Backtest", shorttitle="Smart Money Index") Length = input(18, minval=1) reverse = input(false, title="Trade reverse") xcloseH1 = security(syminfo.tickerid, "60", close[1]) xopenH1 = security(syminfo.tickerid, "60", open[1]) nRes = nz(nRes[1], 1) - (open - close) + (xopenH1 - xcloseH1) xSmaRes = sma(nRes, Length) pos = iff(xSmaRes > nRes, 1, iff(xSmaRes < nRes, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(xSmaRes, color=red, title="SMASMI") plot(nRes, color=green, title="SMI")