
Gambaran keseluruhan
Strategi GM-8 & ADX adalah strategi perdagangan kuantitatif yang menggabungkan beberapa indikator teknikal. Strategi ini menggunakan indikator GM-8, indikator ADX dan indikator EMA kedua untuk mengenal pasti isyarat pembelian dan penjualan yang berpotensi. Indeks GM-8 digunakan untuk menentukan trend harga, indikator ADX digunakan untuk mengesahkan kekuatan trend, dan indikator EMA kedua digunakan untuk membantu menentukan arah trend.
Prinsip Strategi
Prinsip-prinsip GM-8 & ADX strategi dua hala adalah seperti berikut:
- Mengira indikator GM-8 untuk menentukan trend harga. Apabila harga penutupan melintasi / melintasi garis rata-rata GM-8, menunjukkan bahawa trend mungkin berbalik.
- Mengira ADX, digunakan untuk mengesahkan kekuatan trend. Apabila ADX lebih tinggi daripada titik tolak (seperti 34), menunjukkan trend semasa yang kuat, boleh dipertimbangkan untuk masuk.
- Hitung EMA kedua untuk membantu menentukan arah trend. Apabila harga berada di atas EMA kedua, cenderung untuk melakukan lebih banyak; sebaliknya cenderung untuk melakukan lebih sedikit.
- Dengan mengambil kira GM-8, ADX, dan EMA kedua secara menyeluruh, ia menghasilkan isyarat jual beli:
- Buat lebih banyak isyarat: harga penutupan semasa melintasi garis purata GM-8, dan lebih tinggi daripada GM-8 dan EMA kedua, sementara ADX lebih tinggi daripada nilai terhad.
- Isyarat untuk melonggarkan: Melewati GM-8 di bawah harga penutupan semasa, dan berada di bawah GM-8 dan EMA kedua, sementara ADX berada di atas paras terhad.
- Apabila anda masuk ke dalam permainan, anda perlu memegang sehingga isyarat keluar muncul:
- Sinyal Pindo: Melalui garis purata GM-8 di bawah harga penutupan semasa, dan lebih rendah daripada GM-8.
- Isyarat datar: GM-8 rata-rata pada harga penutupan semasa, dan lebih tinggi daripada GM-8.
Kelebihan Strategik
- Menggabungkan pelbagai petunjuk untuk meningkatkan kebolehpercayaan isyarat: strategi ini secara menyeluruh mengambil kira petunjuk trend ((GM-8), petunjuk kekuatan trend ((ADX) dan petunjuk arah trend ((EMA), yang dapat menyaring beberapa isyarat palsu dengan berkesan.
- Parameter boleh disesuaikan, fleksibiliti tinggi: parameter strategi ini seperti kitaran GM-8, kitaran ADX, ADX threshold, kitaran EMA kedua, dan lain-lain boleh disesuaikan dengan ciri-ciri pasaran dan keutamaan peribadi, untuk menyesuaikan diri dengan gaya perdagangan yang berbeza.
- Logik yang jelas dan mudah dilaksanakan: Logik perdagangan strategi ini agak sederhana dan mudah difahami dan dilaksanakan, sesuai untuk pedagang baru untuk belajar menggunakannya.
Risiko Strategik
- Penurunan pengiktirafan trend: Indikator kelas trend seperti GM-8 pada dasarnya adalah penurunan, dan mungkin terdapat kelewatan dalam pengiktirafan trend, yang menyebabkan kehilangan peluang masuk yang terbaik atau peningkatan kerugian.
- Perdagangan yang kerap: Strategi ini mempunyai isyarat beli dan jual yang agak tinggi, yang boleh menyebabkan perdagangan yang kerap, meningkatkan kos bayaran, dan mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak.
- Kesukaran memilih parameter: Strategi ini merangkumi banyak parameter, mencari kombinasi parameter yang optimum memerlukan banyak pengulangan dan analisis, yang agak sukar untuk pemula.
Arah pengoptimuman strategi
- Memperkenalkan lebih banyak syarat penapisan: Selain GM-8, ADX dan EMA, petunjuk tambahan seperti jumlah lalu lintas, kadar turun naik dan lain-lain boleh ditambah untuk meningkatkan kualiti isyarat.
- Optimumkan masa masuk dan keluar: Pendahuluan boleh dipertimbangkan untuk memperkenalkan kaedah seperti pembinaan kedudukan beransur-ansur dan hentian hentian beransur-ansur untuk mengurangkan risiko perdagangan tunggal dan meningkatkan keuntungan keseluruhan.
- Parameter penyesuaian dinamik: mengikut perubahan keadaan pasaran, parameter strategi penyesuaian dinamik, seperti penggunaan kitaran GM-8 yang lebih lama di pasaran yang sedang tren, penggunaan kitaran GM-8 yang lebih pendek di pasaran yang bergolak, dan sebagainya.
- Mengambil bahagian dalam pengurusan kedudukan: Mengendalikan saiz kedudukan untuk setiap urus niaga berdasarkan keadaan dana akaun, keutamaan risiko, dan sebagainya, untuk mengelakkan risiko yang terlalu tertumpu.
ringkaskan
Strategi GM-8 & ADX adalah strategi perdagangan kuantitatif klasik yang mengidentifikasi isyarat jual beli dengan menggabungkan beberapa petunjuk teknikal. Keuntungan strategi ini adalah logiknya mudah dan jelas, isyaratnya agak boleh dipercayai, sesuai untuk digunakan oleh pemula. Tetapi ada juga risiko seperti kelewatan pengenalan trend, perdagangan yang kerap, dan kesukaran memilih parameter. Untuk meningkatkan lagi prestasi strategi, anda boleh mempertimbangkan untuk memperkenalkan lebih banyak langkah-langkah penapisan syarat, mengoptimumkan masa masuk dan keluar, menyesuaikan parameter secara dinamik, serta mengoptimumkan pengurusan kedudukan.
Kod sumber strategi
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)
// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")
// Calculate the ADX manually
adx(high, low, close, length) =>
sum_truerange = 0.0
sum_plusDM = 0.0
sum_minusDM = 0.0
for i = 1 to length
truerange_calc = high[i] - low[i]
truerange_prev_close = high[i] - close[i-1]
truerange_close = low[i] - close[i-1]
truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
sum_truerange := sum_truerange + truerange_calc
plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
sum_plusDM := sum_plusDM + plusDM
minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
sum_minusDM := sum_minusDM + minusDM
plusDI = sum_plusDM / sum_truerange * 100
minusDI = sum_minusDM / sum_truerange * 100
sumDI = plusDI + minusDI
adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)
// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)
// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold
// Entry and exit logic
if (buy_condition)
strategy.entry("Buy", strategy.long, qty=lot_size)
if (sell_condition)
strategy.entry("Sell", strategy.short, qty=lot_size)
// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8
if (exit_buy_condition)
strategy.close("Buy")
if (exit_sell_condition)
strategy.close("Sell")