Strategi ini menggabungkan beberapa indikator teknis untuk mengidentifikasi pembalikan harga, menjadikannya strategi perdagangan pembalikan yang didorong oleh banyak faktor.
Strategi ini terdiri dari dua komponen utama:
Identifikasi pola: Sinyal beli dihasilkan ketika penutupan naik selama 2 hari berturut-turut dan kemudian turun pada hari ke-3, dengan garis cepat Stochastic di bawah garis lambat. Sinyal jual dihasilkan ketika sebaliknya terjadi.
Batas indikator PFE: PFE di atas batas atas menunjukkan sinyal jual, PFE di bawah batas bawah menunjukkan sinyal beli.
Perdagangan hanya dimasukkan ketika pola 123 dan indikator PFE setuju.
Pola 123 mengidentifikasi potensi pembalikan. PFE mengukur efisiensi tren untuk menghindari pecah palsu.
Pengurangan:
Strategi ini dapat ditingkatkan melalui:
Strategi ini menggabungkan beberapa faktor untuk mengidentifikasi titik pembalikan, memberikan kepastian teoritis dan kemudahan pelaksanaan. Pendekatan multi-faktor meningkatkan akurasi terhadap indikator tunggal. Perbaikan lebih lanjut dapat datang melalui optimasi parameter, manajemen stop loss, kombinasi portofolio dan banyak lagi.
/*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 )