Strategi ini menggabungkan indikator WaveTrend dan indikator Chaikin Money Flow (CMF) untuk mengidentifikasi arah tren dan mengikuti tren.
Indikator WaveTrend dapat secara efektif mengidentifikasi arah tren harga. Ini terdiri dari saluran midline, saluran rata-rata dan indeks saluran. Saluran midline adalah rata-rata bergerak eksponensial harga, mencerminkan tren harga. Saluran rata-rata adalah rata-rata bergerak saluran midline, digunakan untuk menemukan saluran midline. Indeks saluran mencerminkan tingkat penyimpangan harga dari saluran midline dan menghasilkan sinyal overbought / oversold.
Indikator CMF dapat menilai arus masuk dan keluar dana dan mengkonfirmasi tren. Indikator ini didasarkan pada garis akumulasi / distribusi disesuaikan dengan volume, mencerminkan perbandingan daya beli dan jual. Nilai sekitar 0 menunjukkan keseimbangan antara arus masuk dana dan arus keluar. Di bawah 0 menunjukkan arus keluar dana dan di atas 0 menunjukkan arus masuk dana.
Strategi ini berjalan pada jangka waktu 15 menit. Pertama-tama menggunakan indikator WaveTrend untuk menentukan arah tren harga, kemudian menggunakan indikator CMF untuk mengkonfirmasi, sehingga mengikuti tren. Secara khusus, ketika indeks saluran WaveTrend di bawah -60 dan CMF kurang dari -0.2, ia pergi panjang. Ketika indeks saluran WaveTrend di atas 60 dan CMF lebih besar dari 0.2, ia pergi pendek. Kondisi keluar terutama didasarkan pada indikator CMF - ia menutup posisi panjang ketika CMF lebih besar dari 0.18, dan menutup posisi pendek ketika CMF kurang dari -0.18.
Solusi:
Strategi ini menggunakan WaveTrend untuk menentukan tren dan CMF untuk mengkonfirmasi, untuk mengikuti tren jangka pendek. Keuntungannya terletak pada kombinasi indikator yang wajar dan mengikuti tren yang efektif, dengan jangka waktu 15 menit yang membuatnya cocok untuk perdagangan jangka pendek. Tetapi ada risiko seperti sinyal yang tidak akurat dan periode penahan yang terlalu pendek. Peningkatan di masa depan seperti stop loss, optimasi parameter dan lebih banyak penyaringan sinyal dapat lebih meningkatkan stabilitas dan profitabilitasnya.
/*backtest start: 2023-11-08 00:00:00 end: 2023-11-15 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR) //Chaikin Money Flow len = input(20, minval=1, title="Length") mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"]) e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)") p = input(false, title="Show in Percentage") mvs = input(false, "Factor in Price (Money Volume)") src=input(hlc3, title="Source for price factor") trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price wv = pow(volume,e/10.0)*(mvs ? src : 1) ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na cmf_p = if p 50*cmf+50 else cmf b = p ? 50 : 0 //WaveTrend n1 = input(10, "Channel Length") n2 = input(21, "Average Length") obLevel1 = input(60, "Over Bought Level 1") obLevel2 = input(53, "Over Bought Level 2") osLevel1 = input(-60, "Over Sold Level 1") osLevel2 = input(-53, "Over Sold Level 2") ap = hlc3 esa = ema(ap, n1) d = ema(abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ema(ci, n2) wt1 = tci wt2 = sma(wt1,4) // longCondition = wt1 < -60 and cmf < - 0.20 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = wt1 > 60 and cmf > 0.20 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) closeLongCondition = cmf_p > 0.18 ? true : false closeShortCondition = cmf_p < -0.18 ? true : false strategy.close("My Long Entry Id", when=(closeLongCondition == true)) strategy.close("My Short Entry Id", when=(closeShortCondition == true))