Strategi scalping intraday mengikuti tren multi-kerangka waktu


Tanggal Pembuatan: 2023-11-16 17:47:06 Akhirnya memodifikasi: 2023-11-16 17:47:06
menyalin: 1 Jumlah klik: 768
1
fokus pada
1617
Pengikut

Strategi scalping intraday mengikuti tren multi-kerangka waktu

Ringkasan

Strategi ini menggunakan indikator moving average yang menggabungkan beberapa kerangka waktu untuk menilai konsistensi tren di antara beberapa kerangka waktu, mengambil strategi operasi scalping dalam sehari, mengejar tren untuk mendapatkan keuntungan.

Prinsip Strategi

Strategi ini menggunakan empat frame waktu 5 menit, 15 menit, 30 menit, dan 60 menit untuk membangun sinyal perdagangan pada periode 8 dan 20 periode moving average. Sebuah sinyal beli dihasilkan ketika melewati 20 hari moving average di atas rata-rata bergerak 8 hari yang lebih pendek; Sebuah sinyal jual dihasilkan ketika melewati 20 hari moving average di bawah rata-rata bergerak 8 hari.

Strategi ini mengharuskan sinyal perdagangan dalam jangka waktu 5 menit, 15 menit, 30 menit, dan 60 menit harus konsisten untuk mengeluarkan instruksi perdagangan. Artinya, pembelian atau penjualan dilakukan hanya jika rata-rata bergerak dari keempat jangka waktu ini sesuai dengan sinyal beli atau jual.

Setelah memasuki posisi, strategi akan mengatur stop order dengan posisi keuntungan yang tetap, untuk melakukan operasi scalping dalam sehari.

Secara khusus, strategi ini mengambil data rata-rata bergerak dalam berbagai kerangka waktu dengan memanggil fungsi keamanan. Menghitung perbedaan rata-rata 8 dan 20 hari untuk 5 menit, 15 menit, 30 menit, dan 60 menit, dan memetakan kurva perbedaan.

Putuskan sinyal beli dan jual berdasarkan pada apakah kurva nilai diferensial melintasi sumbu nol atau tidak. Dan atur beberapa tanda islong dan isshort untuk merekam sinyal perdagangan di bawah setiap kerangka waktu. Akhirnya, perintah masuk dan keluar dikeluarkan ketika kondisi islong dan isshort memenuhi persyaratan.

Setelah masuk, strategi menggunakan fungsi strategi.exit untuk mengatur titik-titik berhenti yang tetap untuk melakukan operasi scalping.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Desain kerangka waktu ganda, dengan penilaian komprehensif dari berbagai indikator siklus, dapat secara efektif memfilter spekulasi dan mengurangi frekuensi transaksi.

  2. Strategi scalping dalam sehari, pengoptimalan keuntungan, dapat terus-menerus memperoleh keuntungan kecil.

  3. Struktur kode yang jelas, setiap bagian fungsi yang jelas, mudah dipahami dan dioptimalkan.

  4. Kondisi yang ditetapkan adalah wajar dan dapat secara efektif mengendalikan risiko transaksi.

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Desain multi-frame, meskipun dapat memfilter sebagian dari kebisingan, mungkin juga melewatkan beberapa detail yang menyebabkan perubahan tren yang tidak jelas.

  2. Scalping intraday membawa transaksi yang sering dan perlu mempertimbangkan pengendalian biaya transaksi.

  3. Pengaturan titik penutupan tetap tidak cukup fleksibel dan tidak dapat disesuaikan dengan perubahan pasar.

  4. Ini adalah salah satu indikator yang bisa digunakan untuk menghasilkan sinyal perdagangan.

Arah optimasi

Strategi ini dapat dioptimalkan dalam beberapa hal:

  1. Menambahkan lebih banyak penilaian indikator dari berbagai kerangka waktu siklus, membuat sinyal lebih stabil dan dapat diandalkan.

  2. Mengoptimalkan strategi stop-loss, mengatur posisi stop-loss berdasarkan dinamika ATR.

  3. Tambahkan kondisi tambahan untuk menyaring waktu masuk, seperti peningkatan volume transaksi, penembusan rekor tertinggi, dan sebagainya.

  4. Mengoptimalkan parameter periodik dari moving average, mencari kombinasi parameter optimal.

  5. Menambahkan model pembelajaran mesin untuk menilai keandalan sinyal indikator dan menghindari arbitrage.

Meringkaskan

Strategi ini secara keseluruhan adalah strategi pelacakan tren multi-frame waktu yang khas, mengambil keuntungan dengan cara scalping dalam sehari. Strategi ini memiliki ide yang jelas, struktur kode yang masuk akal, layak untuk diuji dan dioptimalkan lebih lanjut. Dengan beberapa penyesuaian optimasi, strategi ini dapat menjadi template strategi scalping dalam sehari yang sangat praktis.

Kode Sumber Strategi
/*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)