Strategi perdagangan indikator AO rata-rata bergerak

Penulis:ChaoZhang, Tanggal: 2023-09-12 16:09:01
Tag:

Strategi ini menggabungkan moving average dan osilator AO untuk mengidentifikasi tren dan penurunan perdagangan.

Logika Strategi:

  1. Menghitung EMA cepat dan SMA lambat untuk membangun sistem rata-rata bergerak.

  2. Hitung garis AO cepat dan lambat dan perbedaannya.

  3. Pergi panjang ketika MA cepat melintasi di atas MA lambat, dekat di atas MA lambat, dan AO naik.

  4. Pergi pendek ketika MA cepat melintasi di bawah MA lambat, dekat di bawah MA lambat, dan AO turun.

  5. AO membandingkan perbedaan untuk menghindari sinyal palsu.

Keuntungan:

  1. MAs menentukan tren utama, AO kali pembalikan.

  2. Perbedaan AO menyaring sinyal palsu.

  3. Menggabungkan indikator meningkatkan akurasi.

Risiko:

  1. Penyesuaian yang diperlukan untuk mencocokkan MA dan AO dengan kondisi pasar.

  2. Baik MAs dan AO lag, berpotensi kehilangan entri terbaik.

  3. Sulit untuk menghentikan di pasar yang berbeda, meningkatkan risiko kerugian.

Singkatnya, strategi ini menggabungkan kekuatan MAs dan AO untuk perdagangan. Hal ini dapat meningkatkan kualitas sinyal sampai batas tertentu tetapi berhenti yang tepat masih diperlukan untuk mengelola risiko untuk pengembalian yang stabil.


/*backtest
start: 2023-09-04 00:00:00
end: 2023-09-11 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("MA&AO", overlay = true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(input(9999, "End Year"),   input(1, "Month"),   input(1, "Day"),   0, 0)
_testPeriod() =>
    true

//Inputs
fast_ma = input(8, title="Fast EMA", minval=2)
slow_ma = input(20, minval=1, title="Slow SMA")
AO_fast = input(5, minval=1, title="Awesome Length Fast")
AO_slow = input(8, minval=1, title="Awesome Length Slow")

//MA
fast  = ema(close, fast_ma)
slow =  sma(close, slow_ma)

//AO
AO_1 = sma(hl2, AO_fast)
AO_2 = sma(hl2, AO_slow)
dif = AO_1 - AO_2
AO = dif>=0? dif > dif[1] ? 1 : 2 : dif > dif[1] ? -1 : -2

long   =  crossover(fast, slow) and close > slow and abs(AO)==1
short =   fast < slow and close < slow and abs(AO)==2

long_condition =  long and _testPeriod() 
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition = short 
strategy.close('BUY', when=short_condition)


plot(fast, color=color.green)
plot(slow, color=color.red)

Lebih banyak