Chiến lược giao thoa chỉ số động lực và sợ hãi

Tác giả:ChaoZhang, Ngày: 2024-01-23 14:27:23
Tags:

img

Tổng quan

Chiến lược này đánh giá xu hướng thị trường bằng cách tính toán sự chéo chéo giữa chỉ số động lực và chỉ số sợ hãi, và phát hành tín hiệu bán khi hai chỉ số tạo ra các chéo cụ thể để bắt sự suy giảm mạnh.

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

  1. Tính toán chỉ số động lực 50 giai đoạn. Nó đại diện cho sự thay đổi giá tương đối với 50 giai đoạn trước.

  2. Tính toán chỉ số sợ hãi điều chỉnh 22 giai đoạn. Nó đại diện cho sự hoảng loạn thị trường thông qua tỷ lệ giá cao nhất và thấp nhất.

  3. Khi chỉ số động lực vượt qua dưới chỉ số sợ hãi, nó cho thấy áp lực giảm trên thị trường.

  4. Nếu động lượng tiếp tục rơi vào vùng nguy hiểm (giữa -5 và 5), một tín hiệu bán mạnh được phát hành.

Phân tích lợi thế

  1. Sử dụng chỉ số sợ hãi, một chỉ số tâm lý thị trường, có thể xác định hiệu quả những thay đổi cấu trúc trên thị trường.

  2. Chỉ số động lực có thể đánh giá tốc độ và mức độ thay đổi giá và giúp xác định những thay đổi xu hướng.

  3. Kết hợp hai loại chỉ số khác nhau có thể cải thiện độ chính xác của việc xác định các sự kiện đột ngột.

  4. Điều chỉnh các tham số cho phép thích nghi linh hoạt với môi trường thị trường khác nhau.

Phân tích rủi ro

  1. Sự chéo chéo của chỉ số sợ hãi và động lực không đảm bảo mọi sự sụt giảm lớn.

  2. Không có dừng lỗ sau khi bán không kiểm soát hiệu quả lỗ.

  3. Chiến lược này chỉ phù hợp với các vụ tai nạn đột ngột.

Hướng dẫn tối ưu hóa

  1. Thiết lập lệnh dừng lỗ sau khi bán để kiểm soát lỗ.

  2. Thêm các chỉ số khác để đánh giá và cải thiện độ tin cậy của tín hiệu, ví dụ: khối lượng, dải Bollinger.

  3. Thêm tín hiệu tái nhập để cho phép chiến lược chạy chu kỳ dài hạn.

  4. Tối ưu hóa các tham số để tìm kết hợp tốt nhất.

Tóm lại

Chiến lược này phát hành cảnh báo thị trường giảm thông qua chéo của chỉ số động lực và chỉ số sợ hãi. Nó có thể nắm bắt hiệu quả sự sụp đổ thị trường đột ngột. Nhưng chiến lược chỉ phù hợp với việc sử dụng ngắn hạn mà không có cơ chế thoát và kiểm soát rủi ro. Cần cải tiến hơn nữa để biến nó thành một chiến lược bền vững dài hạn.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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/
// © gary_trades

//THIS SCRIPT HAS BEEN BUIL TO BE USED AS A S&P500 SPY CRASH INDICATOR (should not be used as a strategy).
//THIS SCRIPT HAS BEEN BUILT AS A STRATEGY FOR VISUALIZATION PURPOSES ONLY AND HAS NOT BEEN OPTIMISED FOR PROFIT.
//The script has been built to show as a lower indicator and also gives visual SELL signal on top when conditions are met. BARE IN MIND NO STOP LOSS, NOR ADVANCED EXIT STRATEGY HAS BEEN BUILT.
//As well as the chart SELL signal an alert has also been built into this script.
//The script utilizes a VIX indicator (marron line) and 50 period Momentum (blue line) and Danger/No trade zone(pink shading).
//When the Momentum line crosses down across the VIX this is a sell off but in order to only signal major sell offs the SELL signal only triggers if the momentum continues down through the danger zone.
//To use this indicator to identify ideal buying then you should only buy when Momentum line is crossed above the VIX and the Momentum line is above the Danger Zone. 
//This is best used as a daily time frame indicator

//@version=4
strategy(title="S&P Bear Warning", shorttitle="Bear Warning" )

//Momentum
len = input(50, minval=1, title="Length")
src = input(close, title="Source")
bandUpper = input( 5)
bandLower = input(-5)
// ————— Control plotting of each signal. You could use the same technique to be able to turn acc/dist on/off.
showVixFix = input(true)
showMomentum = input(true)
 
mom = src - src[len]
myAtr = atr(14)
plot(showMomentum ? mom : na, color=color.blue, title="MOM")
plot(showMomentum ? 0 : na, color=color.silver, title="MOM Zero line", style=plot.style_circles, transp=100)
plot(showMomentum ? myAtr : na, color=color.orange, title="ATR", transp=90)
 
//VIX
VIXFixLength = input(22,title="VIX Fix Length")
VIXFix = (highest(close,VIXFixLength)-low)/(highest(close,VIXFixLength))*100
plot(showVixFix ? VIXFix : na, "VIXFix", color=color.maroon)
 
band1 = plot(showVixFix ? bandUpper : na, "Upper Band", color.red, 1, plot.style_line, transp=90)
band0 = plot(showVixFix ? bandLower : na, "Lower Band", color.red, 1, plot.style_line, transp=90) 
fill(band1, band0, color=color.red, transp=85, title="Background")
 
//Identify Triggers
//Back Test Range
start = timestamp("America/New_York", 2000, 1, 1, 9,30)
end   = timestamp("America/New_York", 2020, 7, 1, 0, 0)

//Momentum 
Long1 = mom > bandUpper
Short1 = mom < bandLower
 
//VIX
Long2  = crossover(mom, VIXFix)
Short2 = crossunder(mom, VIXFix)

//Warning Alert
SellAlert = Short1
alertcondition(SellAlert, title="Sell SPY", message="Warning Selling off {{ticker}}, price= {{close}}") 

//Entry and Exit
if true
    strategy.entry("SELL", false, when = Short1)
 
strategy.close("SELL", when = Long2)

Thêm nữa