
Strategi ini didasarkan pada prinsip mata uang yang bergerak dengan cepat dan lambat. Ketika rata-rata cepat melewati rata-rata lambat dari bawah, lakukan lebih banyak; Ketika rata-rata cepat melewati rata-rata lambat dari atas, lakukan kosong. Strategi ini berlaku untuk perdagangan garis panjang dan menengah, yang dapat menangkap pembalikan tren pasar.
Strategi ini menggunakan eksponensial moving average (EMA) untuk menghitung rata-rata cepat lambat. Panjang rata-rata cepat adalah 10 periode dan panjang rata-rata lambat adalah 30 periode. Strategi ini pertama-tama menghitung EMA cepat dan EMA lambat, lalu memetakan rata-rata dan menampilkan latar belakang dengan warna yang berbeda untuk menunjukkan arah tren rata-rata.
Ketika hari ini harga penutupan lebih tinggi dari rata-rata cepat, dan rata-rata cepat lebih tinggi dari rata-rata lambat, latar belakang hijau ditampilkan, menunjukkan tren naik. Ketika hari ini harga penutupan lebih rendah dari rata-rata cepat, dan rata-rata cepat lebih rendah dari rata-rata lambat, latar belakang merah ditampilkan, menunjukkan tren turun.
Dalam tren bullish, jika ada garis K merah ((harga penutupan lebih rendah dari harga pembukaan), dan kemarin juga garis K merah, masuk lebih banyak. Atur stop loss 300 poin, stop loss kosong sebagai posisi kosong.
Dalam tren turun, jika ada garis K hijau (harga penutupan lebih tinggi dari harga bukaan) dan juga garis K hijau kemarin, masuklah secara shorting. Atur titik stop loss 300, stop loss untuk posisi kosong.
Setelah setiap posisi terbuka, jika posisi lebih dari 1008000000 ms (sekitar 2 minggu), maka posisi kosong wajib dilakukan, untuk mencegah deadlock.
Strategi ini secara keseluruhan lebih seimbang, menggunakan identifikasi tren EMA ganda, dan menggabungkan entitas K-line dengan aturan tambahan untuk perdagangan, dapat secara efektif memfilter sinyal palsu. Namun, sistem EMA dan pengaturan parameter masih perlu dioptimalkan, dan mekanisme stop loss juga perlu disesuaikan dengan pasar, secara keseluruhan merupakan strategi perdagangan tren yang andal.
/*backtest
start: 2023-10-10 00:00:00
end: 2023-11-09 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © yeainshukla
//@version=5
strategy('BuyRedSellGreen4H', overlay = true)
greenCandle = close > open
redCandle = open > close
start = timestamp(2023,9,18,0,00)
end = timestamp(2023,12,31,0,00)
fastLength = input.int(10, title="Fast Average Length")
slowLength = input.int(30, title="Slow Average Length")
averageData = input.source(close, title="Average Data Source")
// Calculate exponential moving averages
fastAverage = ta.ema(averageData, fastLength)
slowAverage = ta.ema(averageData, slowLength)
// Plot averages
plot(fastAverage, color=color.navy, title="Fast EMA")
plot(slowAverage, color=color.fuchsia, linewidth=2, title="Slow EMA")
// Show the moving average trend with a coloured background
backgroundColor = if close > fastAverage and fastAverage > slowAverage
color.new(color.green, 85)
else if close < fastAverage and fastAverage < slowAverage
color.new(color.red, 85)
else
color.new(color.orange, 90)
bgcolor(backgroundColor, title="EMA Background")
if time >= start and time < end
if(close < open)
if(close[1] < open[1])
strategy.entry("Enter Long", strategy.long)
strategy.exit("Exit Long", from_entry="Enter Long")
strategy.close("Enter Short")
else
if(close[1] > open[1])
strategy.entry("Enter Short", strategy.short)
strategy.exit("Exit Short", from_entry="Enter Short")
strategy.close("Enter Long")
if strategy.position_size < 0 or strategy.position_size > 0// short and long is opened.
if((time - strategy.opentrades.entry_time(strategy.opentrades - 1)) > 1008000000)
strategy.close("Enter Short")
strategy.close("Enter Long")