Strategi ini menggabungkan indikator rata-rata bergerak di beberapa kerangka waktu untuk menentukan konsistensi tren dan mengambil tindakan scalping selama hari untuk mengikuti tren dan menghasilkan keuntungan.
Strategi ini menggunakan rata-rata bergerak 8 periode dan 20 periode pada kerangka waktu 5 menit, 15 menit, 30 menit dan 60 menit untuk menghasilkan sinyal perdagangan. Sinyal beli dihasilkan ketika MA 8 periode melintasi di atas MA 20 periode. Sinyal jual dihasilkan ketika MA 8 periode melintasi di bawah MA 20 periode.
Strategi ini membutuhkan sinyal yang konsisten di empat kerangka waktu sebelum mengeluarkan pesanan perdagangan.
Setelah masuk ke posisi, strategi menetapkan target keuntungan tetap untuk mengambil keuntungan intraday.
Secara khusus, strategi ini menggunakan fungsi keamanan untuk mengambil nilai MA dari kerangka waktu yang berbeda.
Sinyal beli dan jual ditentukan oleh apakah garis selisih melintasi di atas/di bawah garis nol. Beberapa islong dan isshort flag digunakan untuk merekam sinyal pada setiap timeframe. Orde ditempatkan ketika kondisi islong dan isshort terpenuhi.
Setelah memasuki perdagangan, strategi menggunakanstrategy.exit() untuk menetapkan target keuntungan tetap untuk scalping.
Keuntungan dari strategi ini meliputi:
Desain multi-frame waktu menyaring kebisingan dan mengurangi frekuensi perdagangan.
Scalping intraday dengan optimasi keuntungan mengumpulkan keuntungan kecil secara konsisten.
Struktur kode yang jelas, mudah dipahami dan dioptimalkan.
Kondisi yang wajar membantu mengendalikan risiko.
Risiko potensial dari strategi ini:
Multi-frame waktu mungkin tidak melihat perubahan tren yang halus.
Perdagangan scalping yang sering meningkatkan biaya.
Target laba tetap tidak fleksibel.
Tergantung pada indikator, resiko tertipu.
Optimasi yang mungkin:
Tambahkan lebih banyak kerangka waktu untuk sinyal yang lebih kuat.
Target keuntungan dinamis berdasarkan ATR.
Filter tambahan seperti peningkatan volume atau sejarah ekstrem.
Mengoptimalkan periode MA untuk parameter terbaik.
Tambahkan pembelajaran mesin untuk menilai keandalan sinyal.
Secara keseluruhan ini adalah strategi pelacakan tren multi-frame yang khas menggunakan scalping intraday. Logika jelas dan kode terstruktur dengan baik. Dengan optimasi yang tepat, ini bisa menjadi templat strategi scalping yang sangat praktis.
/*backtest start: 2022-11-09 00:00:00 end: 2023-11-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title="PeBAS $JPY Scalper 15m ",overlay=true) zeigeallebars= input(false, title="Zeige alle (Show all) Candles/Bars?") profitwert=input(52, title="Profit") myatr= input(title="ATR", type=float, defval=0.00002, minval=0.00001,step=0.00001) //Plot EMA-Differenz Aktueller Timeframe dif=(ema(close,8)+ema(close,20))/2 mcolor=ema(close,8) > ema(close,20) ? green : red bs = ema(close,8) > ema(close,20) ? true : false ThisATR=atr(16) //trans = zeigeallebars == true ? 00 : 100 //plot(dif,"dif",color=mcolor,linewidth=6,transp=trans) //1M EMA htf_ma1Mema8 = ema(close, 5) htf_ma1Mema20 = ema(close, 20) ema81m=request.security(syminfo.tickerid, "1", htf_ma1Mema8) ema201m=request.security(syminfo.tickerid, "1", htf_ma1Mema20) dif1M = (ema81m + ema201m) / 2 Close1M = request.security(syminfo.tickerid, "1", close) color1=ema81m > ema201m ? green : red //plot(dif1M,"dif",color1,linewidth=6) //plotshape(1, style=shape.cross, color=color1,location=location.top) ls1 = ema81m > ema201m ? 1 : 0 //5M EMA htf_ma5Mema8 = ema(close, 8) htf_ma5Mema20 = ema(close, 20) ema85m=request.security(syminfo.tickerid, "5", htf_ma5Mema8) ema205m=request.security(syminfo.tickerid, "5", htf_ma5Mema20) dif5M = (ema85m + ema205m) / 2 color5=ema85m > ema205m ? green : red plot(dif5M,"dif",color5,linewidth=5) ls5 = ema85m > ema205m ? 1 : 0 alert1= ema85m > ema205m and ema85m[1] < ema205m[1] ? 1 : 0 islong5 = ema85m > ema205m ? 1 : 0 isshort5 = ema85m < ema205m ? 1 : 0 //15M EMA htf_ma15Mema8 = ema(close, 8) htf_ma15Mema20 = ema(close, 20) ema815m=request.security(syminfo.tickerid, "15", htf_ma15Mema8) ema2015m=request.security(syminfo.tickerid, "15", htf_ma15Mema20) dif15M = (ema815m + ema2015m) / 2 color15=ema815m > ema2015m ? green : red plot(dif15M,"dif",color15,linewidth=3) ls15= ema815m > ema2015m ? 1 : 0 alert2= ema815m > ema2015m and ema815m[1] < ema2015m[1] ? 1 : 0 islong15 = ema815m > ema2015m ? 1 : 0 isshort15 = ema815m < ema2015m ? 1 : 0 //30M EMA htf_ma30Mema8 = ema(close, 8) htf_ma30Mema20 = ema(close, 20) ema830m=request.security(syminfo.tickerid, "30", htf_ma30Mema8) ema2030m=request.security(syminfo.tickerid, "30", htf_ma30Mema20) dif30M = (ema830m + ema2030m) / 2 color30=ema830m > ema2030m ? green : red ls30= ema830m > ema2030m ?1 : 0 islong30 = ema830m > ema2030m ? 1 : 0 isshort30 = ema830m < ema2030m ? 1 : 0 //60M EMA htf_ma60Mema8 = ema(close, 8) htf_ma60Mema20 = ema(close, 20) ema860m=request.security(syminfo.tickerid, "60", htf_ma60Mema8) ema2060m=request.security(syminfo.tickerid, "60", htf_ma60Mema20) dif60M = (ema860m + ema2060m) / 2 color60=ema860m > ema2060m ? green : red ls60= ema860m > ema2060m ?1 : 0 islong60 = ema860m > ema2060m ? 1 : 0 isshort60 = ema860m < ema2060m ? 1 : 0 plot(dif60M,"dif",color60,linewidth=3,transp=70) islong = islong5 ==1 and islong15 ==1 and islong60 ==1 and year > 2017 ? 1 : 0 isshort = isshort5 ==1 and isshort15 ==1 and isshort60 ==1 and year > 2017 ? 1 : 0 condition2l= 0 condition2s = 0 c= alert1 == alert2 and alert1[1] != alert2[1] ? 1 : 0 alertcondition(c, title='Da tat sich was ', message='Da tat sich was!') strategy.entry("enter long", strategy.long,1,when = islong ==1 and islong[1] == 0 ) strategy.entry("enter short", strategy.short,1,when = isshort == 1 and isshort [1] == 0) strategy.exit("close",profit=profitwert) strategy.exit("close",profit=profitwert)