
Strategi ADX pilihan binari menggunakan garis rata-rata 2⁄20 dan ADXR untuk mengenal pasti trend, menghasilkan isyarat perdagangan pada peringkat permulaan trend. Strategi ini menggunakan rata-rata bergerak 2⁄20 untuk menentukan arah trend harga, dan kemudian menggabungkan ADXR untuk mengukuhkan isyarat trend, menghasilkan isyarat perdagangan yang lebih dipercayai.
Logik utama strategi pilihan masa ADX linear adalah berdasarkan beberapa bahagian:
2⁄20 Indeks Purata Bergerak (EMA)
Indeks ADXR
Isyarat dagangan
Inovasi utama dalam strategi ini adalah penggunaan penunjuk ADXR untuk mengenal pasti trend pada peringkat awal dan digabungkan dengan isyarat strategi linear tradisional untuk meningkatkan kualiti isyarat dan meningkatkan kestabilan strategi.
Strategi pilihan ADX dua hala mempunyai kelebihan utama berikut:
Terdapat juga risiko utama apabila memilih ADX dua hala:
Tetapan parameter ADXR yang tidak betul boleh menyebabkan peluang perdagangan yang hilang.
Dalam keadaan tertentu, lebih banyak isyarat palsu mungkin muncul.
Parameter EMA tetap, tidak boleh disesuaikan dengan perubahan pasaran.
Tidak dapat mengenal pasti kawasan pergerakan harga, yang boleh menyebabkan terlalu banyak transaksi yang tidak sah.
Strategi pengambilan ADX dua hala boleh dioptimumkan dengan cara berikut:
Parameter EMA telah dioptimumkan, membolehkan ia berubah secara automatik mengikut keadaan.
Julat parameter ADXR telah dioptimumkan untuk mengandungi lebih banyak isyarat perdagangan yang berkesan.
Menambah indikator penilaian trend tambahan, menghasilkan isyarat gabungan, meningkatkan kualiti.
Menambah strategi hentikan kerugian, menetapkan standard hentikan, mengawal risiko perdagangan tunggal.
Mengoptimumkan strategi pengurusan dana yang membolehkan ia menyesuaikan kedudukan secara automatik mengikut status akaun.
Strategi pilihan masa ADX dua hala dengan kombinasi inovatif strategi dua hala tradisional dengan penunjuk ADXR, meningkatkan kualiti isyarat, meningkatkan kestabilan strategi, dapat mengenal pasti trend dengan berkesan pada peringkat awal, prestasi pengesanan sejarah yang lebih baik. Strategi ini mempunyai ruang pengoptimuman yang besar dan dapat diperbaiki dalam banyak aspek, menjadikannya menunjukkan kemampuan penyesuaian yang kuat dan ruang untuk keuntungan dalam pasaran yang lebih kompleks.
/*backtest
start: 2023-11-05 00:00:00
end: 2023-12-05 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal.
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// The Average Directional Movement Index Rating (ADXR) measures the strength
// of the Average Directional Movement Index (ADX). It's calculated by taking
// the average of the current ADX and the ADX from one time period before
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening
// and weakening trends. However, because it represents an average of ADX, values
// don't fluctuate as dramatically and some analysts believe the indicator helps
// better display trends in volatile markets.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
pos = 0.0
xPrice = close
xXA = ta.ema(xPrice, Length)
nHH = math.max(high, high[1])
nLL = math.min(low, low[1])
nXS = nLL > xXA or nHH < xXA ? nLL : nHH
iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
pos := nXS > close[1] ? -1 : iff_1
pos
fADX(Len) =>
up = ta.change(high)
down = -ta.change(low)
trur = ta.rma(ta.tr, Len)
plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
sum = plus + minus
100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)
ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
pos = 0.0
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0)
pos
strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
if possig == 1
strategy.entry('Long', strategy.long)
if possig == -1
strategy.entry('Short', strategy.short)
if possig == 0
strategy.close_all()
barcolor(possig == -1 ? #b50404 : possig == 1 ? #079605 : #0536b3)