Model pemantauan rata-rata pergerakan ganda


Tanggal Pembuatan: 2023-10-17 16:33:29 Akhirnya memodifikasi: 2023-10-17 16:33:29
menyalin: 0 Jumlah klik: 653
1
fokus pada
1617
Pengikut

Model pemantauan rata-rata pergerakan ganda

Ringkasan

Strategi ini menggunakan kombinasi indikator dari moving average (EMA) dan moving average fork (MACD) untuk menemukan nilai saham yang terlalu tinggi dalam jangka pendek dan melakukan short-line shorting untuk mendapatkan keuntungan dari penurunan harga saham. Strategi ini memanfaatkan karakteristik perubahan harga reaksi cepat EMA, digabungkan dengan keuntungan dari MACD yang memantau arah angin bergerak, untuk menangkap peluang keuntungan jangka pendek di titik konversi bullish dan bearish.

Prinsip Strategi

  1. EMA 8 hari dan EMA 26 hari dihitung, dan ketika EMA 8 di atas EMA 26 hari, dianggap sebagai sinyal beli.

  2. EMA 12 hari, EMA 26 hari dan diferensial EMA 9 hari dari DEA membentuk MACD, yang dianggap sebagai sinyal beli ketika MACD melewati DEA.

  3. Kondisi pembelian: 8 hari EMA> 26 hari EMA dan MACD di atas DEA, lakukan lebih banyak jika puas.

  4. Kondisi Keluar: Tetapkan Floating Stop Loss sebesar 3% dari harga masuk, Tracking Stop Loss sebesar 1% dari harga masuk, dan tutup posisi jika memenuhi salah satu kondisi tersebut.

Strategi ini menggunakan karakteristik EMA respon cepat dan MACD untuk menentukan arah momentum sekaligus untuk menentukan arah operasi pada titik-titik penting dari bullish dan bearish. EMA cepat mencerminkan koreksi nilai EMA yang lebih lambat dalam jangka pendek, MACD mencerminkan prediksi perubahan intensitas perdagangan terhadap arah garis rata-rata, dan indikator ganda meningkatkan akurasi penentuan waktu perdagangan.

Analisis Keunggulan

  1. Kombinasi EMA dan MACD meningkatkan keakuratan penentuan titik jual beli. EMA menangkap tren perubahan harga, MACD menilai arah perubahan dinamika, keduanya dikombinasikan untuk mengidentifikasi ekstremum jangka pendek, dan menghindari kerugian akibat terobosan palsu.

  2. Tracking Stop Loss Control Risk, Stop Loss Out in Time. Setelah masuk, atur 1% Tracking Stop Loss, untuk menghindari peningkatan kerugian.

  3. Strategi ini dilakukan di seluruh pasar beruang tahun 2022 untuk mensimulasikan situasi perdagangan yang sebenarnya.

  4. Fleksibel dalam penyesuaian parameter. Stop loss ratio dan posisi ratio dapat disesuaikan dengan preferensi risiko pribadi.

Analisis risiko

  1. Transaksi sering dan perlu dipantau dengan cermat. Penggunaan siklus 5 menit, keluar masuk sering, membutuhkan waktu yang cukup untuk mengikuti transaksi.

  2. Tracking stop loss mungkin terlalu padat. Tracking stop loss set terlalu kecil, mungkin terlalu cepat berhenti.

  3. EMA dan MACD lebih cocok untuk pasar dengan tren yang lebih jelas.

  4. Biaya transaksi harus diperhitungkan. Setiap transaksi dikenakan biaya, dan seringnya transaksi menyebabkan biaya meningkat.

Arah optimasi

  1. Mengatur parameter siklus EMA, mengoptimalkan waktu pembelian dan penjualan. Dapat diuji untuk mempersingkat siklus EMA cepat, memperluas perbedaan antara EMA, dan menemukan kombinasi parameter terbaik.

  2. Optimalkan rasio stop loss, mengurangi risiko stop loss terlalu dini. Relaksasi yang tepat untuk melacak stop loss, dan hindari terlalu radikal untuk melacak stop loss.

  3. Uji waktu yang berbeda untuk memegang posisi, pilih periode yang optimal. Evaluasi keuntungan strategi di bawah waktu yang berbeda untuk memegang posisi, cari periode yang optimal.

  4. Evaluasi menambahkan indikator teknis lainnya untuk memfilter sinyal. Dapat diuji untuk menambahkan indikator volatilitas, dan lain-lain, untuk meningkatkan efektivitas keputusan perdagangan.

Meringkaskan

Strategi perdagangan indikator EMA rata-rata dan MACD ini bertujuan untuk menangkap peluang penurunan harga saham dalam waktu singkat untuk melakukan short-line shorting. Strategi ini memanfaatkan keunggulan respon cepat EMA dan perubahan penilaian MACD untuk meningkatkan akurasi saat perdagangan di bawah verifikasi ganda. Ruang untuk mengoptimalkan strategi adalah dalam hal penyesuaian parameter, kontrol slippage, waktu memegang posisi, dll.

Kode Sumber Strategi
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule

//@version=5
// strategy('Fast EMA above Slow EMA with MACD (by Coinrule)',
//          overlay=true,
//          initial_capital=1000,
//          process_orders_on_close=true,
//          default_qty_type=strategy.percent_of_equity,
//          default_qty_value=30,
//          commission_type=strategy.commission.percent,
//          commission_value=0.1)

showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2022, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0

// EMAs 
fastEMA = ta.ema(close, 8)
slowEMA = ta.ema(close, 26)
plot(fastEMA, color = color.blue)
plot(slowEMA, color = color.green)
//buyCondition1 = ta.crossover(fastEMA, slowEMA)
buyCondition1 = fastEMA > slowEMA


// DMI and MACD inputs and calculations
[macd, macd_signal, macd_histogram] = ta.macd(close, 12, 26, 9)
buyCondition2 = ta.crossover(macd, macd_signal)


// Configure trail stop level with input options
longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=3) * 0.01
shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=1) * 0.01

// Determine trail stop loss prices
longStopPrice = 0.0
shortStopPrice = 0.0

longStopPrice := if strategy.position_size > 0
    stopValue = close * (1 - longTrailPerc)
    math.max(stopValue, longStopPrice[1])
else
    0

shortStopPrice := if strategy.position_size < 0
    stopValue = close * (1 + shortTrailPerc)
    math.min(stopValue, shortStopPrice[1])
else
    999999
    

if (buyCondition1 and buyCondition2 and notInTrade and timePeriod)
    strategy.entry(id="Long", direction = strategy.long)

strategy.exit(id="Exit", stop = longStopPrice, limit = shortStopPrice)


//if (sellCondition1 and sellCondition2 and notInTrade and timePeriod)
//strategy.close(id="Close", when = sellCondition1 or sellCondition2)