Jurang Tengah dan Trend Mengikuti Strategi Dagangan


Tarikh penciptaan: 2023-10-25 18:02:11 Akhirnya diubah suai: 2023-10-25 18:02:11
Salin: 1 Bilangan klik: 667
1
fokus pada
1617
Pengikut

Jurang Tengah dan Trend Mengikuti Strategi Dagangan

Gambaran keseluruhan

Strategi ini menggunakan indikator CCI dan indikator momentum yang digabungkan dengan indikator RSI untuk mengenal pasti trend pasaran, masuk ke dalam pasaran apabila terdapat fenomena melompat di kawasan overbought dan oversold, dan menggunakan Bolling untuk mengenal pasti trend dan kembali ke pusat. Strategi ini dapat mengenal pasti dengan cekap penembusan dan penyesuaian, masuk ke dalam pasaran pada peringkat permulaan trend, dan dapat menyesuaikan perdagangan dengan bebas untuk pelbagai jenis melalui parameter.

Prinsip Strategi

Pertama, strategi ini menilai isyarat membeli dan menjual melalui CCI atau isyarat momentum yang bergerak di atas dan di bawah sumbu sifar. Pada masa yang sama, isyarat RSI diminta berada di kawasan overbought dan oversold, iaitu RSI lebih tinggi daripada 65 adalah kawasan overbought dan lebih rendah daripada 35 adalah kawasan oversold. Ini dapat mengelakkan isyarat yang salah di kawasan yang tidak terlalu banyak.

Selain itu, strategi boleh memilih sama ada untuk menilai perbezaan bullish RSI dan perbezaan bearish untuk memastikan isyarat jual beli lebih dipercayai.

Apabila sepadan dengan isyarat beli CCI atau momentum, dan RSI berada di kawasan oversold, strategi akan menilai sama ada tinggi dan rendah terdahulu berada di atas pusat Bollinger Bands, dan jika ya, menghasilkan isyarat beli. Sebaliknya, apabila sepadan dengan isyarat jual, dan tinggi dan rendah terdahulu berada di bawah pusat Bollinger Bands, menghasilkan isyarat jual.

Dengan cara ini, strategi menggunakan indeks trend dan indeks goyah pada masa yang sama, dapat menangkap pada masa permulaan trend, dan menggunakan kebijaksanaan pusat untuk mengelakkan pecah palsu. Apabila harga keluar dari Brin Belt ke bawah, strategi akan rata untuk mengunci keuntungan dan mencegah penarikan balik berkembang.

Analisis kelebihan

  1. Gabungan indeks trend dan indeks goyah, yang membolehkan anda masuk pada permulaan trend, dan mengelakkan mengambil kedudukan yang tidak perlu di pasaran goyah

  2. Menggunakan hub hubung di Brin Belt untuk melompat sebagai isyarat masuk, untuk menyaring penembusan palsu dengan berkesan

  3. Lihat semula sejarah RSI untuk mengelakkan isyarat perdagangan yang salah

  4. Perdagangan automatik sepenuhnya, tidak memerlukan campur tangan manusia, sesuai untuk perdagangan algoritma

  5. Parameter strategi boleh disesuaikan dengan pelbagai jenis perdagangan

  6. Mampu menetapkan stop loss dan mengawal risiko dengan berkesan

Analisis risiko

  1. Peraturan parameter Brin yang tidak betul boleh menyebabkan keputusan pusat gagal

  2. Parameter penunjuk yang tidak betul boleh menyebabkan terlalu banyak isyarat yang salah

  3. Penembusan gagal, harga perlu berhenti tepat pada masanya untuk kembali ke pusat Burin

  4. Penembusan mungkin kurang berkesan apabila aliran perdagangan kurang lancar

  5. Memeriksa data sejarah sebelum berdagang untuk mengelakkan kecocokan kurva yang buruk

  6. Perhatian perlu diberikan kepada masa transaksi untuk mengelakkan penembusan palsu

Arah pengoptimuman

  1. Optimumkan parameter Brin untuk menjadikan pusat lebih stabil

  2. Uji kesan parameter penunjuk yang berbeza pada varieti yang berbeza

  3. Meningkatkan kawalan jumlah dagangan untuk mengelakkan terlalu banyak kedudukan tunggal

  4. Tambah penghakiman pada masa, beroperasi pada masa perdagangan utama

  5. Menambah algoritma pembelajaran mesin untuk menghasilkan isyarat yang lebih pintar

  6. Akses kepada lebih banyak sumber data untuk menilai pergerakan pasaran secara keseluruhan

  7. Menambah integrasi kepada lebih banyak indikator untuk membentuk kumpulan indikator

ringkaskan

Strategi ini mengintegrasikan indeks trend dan indeks goyah, yang boleh masuk ke pasaran ketika trend bermula. Pada masa yang sama, menggunakan hub hubung dalam Brin Belt sebagai isyarat masuk, dapat menghalang penembusan palsu dengan berkesan. Parameter strategi dapat disesuaikan secara fleksibel, menyesuaikan diri dengan pelbagai jenis, dan pengembalian yang baik. Langkah seterusnya akan menjadikan strategi lebih kuat dan boleh dipercayai dengan mengoptimumkan tetapan parameter dan penggabungan model, untuk mendapatkan keuntungan tambahan yang stabil dalam jangka panjang.

Kod sumber strategi
/*backtest
start: 2022-10-18 00:00:00
end: 2023-10-24 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title='BroTheJo Strategy', shorttitle='BTJ', overlay=true)

// Input settings
ccimomCross = input.string('CCI', 'Entry Signal Source', options=['CCI', 'Momentum'])
ccimomLength = input.int(10, minval=1, title='CCI/Momentum Length')
useDivergence = input.bool(false, title='Find Regular Bullish/Bearish Divergence')
rsiOverbought = input.int(65, minval=1, title='RSI Overbought Level')
rsiOversold = input.int(35, minval=1, title='RSI Oversold Level')
rsiLength = input.int(14, minval=1, title='RSI Length')
plotMeanReversion = input.bool(true, 'Plot Mean Reversion Bands on the chart')
emaPeriod = input(200, title='Lookback Period (EMA)')
bandMultiplier = input.float(1.6, title='Outer Bands Multiplier')

// CCI and Momentum calculation
momLength = ccimomCross == 'Momentum' ? ccimomLength : 10
mom = close - close[momLength]
cci = ta.cci(close, ccimomLength)
ccimomCrossUp = ccimomCross == 'Momentum' ? ta.cross(mom, 0) : ta.cross(cci, 0)
ccimomCrossDown = ccimomCross == 'Momentum' ? ta.cross(0, mom) : ta.cross(0, cci)

// RSI calculation
src = close
up = ta.rma(math.max(ta.change(src), 0), rsiLength)
down = ta.rma(-math.min(ta.change(src), 0), rsiLength)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
oversoldAgo = rsi[0] <= rsiOversold or rsi[1] <= rsiOversold or rsi[2] <= rsiOversold or rsi[3] <= rsiOversold
overboughtAgo = rsi[0] >= rsiOverbought or rsi[1] >= rsiOverbought or rsi[2] >= rsiOverbought or rsi[3] >= rsiOverbought

// Regular Divergence Conditions
bullishDivergenceCondition = rsi[0] > rsi[1] and rsi[1] < rsi[2]
bearishDivergenceCondition = rsi[0] < rsi[1] and rsi[1] > rsi[2]

// Mean Reversion Indicator
meanReversion = plotMeanReversion ? ta.ema(close, emaPeriod) : na
stdDev = plotMeanReversion ? ta.stdev(close, emaPeriod) : na
upperBand = plotMeanReversion ? meanReversion + stdDev * bandMultiplier : na
lowerBand = plotMeanReversion ? meanReversion - stdDev * bandMultiplier : na

// Entry Conditions
prevHigh = ta.highest(high, 1)
prevLow = ta.lowest(low, 1)
longEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition) and (prevHigh >= meanReversion) and (prevLow >= meanReversion)
shortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition) and (prevHigh <= meanReversion) and (prevLow <= meanReversion)

// Plotting
oldLongEntryCondition = ccimomCrossUp and oversoldAgo and (not useDivergence or bullishDivergenceCondition)
oldShortEntryCondition = ccimomCrossDown and overboughtAgo and (not useDivergence or bearishDivergenceCondition)
plotshape(oldLongEntryCondition, title='BUY', style=shape.triangleup, location=location.belowbar, color=color.new(color.lime, 0), textcolor=color.new(color.white, 0), size=size.tiny)
plotshape(oldShortEntryCondition, title='SELL', style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), textcolor=color.new(color.white, 0), size=size.tiny)

// Strategy logic
if (longEntryCondition)
    strategy.entry("Buy", strategy.long)
if (shortEntryCondition)
    strategy.entry("Sell", strategy.short)

// Close all open positions when outside of bands
closeAll = (high >= upperBand) or (low <= lowerBand)

if (closeAll)
    strategy.close_all("Take Profit/Cut Loss")


// Plotting
plot(upperBand, title='Upper Band', color=color.fuchsia, linewidth=1)
plot(meanReversion, title='Mean', color=color.gray, linewidth=1)
plot(lowerBand, title='Lower Band', color=color.blue, linewidth=1)