Chiến lược này sử dụng nhiều chỉ số kỹ thuật để đánh giá sự đảo ngược giá, thuộc chiến lược giao dịch đảo ngược được điều khiển bởi nhiều yếu tố. Nó tích hợp các chỉ số hình dạng 123 và hiệu quả phân tách cực (PFE), có thể lọc hiệu quả các tín hiệu giả để tăng tỷ lệ giao dịch khi cả hai đều đưa ra tín hiệu phù hợp.
Chiến lược này bao gồm hai phần chính:
Đánh giá hình thức: Khi giá đóng cửa tăng 2 ngày liên tiếp và giảm 3 ngày sau đó, và đường nhanh Stochastic thấp hơn đường chậm, tạo ra tín hiệu mua; Khi giá đóng cửa giảm 2 ngày liên tiếp và hồi phục 3 ngày sau đó, và đường nhanh Stochastic cao hơn đường chậm, tạo ra tín hiệu bán.
Phán quyết chỉ số PFE: PFE cao hơn so với mức giá trên khi được đặt ra, PFE thấp hơn khi được đặt ra.
Chỉ khi nào hình dạng 123 và chỉ số PFE tạo ra một tín hiệu phù hợp, nó sẽ được đưa vào. Khi cả hai không phù hợp, nó sẽ giữ vị trí trống.
123 hình dạng có thể nhận ra các điểm đảo ngược tiềm năng. PFE phân biệt xu hướng hiệu quả, tránh theo đuổi phá vỡ giả. Hai hợp tác, có thể tăng độ chính xác phán đoán, đạt hiệu quả của xác minh đa yếu tố.
Phản ứng:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này kết hợp nhiều yếu tố để xác định điểm đảo ngược giá, có cơ sở lý thuyết và dễ thực hiện. Động cơ đa yếu tố tăng độ chính xác phán đoán so với chỉ số đơn lẻ, là một chiến lược giao dịch đảo ngược tương đối vững chắc.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-13 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 16/04/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 Polarized Fractal Efficiency (PFE) indicator measures the efficiency
// of price movements by drawing on concepts from fractal geometry and chaos
// theory. The more linear and efficient the price movement, the shorter the
// distance the prices must travel between two points and thus the more efficient
// the price movement.
//
// 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
PFE(Length,LengthEMA,BuyBand,SellBand) =>
pos = 0.0
PFE = sqrt(pow(close - close[Length], 2) + 100)
C2C = sum(sqrt(pow((close - close[1]), 2) + 1), Length)
xFracEff = iff(close - close[Length] > 0, round((PFE / C2C) * 100) , round(-(PFE / C2C) * 100))
xEMA = ema(xFracEff, LengthEMA)
pos := iff(xEMA < SellBand, -1,
iff(xEMA > BuyBand, 1, nz(pos[1], 0)))
pos
strategy(title="Combo Backtest 123 Reversal & PFE (Polarized Fractal Efficiency)", 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, "---- PFE ----")
LengthPFE = input(9, minval=1)
LengthEMA = input(5, minval=1)
BuyBand = input(50, step = 0.1)
SellBand = input(-50, step = 0.1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPFE = PFE(LengthPFE,LengthEMA,BuyBand,SellBand)
pos = iff(posReversal123 == 1 and posPFE == 1 , 1,
iff(posReversal123 == -1 and posPFE == -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 )