Strategi ini menggabungkan strategi pembalikan 123 dan strategi pencegatan regresi linear untuk melaksanakan strategi perdagangan gabungan yang didorong oleh pelbagai faktor. Strategi pembalikan 123 menilai hubungan harga antara dua hari perdagangan terakhir dan menggabungkan penunjuk Stoch untuk menentukan isyarat pembalikan. Strategi pencegatan regresi linear menggunakan analisis regresi linear untuk menilai hubungan antara harga dan garis trend dan menghasilkan isyarat perdagangan. Kedua-dua strategi mengesahkan satu sama lain dan dapat menapis isyarat palsu dengan berkesan.
Strategi ini berdasarkan prinsip-prinsip berikut:
Jika hubungan harga penutupan antara dua hari dagangan terakhir adalah harga penutupan hari ini lebih tinggi daripada semalam, dan garis cepat Stoch lebih rendah daripada garis perlahan, ia dianggap bahawa terdapat isyarat pembalikan menaik
Jika hubungan harga penutupan antara dua hari dagangan terakhir adalah harga penutupan hari ini lebih rendah daripada semalam, dan garis cepat Stoch lebih tinggi daripada garis perlahan, ia dianggap bahawa terdapat isyarat pembalikan menurun
Peraturan penghakiman adalah seperti berikut:
Jika harga penutupan hari ini > harga penutupan semalam dan garis pantas Stoch < garis perlahan Stoch dan garis pantas Stoch > parameter set, menjana isyarat beli
Jika harga penutupan hari ini < harga penutupan semalam dan garis pantas Stoch > garis perlahan Stoch dan garis pantas Stoch < parameter set, menjana isyarat jual
Strategi ini perlu menetapkan parameter penunjuk Stoch, termasuk: K kitaran garis Panjang untuk pengiraan Stoch, kitaran smoothing KS smoothing untuk Stoch garis pantas, kitaran smoothing DLength untuk Stoch garis perlahan, ambang tahap untuk Stoch keputusan garis pantas.
Strategi ini berdasarkan analisis regresi linear untuk menilai hubungan antara harga dan garis trend regresi linear.
Jika harga penutupan adalah lebih besar daripada retresi linear, isyarat beli dihasilkan
Jika harga penutupan adalah kurang daripada retresi linear penyambungan, isyarat jual dihasilkan
Strategi ini perlu menetapkan kitaran regresi linear LengthLRI dan sumber data input regresi linear xSeria.
Strategi combo memerlukan isyarat beli / jual serentak dari kedua-dua strategi pembalikan 123 dan strategi penyingkiran regresi linear untuk menjana pesanan dagangan sebenar, yang berkesan menapis isyarat palsu dan meningkatkan prestasi dagangan.
Strategi ini mempunyai kelebihan berikut:
Gabungan dua jenis strategi yang berbeza memerlukan isyarat dari kedua-dua strategi untuk benar-benar meletakkan pesanan. Mekanisme pengesahan pelbagai faktor ini dapat menapis isyarat yang salah sesekali dari strategi, mengurangkan perdagangan yang tidak perlu, dan meningkatkan kualiti isyarat dengan berkesan.
Penyambungan regresi linear boleh mencerminkan hubungan antara harga dan garis trend dalam masa nyata. Jika harga menyimpang dengan ketara dari trend, ia akan segera mendorong strategi untuk menyesuaikan arah kedudukan. Ini membolehkan stop loss tepat pada masanya dan mengelakkan terperangkap dalam trend sejarah.
Strategi regresi linear lebih baik dalam mengenal pasti titik beli dan jual trend. Sementara strategi pembalikan 123 memberi tumpuan kepada mengenal pasti titik pembalikan. Kedua-dua strategi ini dapat menggabungkan kelebihan perdagangan trend dan perdagangan pembalikan.
Kedua-dua strategi menyediakan parameter tertentu untuk penyesuaian, yang boleh dioptimumkan untuk pelbagai jenis dan trend yang berbeza untuk mengoptimumkan kesan strategi gabungan.
Strategi ini juga mempunyai risiko berikut:
Keperluan untuk memenuhi isyarat perdagangan kedua-dua strategi akan kehilangan beberapa peluang yang boleh menguntungkan hanya bergantung pada satu strategi.
Regresi linear memerlukan beberapa data sejarah untuk pengiraan dan tidak dapat bertindak balas dalam masa nyata terhadap peristiwa tiba-tiba, mengakibatkan beberapa kelewatan.
Kedua-dua strategi memerlukan pemilihan parameter yang sesuai, yang mungkin perlu diselaraskan secara bebas untuk beberapa jenis.
Risiko boleh dikurangkan melalui kaedah berikut:
Melancarkan keadaan isyarat combo dengan betul untuk mengelakkan kehilangan terlalu banyak peluang
Menggabungkan penunjuk trend untuk menggantikan regresi linear untuk mendapatkan lebih banyak penilaian trend masa nyata
Menggunakan kaedah pembelajaran mesin untuk membantu pengoptimuman parameter dan meningkatkan pemilihan parameter
Strategi ini boleh dioptimumkan lagi dengan cara berikut:
Mengumpul data sejarah, matlamat pengoptimuman parameter reka bentuk, dan menggunakan algoritma pembelajaran mesin seperti algoritma genetik dan pengoptimuman Bayesian untuk mencari kombinasi parameter terbaik.
Peraturan stop-loss boleh ditetapkan berdasarkan ATR, penunjuk trend, dan lain-lain untuk mengawal kerugian maksimum setiap perdagangan.
Syarat-syarat tambahan seperti penapis purata bergerak dan Bollinger Bands boleh ditambah berdasarkan isyarat perdagangan untuk mengurangkan kekerapan penyesuaian kedudukan dan mengelakkan terperangkap.
Menggunakan teknik pemprosesan bahasa semula jadi untuk menentukan sentimen peserta pasaran dan membantu keputusan perdagangan.
Gunakan model pembelajaran mendalam seperti LSTM dan GRU untuk meramalkan harga sebagai rujukan penting untuk keputusan strategi.
Strategi ini menggabungkan strategi pembalikan 123 dan strategi penyingkiran regresi linear untuk melaksanakan perdagangan kuantitatif yang didorong oleh pelbagai faktor. Mekanisme pengesahan dapat menapis isyarat palsu dengan berkesan dan menangkap peluang perdagangan pembalikan dan trend. Tetapi terdapat juga risiko kelewatan tertentu dalam strategi yang memerlukan perhatian kepada pengoptimuman parameter dan pengembangan mekanisme kawalan risiko untuk meningkatkan kestabilan strategi. Menggabungkan pembelajaran mesin dan teknologi lain untuk pengoptimuman parameter dan pengembangan ciri adalah arah pengoptimuman lanjut yang bermanfaat untuk strategi untuk diterokai.
/*backtest start: 2023-09-18 00:00:00 end: 2023-09-19 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/01/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 // Linear Regression Intercept is one of the indicators calculated by using the // Linear Regression technique. Linear regression indicates the value of the Y // (generally the price) when the value of X (the time series) is 0. Linear // Regression Intercept is used along with the Linear Regression Slope to create // the Linear Regression Line. The Linear Regression Intercept along with the Slope // creates the Regression line. // // 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 LRI(Length,xSeria) => pos = 0.0 xX = Length * (Length - 1) * 0.5 xDivisor = xX * xX - Length * Length * (Length - 1) * (2 * Length - 1) / 6 xXY = 0.0 for i = 0 to Length-1 xXY := xXY + (i * xSeria[i]) xSlope = (Length * xXY - xX * sum(xSeria, Length)) / xDivisor xLRI = (sum(xSeria, Length) - xSlope * xX) / Length pos:= iff(close > xLRI, 1, iff(close < xLRI, -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Line Regression Intercept", 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, "---- Line Regression Intercept ----") LengthLRI = input(14, minval=1) xSeria = input(title="Source", type=input.source, defval=close) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posLRI = LRI(LengthLRI,xSeria) pos = iff(posReversal123 == 1 and posLRI == 1 , 1, iff(posReversal123 == -1 and posLRI == -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 )