Strategi perdagangan ambang penghakiman MA Dual Hull

Penulis:ChaoZhang, Tanggal: 2023-09-13 13:48:30
Tag:

Strategi ini diperdagangkan berdasarkan kombinasi dua Hull Moving Averages dan perbandingan lilin harian, dengan ambang penilaian untuk kondisi panjang/pendek.

Logika Strategi:

  1. Menghitung dua Hull MA dan membandingkan nilai saat ini dengan periode sebelumnya.

  2. Menghitung tingkat perubahan dekat harian, dan menetapkan ambang penilaian panjang/pendek.

  3. Pergi panjang ketika MA cepat melintasi di atas MA lambat, dan perubahan harian melebihi ambang.

  4. Gunakan stop loss tetap dan ambil harga profit.

  5. Dapat juga menetapkan batas posisi terbuka maksimum.

Keuntungan:

  1. HullMA ganda meningkatkan akurasi, perubahan harian mengkonfirmasi bias.

  2. Ambang batas menghindari dipengaruhi oleh gerakan kontra-tren kecil.

  3. SL/TP membantu mengunci keuntungan dan mengendalikan risiko.

Risiko:

  1. Pengaturan ambang yang buruk dapat kehilangan kesempatan. pengujian yang bijaksana diperlukan.

  2. SL/TP tetap Tidak dapat disesuaikan secara fleksibel, risiko pengaturan yang tidak tepat.

  3. Baik Hull MA dan penundaan perubahan harian.

Singkatnya, sistem penilaian dua indikator ini dengan kontrol risiko dapat meningkatkan stabilitas sampai batas tertentu.


/*backtest
start: 2022-09-06 00:00:00
end: 2023-02-21 00:00:00
period: 5d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                        Hull_MA_cross & Daily_Candle_cross combination with TP$ & SL$ setting
//                                                              (new script reducing effect of repaint on results)
//
strategy("Decision Threshold", shorttitle="DT", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold",  step=0.0001)
SL = input(defval=-50000.00, title="Stop Loss in $",  step=1)
TP = input(defval=100000.00, title="Target Point in $", step=1)
p=input(ohlc4)
ot=1
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
confidence=(security(syminfo.tickerid, 'D', p)-security(syminfo.tickerid, 'D', p[1]))/security(syminfo.tickerid, 'D', p[1])
closelong = n1<n2 and p<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and p>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and p>n2
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and p<n2 
if (shortCondition)
    strategy.entry("Short",strategy.short)

Lebih banyak