Williams Double Exponential Moving Average dan Ichimoku Kinkou Hyo Strategi

Penulis:ChaoZhang, Tanggal: 2024-02-18 16:20:12
Tag:

img

Gambaran umum

Strategi ini menggabungkan Williams Double Exponential Moving Average dan Ichimoku Kinkou Hyo, dua indikator teknis, untuk memanfaatkan keuntungan masing-masing dan meningkatkan akurasi keputusan perdagangan.

Prinsip-prinsip

Williams Double Exponential Moving Average berisi garis cepat dan garis lambat. Garis cepat dihitung dengan rumus: 2* ((n/2 periode Weighted Moving Average), dan garis lambat dihitung dengan: n periode Weighted Moving Average. Ketika garis cepat melintasi di atas garis lambat dari bawah, itu adalah sinyal beli; ketika melintasi di bawah dari atas, itu adalah sinyal jual.

Ichimoku Kinkou Hyo terdiri dari empat komponen: tenkan sen, kijun sen, garis utama dan lapisan awan. Salib emas antara tenkan sen dan kijun sen adalah sinyal beli, sementara salib kematian adalah sinyal jual. Ketika harga pecah di atas atau di bawah tepi atas atau bawah lapisan awan, itu menandakan pembelian atau penjualan, masing-masing.

Strategi ini menggabungkan kekuatan dari kedua indikator. Determinan pertama adalah sinyal dari Indikator Williams, dan yang kedua adalah konfirmasi dari Ichimoku Kinkou Hyo, secara efektif menyaring sinyal palsu dan meningkatkan akurasi keputusan.

Keuntungan

  1. Williams Double Exponential Moving Average bereaksi sensitif dan dapat menentukan arah tren yang kuat.
  2. Ichimoku Kinkou Hyo memberikan penilaian terkemuka dan peringatan awal tentang pembalikan tren.
  3. Menggabungkan kedua indikator memungkinkan mereka untuk memvalidasi satu sama lain dan mengurangi sinyal palsu.
  4. Parameter dapat dioptimalkan untuk beradaptasi dengan panjang siklus dan produk yang berbeda.

Risiko dan Optimalisasi

  1. Sinyal sering dapat terjadi di pasar non-trending. Parameter dapat disesuaikan untuk menyaring beberapa sinyal.
  2. Mungkin ada beberapa keterlambatan dalam penyeberangan antara jalur cepat dan lambat. Lapisan awan dapat direferensikan untuk menghindari kehilangan titik masuk dan keluar yang optimal.
  3. Hal ini dianjurkan untuk dikombinasikan dengan indikator tren atau volatilitas untuk lebih menghindari sinyal palsu.

Ringkasan

Strategi ini sepenuhnya memanfaatkan kemampuan Indikator Williams untuk menilai arah tren dan Ichimoku Kinkou Hyo untuk memberikan peringatan dini dari pembalikan, secara signifikan meningkatkan keakuratan keputusan perdagangan. Optimasi lebih lanjut seperti penyesuaian parameter dan kombinasi dengan indikator lain akan memungkinkan peningkatan berkelanjutan untuk beradaptasi dengan perubahan pasar.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Hull MA-X + Ichimoku Kinko Hyo", shorttitle="Hi", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)

keh=input(title="Double HullMA",defval=12, minval=1)
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(close[1],round(keh/2))
nma1=wma(close[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]

Hullfast=plot(n1,color=c)
Hullslow=plot(n2,color=c)
plot(cross(n1, n2) ? n1:na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1:na, style = line, color=d, linewidth = 3)
plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = n1>n2 and close>n2 and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = n1<n2 and close<n2 and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = n1<n2 and close<n2 and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanL)
if (closelong)
    strategy.close("Long")

closeshort = n1>n2 and close>n2 and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanH)
if (closeshort)
    strategy.close("Short")

Lebih banyak