Strategi Perdagangan Indikator AO Purata Bergerak

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

Strategi ini menggabungkan purata bergerak dan osilator AO untuk mengenal pasti trend dan penurunan perdagangan.

Logik Strategi:

  1. Mengira EMA pantas dan SMA perlahan untuk membina sistem purata bergerak.

  2. Mengira garis AO pantas dan perlahan dan perbezaan di antara mereka.

  3. Pergi panjang apabila MA pantas melintasi di atas MA perlahan, dekat di atas MA perlahan, dan AO meningkat.

  4. Pergi pendek apabila MA pantas melintasi di bawah MA perlahan, dekat adalah di bawah MA perlahan, dan AO jatuh.

  5. AO membandingkan perbezaan untuk mengelakkan isyarat palsu.

Kelebihan:

  1. MAs menentukan trend utama, AO kali pembalikan.

  2. Perbezaan AO menapis isyarat palsu.

  3. Menggabungkan penunjuk meningkatkan ketepatan.

Risiko:

  1. Penyesuaian yang diperlukan untuk memadankan MA dan AO dengan keadaan pasaran.

  2. Kedua-dua MAs dan AO lag, berpotensi kehilangan entri terbaik.

  3. Sukar untuk berhenti di pasaran yang berbeza, meningkatkan risiko kerugian.

Ringkasnya, strategi ini menggabungkan kekuatan MAs dan AO untuk perdagangan. Ini boleh meningkatkan kualiti isyarat ke tahap tertentu tetapi berhenti yang betul masih diperlukan untuk menguruskan risiko untuk pulangan 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 lanjut