Strategi Dagangan Sempadan Penghakiman MA Dual Hull

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

Strategi ini berdagang berdasarkan gabungan Hull Moving Averages berganda dan perbandingan lilin harian, dengan ambang penilaian untuk syarat panjang / pendek.

Logik Strategi:

  1. Mengira dua Hull MA dan membandingkan nilai semasa berbanding tempoh sebelumnya.

  2. Mengira kadar perubahan hampir harian, dan menetapkan ambang penghakiman panjang/pendek.

  3. Pergi panjang apabila MA cepat melintasi di atas MA perlahan, dan perubahan harian melebihi ambang.

  4. Gunakan stop loss tetap dan ambil harga keuntungan.

  5. Boleh juga menetapkan had kedudukan terbuka maksimum.

Kelebihan:

  1. Dual HullMA meningkatkan ketepatan, perubahan harian mengesahkan bias.

  2. Sempadan mengelakkan dipengaruhi oleh pergerakan kontratend kecil.

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

Risiko:

  1. Tetapan ambang yang buruk boleh kehilangan peluang.

  2. SL / TP tetap Tidak dapat menyesuaikan secara fleksibel, risiko tetapan yang tidak betul.

  3. Kedua-dua Hull MA dan penangguhan perubahan harian.

Ringkasnya, sistem penilaian dua penunjuk ini dengan kawalan risiko dapat meningkatkan kestabilan ke tahap 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 lanjut