Strategi Salib Suci


Tanggal Pembuatan: 2023-12-01 15:27:39 Akhirnya memodifikasi: 2023-12-01 15:27:39
menyalin: 0 Jumlah klik: 974
1
fokus pada
1621
Pengikut

Strategi Salib Suci

Strategi Holy Grail adalah strategi perdagangan kuantitatif yang menggabungkan sistem dua garis lurus dan indikator ADX. Ini bertujuan untuk mengidentifikasi arah dan kekuatan tren, dan melakukan perdagangan ketika tren berbalik.

Prinsip Strategi

Strategi ini menggunakan indeks bergerak rata-rata 20 hari (EMA) dan indikator ADX untuk mengidentifikasi waktu masuk. Secara khusus, ia akan mengirimkan sinyal perdagangan dalam dua situasi berikut:

  1. Ketika nilai ADX berada di bawah 30 (yang menunjukkan tren yang lemah) dan harga dari bawah menembus EMA 20 hari, lakukan lebih banyak;

  2. Ketika nilai ADX lebih tinggi dari 30 ((menunjukkan tren yang kuat), dan harga dari atas menembus 20 hari EMA, melakukan shorting.

Seperti yang dapat dilihat, strategi ini bergantung pada kekuatan dan arah ADX untuk menilai tren, kemudian digabungkan dengan resistensi dukungan dari rata-rata bergerak untuk mencari peluang pembalikan. Ini menggabungkan konsep mengikuti tren dan perdagangan berlawanan.

Analisis Keunggulan

Keuntungan terbesar dari strategi Holy Cross adalah bahwa ia mempertimbangkan arah dan kekuatan tren secara bersamaan, yang dapat secara efektif menghindari false breakout, sehingga mengurangi probabilitas stop loss. Secara khusus, strategi ini memiliki beberapa keuntungan:

  1. Penggunaan sistem dua garis yang sama untuk mengidentifikasi tren secara efektif;
  2. Dengan menggunakan ADX untuk menilai kekuatan tren, pengelompokan dan perampokan tidak efektif dapat dihindari.
  3. Menggabungkan konsep reversal dan trend trading, dapat menangkap tren dan juga membalikkan posisi di titik-titik yang berbelok;
  4. Aturan operasinya jelas, sederhana, dan mudah diterapkan.

Analisis risiko

Strategi Holy Cross juga memiliki beberapa risiko, terutama yang berkaitan dengan:

  1. ADX, sebagai indikator penilaian tambahan, juga memberikan sinyal yang salah.
  2. Di sisi lain, ada beberapa hal yang perlu diperhatikan, antara lain:
  3. Pengaturan parameter yang tidak tepat (seperti target ADX, periode rata-rata, dll.) dapat menyebabkan sinyal terlalu sering atau konservatif.

Untuk mengurangi risiko di atas, kombinasi parameter dapat disesuaikan untuk mendapatkan hasil yang optimal, atau stop loss dapat diatur untuk mengendalikan kerugian tunggal. Selain itu, perlu untuk membuat strategi untuk melakukan pengujian kembali pada varietas dan periode yang berbeda.

Arah optimasi

Strategi Holy Cross memiliki banyak hal yang bisa dioptimalkan:

  1. Cobalah berbagai jenis rata-rata bergerak, seperti rata-rata bergerak bertimbangan.
  2. Nilai ADX target line dapat dioptimalkan sebagai parameter;
  3. Anda dapat menguji parameter siklus yang berbeda, seperti 10 hari, 30 hari EMA;
  4. Indikator tambahan seperti RSI, Bollinger Bands, dan lain-lain dapat digunakan untuk mengkonfirmasi sinyal perdagangan.

Perubahan parameter atau penambahan indikator baru dapat meningkatkan profitabilitas atau tingkat kemenangan strategi. Namun, optimasi apa pun memerlukan cukup banyak pengujian untuk memastikan kehandalannya.

Meringkaskan

Secara keseluruhan, strategi Holy Cross menggabungkan keunggulan dari indikator Binary Equity dan ADX, menggunakan aturan perdagangan yang jelas untuk menangkap pergeseran tren. Ini diharapkan dapat memberikan hasil yang baik. Namun, pedagang masih perlu mengoptimalkan kombinasi parameter dan aturan stop loss untuk menyesuaikan diri dengan lingkungan pasar yang berbeda. Selain itu, tidak peduli seberapa baik, tidak mungkin sepenuhnya menghindari stop loss, yang merupakan kesulitan yang dihadapi setiap strategi perdagangan.

Kode Sumber Strategi
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("LAT Holy Grail v3", overlay=true)

/////////////TEST TIME ////////////////////////
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(15, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() =>
    time >= testPeriodStart and time <= testPeriodStop ? true : false
//////////////////////////////////////////////////////////////////////

myema= ema(close, 20)
plot(myema, color=green, title="eMA", linewidth=3)



//longCondition = (crossover(close, myema)) //and adx3 < target
//if (longCondition)
    //strategy.entry("My Long Entry Id", strategy.long)

//shortCondition = (crossunder(close, myema)) //and adx3 > target
//if (shortCondition)
    //strategy.entry("My Short Entry Id", strategy.short)
    
    //////////////////////////////////////////////////////////
    ///////////////////////////////////////   DMI  ///////////////////////////////////////////////
len3 = input(14, minval=1, title="DI Length")                           /////////////////////
lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50)         ////////////////////
up3 = change(high)                                                      ///////////////////
down3 = -change(low)                                                    //////////////////
plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0)            /////////////////
minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0)     ////////////////
trur3 = rma(tr, len3)                                                   ///////////////
plus3 = fixnan(100 * rma(plusDM3, len3) / trur3)                        //////////////
minus3 = fixnan(100 * rma(minusDM3, len3) / trur3)                      /////////////
sum3 = plus3 + minus3                                                   ////////////
adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3) ///////////
//plot(plus3, color=green, style=circles, linewidth=2, title="+DI")     //////////
//plot(minus3, color=red, style=circles, linewidth=2, title="-DI")      /////////
plot(adx3, color=aqua, style=line, linewidth=3, title="ADX")            ////////
target = input(30, title=" ADX Target Line")                            ///////
plot(target, color=yellow, title="ADX Target Line")                     //////
/////////////////////////////////////////////////////////////////////////////////////////////////
                                                                                        
plot(hl2)


///////////////////////////////////////////////  eMA SIGNAL LINE   ///////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////// HOLY GRAIL STRATEGY ///////////////////////////////////////////////////////////////////

if (adx3 <= target) and crossover(close, myema)
    strategy.entry("HolyGrail", strategy.long, comment="Long")
 
if (adx3 >= target) and crossunder(close, myema)
    strategy.entry("HolyGrail", strategy.short, comment="Short")