
Chiến lược này được phân loại là chiến lược giao dịch đảo ngược bằng cách kết hợp tín hiệu của hai chỉ số là chỉ số trung bình di chuyển và chỉ số thuận tiện giao dịch thị trường, để thực hiện giao dịch mua hoặc bán khi xác định giá sẽ đảo ngược.
Chiến lược này sử dụng hai chỉ số để đánh giá tín hiệu. Chỉ số đầu tiên là chỉ số đường trung bình di chuyển, cụ thể là sự kết hợp của đường nhanh và đường chậm của chỉ số ngẫu nhiên.
Chỉ số thứ hai là chỉ số thuận tiện giao dịch trên thị trường. Chỉ số này đánh giá tính thanh khoản của thị trường và hiệu quả hoạt động của giá bằng cách tính toán phạm vi biến động giá với khối lượng giao dịch. Chỉ số tăng lên cho thấy thị trường giao dịch suôn sẻ, hiệu quả hoạt động cao, có thể được đánh giá là xu hướng; chỉ số giảm cho thấy biến động của thị trường, hiệu quả hoạt động giảm, có thể đi vào tình trạng biến động.
Chiến lược này kết hợp logic phán đoán của hai chỉ số để tạo ra các hoạt động mua và bán khi cả hai chỉ số phát ra tín hiệu mua hoặc bán cùng một lúc.
Nếu thị trường đi vào một đợt tăng hoặc giảm đơn phương lâu dài, sẽ rất khó để nắm bắt cơ hội đảo ngược và không thể tham gia.
Các tham số của chỉ số đảo ngược có thể được nới lỏng một cách thích hợp để tăng cơ hội mua và bán
Bạn cũng có thể mở rộng quy mô của các vị trí để có được lợi nhuận nhiều hơn bằng cách theo dõi xu hướng.
Các tín hiệu đảo ngược có thể bị lỗi, khiến chiến lược không hiệu quả
Có thể giảm tín hiệu giả bằng cách tối ưu hóa tham số chỉ số hoặc tăng chu kỳ xác nhận
Chiến lược này kết hợp các chỉ số đảo ngược và các chỉ số đánh giá xu hướng, tham gia vào khi có cảnh báo đảo ngược giá, đồng thời đánh giá xu hướng lớn và tránh hoạt động ngược. Bằng cách xác nhận lẫn nhau của hai chỉ số, có thể giảm hiệu quả tín hiệu sai. Tuy nhiên, chiến lược cũng có cơ hội không có lợi nhuận và rủi ro đánh giá sai tín hiệu đảo ngược khi có hành động đơn phương của thị trường.
/*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=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/02/2021
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
// The strategy sells at market, if close price is lower than the previous close price
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Market Facilitation Index is an indicator that relates price range to
// volume and measures the efficency of price movement. Use the indicator to
// determine if the market is trending. If the Market Facilitation Index increased,
// then the market is facilitating trade and is more efficient, implying that the
// market is trending. If the Market Facilitation Index decreased, then the market
// is becoming less efficient, which may indicate a trading range is developing that
// may be a trend reversal.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
vFast = sma(stoch(close, high, low, Length), KSmoothing)
vSlow = sma(vFast, DLength)
pos = 0.0
pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0)))
pos
MFI(BuyZone,SellZone) =>
pos = 0.0
xmyVol = volume
xmyhigh = high
xmylow = low
nRes = (xmyhigh - xmylow) / xmyVol * 10000
pos := iff(nRes > BuyZone, 1,
iff(nRes < SellZone, -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Market Facilitation Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MFI ----")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(BuyZone,SellZone)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
iff(posReversal123 == -1 and posMFI == -1, -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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )