Chiến lược này được gọi là chiến lược kết hợp các chỉ số biến đổi Fischer và đảo ngược 123. Chiến lược này tích hợp các chỉ số biến đổi Fischer và định dạng 123 để mua hoặc bán khi cả hai phát ra tín hiệu chung.
Hình thức 123 đảo ngược là hình thức của xu hướng hai ngày trước khi giá thành tăng hoặc giảm trong ba ngày liên tiếp. Theo thống kê, các giao dịch 123 đảo ngược có lợi nhuận cao hơn.
Chỉ số biến đổi Fisher xử lý giá thành một cách chính xác, có thể xác định hiệu quả điểm đảo ngược giá khi đường cong biến đổi có điểm cực đột phá.
Các giao dịch được thực hiện theo cách sau:
Hình dạng 123 đảo ngược cho thấy tín hiệu mua hoặc bán.
Đường cong biến đổi Fisher cho thấy tín hiệu mua hoặc bán.
Khi cả hai phát ra tín hiệu đồng chiều, thực hiện giao dịch mua hoặc bán tương ứng.
Khi cả hai phát ra tín hiệu đảo ngược, hãy giữ trống.
Lợi thế của chiến lược này là các chỉ số kết hợp có thể cải thiện độ chính xác của phán đoán về thời điểm giá đảo ngược. Tuy nhiên, tối ưu hóa các tham số vẫn còn quan trọng và cần quản lý tài chính nghiêm ngặt.
Nhìn chung, các ứng dụng tích hợp chỉ số có thể tạo ra một góc độ phân tích toàn diện hơn. Tuy nhiên, các nhà giao dịch vẫn cần phải có đủ sự linh hoạt để điều chỉnh chiến lược theo tình hình thị trường.
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 28/08/2020
// 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
// Market prices do not have a Gaussian probability density function
// as many traders think. Their probability curve is not bell-shaped.
// But trader can create a nearly Gaussian PDF for prices by normalizing
// them or creating a normalized indicator such as the relative strength
// index and applying the Fisher transform. Such a transformed output
// creates the peak swings as relatively rare events.
// Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// The sharp turning points of these peak swings clearly and unambiguously
// identify price reversals in a timely manner.
//
// 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
FTI(Length) =>
pos = 0
nValue1 =0.0
nFish = 0.0
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 := 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 = iff(nValue1 > .99, .999,
iff(nValue1 < -.99, -.999, nValue1))
nFish := 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos := iff(nFish > nz(nFish[1]), 1,
iff(nFish < nz(nFish[1]), -1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & Fisher Transform Indicator", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthFTI = input(10, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFTI = FTI(LengthFTI)
pos = iff(posReversal123 == 1 and posFTI == 1 , 1,
iff(posReversal123 == -1 and posFTI == -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 )