Strategi ini pertama-tama menggunakan sinyal pembalikan harga untuk perdagangan, kemudian menggabungkan indikator penyaringan tren untuk skrining, menerapkan sistem yang didorong oleh faktor ganda.
Bagian pembalikan harga menggunakan sistem pembalikan 123. Sistem ini berasal dari buku
Ketika kondisi di atas terpenuhi, sinyal beli dihasilkan.
Sinyal jual dihasilkan.
Tujuan dari sistem pembalikan ini adalah untuk menangkap pembalikan jangka pendek ketika harga membentuk pembalikan sementara.
Sistem ETT menilai arah tren melalui kombinasi filter dan moving average. Dalam strategi ini, fungsi utamanya adalah untuk memverifikasi sinyal pembalikan harga, menghindari operasi pembalikan ketika tidak ada tren yang jelas.
Strategi ini menggabungkan sinyal perdagangan dari kedua sub-strategi, akhirnya mewujudkan sistem perdagangan pembalikan yang didorong oleh dua faktor.
Strategi perdagangan pembalikan dua faktor mengintegrasikan keuntungan dari masing-masing sub-strategi melalui kombinasi:
Oleh karena itu, strategi ini dapat secara efektif menyaring sinyal pembalikan yang tidak valid. Dengan penilaian tren yang benar, ia melakukan operasi pembalikan, sehingga meningkatkan kinerja keseluruhan sistem perdagangan.
Strategi perdagangan pembalikan dua faktor memiliki risiko utama berikut:
Untuk mengurangi risiko di atas, pertimbangan termasuk menyesuaikan parameter Compiler, mengoptimalkan strategi pembalikan & ETT untuk penilaian yang lebih baik, serta memperluas rentang stop loss yang tepat untuk perdagangan pembalikan.
Strategi ini dapat dioptimalkan dalam aspek berikut:
Dengan logika strategi dan sinyal perdagangan utama tidak berubah, hasil backtest yang lebih baik dapat diharapkan melalui parameter dan optimasi kombinasi.
Strategi perdagangan pembalikan dua faktor secara organik menggabungkan sinyal pembalikan harga dan penyaringan tren untuk sistem penilaian multi-faktor. Dibandingkan dengan strategi sinyal pembalikan tunggal, strategi ini dapat lebih baik menangkap pembalikan harga jangka pendek sambil menghindari sinyal palsu ketika tidak ada tren yang jelas, sehingga meningkatkan kualitas sinyal. Kinerja yang lebih baik dapat diharapkan melalui pengoptimalan parameter dan penambahan faktor lain.
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 03/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 // Extracting The Trend // The related article is copyrighted material from Stocks & Commodities Mar 2010 // // 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 ETT(Length,Delta,Trigger) => pos = 0 xBandpassFilter = 0.0 xPrice = hl2 beta = cos(3.1415 * (360 / Length) / 180) gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180) alpha = gamma - sqrt(gamma * gamma - 1) xBandpassFilter := 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2]) xMean = sma(xBandpassFilter, 2 * Length) pos :=iff(xMean > Trigger, 1, iff(xMean < Trigger, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Extracting The Trend", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- LengthETT = input(20, minval=1) Delta = input(0.5) Trigger = input(0) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posETT = ETT(LengthETT,Delta,Trigger) pos = iff(posReversal123 == 1 and posETT == 1 , 1, iff(posReversal123 == -1 and posETT == -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 )