Strategi ini disebut
ADX adalah singkatan dari Average Directional Index, yang mencerminkan kekuatan tren. Semakin tinggi nilai ADX, semakin kuat tren.
DMI mencakup garis DI+ dan DI-. DI+ di atas DI- menunjukkan tren naik, sementara DI- di atas DI+ menandai tren turun.
Logika perdagangan adalah:
Ketika ADX di atas 45, tren dianggap sangat curam.
Jika DI+ di bawah DI- maka, itu menandakan keadaan oversold dan peluang pembalikan tren, pergi panjang.
Sebaliknya, jika DI- di bawah DI+, itu menunjukkan kondisi overbought dan peluang pembalikan untuk short.
Ambil keuntungan tepat waktu setelah pembalikan.
Keuntungan adalah menggunakan ADX untuk menentukan titik pembalikan tren yang kuat. Nilai ADX yang tinggi menyaring sinyal palsu dari berbagai pasar secara efektif.
Kesimpulannya, ADX mahir mengukur waktu pembalikan tren yang kuat.
/*backtest start: 2023-08-13 00:00:00 end: 2023-09-12 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(shorttitle='DMI swings',title='DMI swings', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2021, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" [pos_dm, neg_dm, avg_dm] = dmi(14, 14) //Entry strategy.entry(id="long", long = true, when = avg_dm > 45 and pos_dm < neg_dm and window()) //Exit strategy.close("long", when = avg_dm > 45 and pos_dm > neg_dm and window())