Strategi ini mula-mula menggunakan isyarat pembalikan harga untuk perdagangan, kemudian menggabungkan penapis trend untuk menyaring, melaksanakan sistem yang didorong oleh faktor dua.
Bahagian pembalikan harga menggunakan sistem pembalikan 123. Sistem ini adalah dari buku
Apabila syarat-syarat di atas dipenuhi, isyarat beli dihasilkan.
Isyarat jual dihasilkan.
Matlamat sistem pembalikan ini adalah untuk menangkap pembalikan jangka pendek apabila harga membentuk pembalikan sementara.
Bahagian penapisan trend menggunakan sistem Ekstraksi Trend (ETT). Sistem ETT menilai arah trend melalui gabungan penapisan dan purata bergerak. Dalam strategi ini, fungsi utamanya adalah untuk mengesahkan isyarat pembalikan harga, mengelakkan operasi pembalikan apabila tidak ada trend yang jelas.
Strategi ini menggabungkan isyarat perdagangan dari kedua-dua sub-strategi, akhirnya merealisasikan sistem perdagangan pembalikan yang didorong oleh faktor dua.
Strategi perdagangan pembalikan dua faktor mengintegrasikan kelebihan setiap sub-strategi melalui gabungan:
Oleh itu, strategi ini dapat menapis isyarat pembalikan yang tidak sah dengan berkesan. Dengan penilaian trend yang betul, ia menjalankan operasi pembalikan, dengan itu meningkatkan prestasi keseluruhan sistem perdagangan.
Strategi perdagangan pembalikan dua faktor mempunyai risiko utama berikut:
Untuk mengurangkan risiko di atas, pertimbangan termasuk menyesuaikan parameter Pengkompiler, mengoptimumkan strategi pembalikan & ETT untuk penilaian yang lebih baik, serta memperluaskan julat stop loss yang sesuai untuk perdagangan pembalikan.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Dengan logik strategi dan isyarat perdagangan utama tidak berubah, hasil backtest yang lebih baik boleh dijangkakan melalui parameter dan pengoptimuman kombinasi.
Strategi perdagangan pembalikan dua faktor secara organik menggabungkan isyarat pembalikan harga dan penapisan trend untuk sistem penghakiman pelbagai faktor. Berbanding dengan strategi isyarat pembalikan tunggal, strategi ini dapat menangkap pembalikan harga jangka pendek dengan lebih baik sambil mengelakkan isyarat palsu apabila tidak ada trend yang jelas, dengan itu meningkatkan kualiti isyarat. Prestasi yang lebih baik dapat diharapkan melalui pengoptimuman parameter dan menambah 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 )