
Strategi ini bertujuan untuk menggunakan persimpangan garis rata untuk menentukan arah tren, sementara menggunakan indikator RSI untuk menghindari oversold di bagian atas pasar dan oversold di bagian bawah pasar, sehingga mendapatkan keuntungan yang lebih baik.
Ketika kecepatan 9 siklus rata-rata garis melewati kecepatan 50 siklus rata-rata garis, menunjukkan tren jangka pendek naik diletakkan di atas tren jangka panjang naik, termasuk sinyal multi-kepala khas. Sementara itu, jika RSI lebih besar dari periode sebelumnya 5 poin dan kurang dari 70, menunjukkan berada di daerah sebelum overbought, ini adalah waktu yang lebih baik untuk melakukan lebih banyak.
Ketika kecepatan 9 siklus rata-rata di bawah melewati kecepatan 50 siklus rata-rata, berarti berada di pasar kosong, perlu posisi kosong.
Strategi ini dapat memanfaatkan tren garis tengah dan panjang secara efektif untuk mendapatkan keuntungan yang stabil dengan menentukan arah dan menghindari RSI yang tinggi dan rendah melalui penilaian dua garis tengah. Namun, Anda juga perlu waspada terhadap keterlambatan sinyal garis tengah dan penyesuaian parameter RSI, sambil memperhatikan hubungan antara harga dan volume transaksi. Dengan pengujian dan pengoptimalan terus menerus, strategi ini diharapkan untuk mendapatkan hasil yang lebih baik.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © joshuajcoop01
//@version=5
strategy("Bitpanda Coinrule Template",
overlay=true,
initial_capital=1000,
process_orders_on_close=true,
default_qty_type=strategy.percent_of_equity,
default_qty_value=30,
commission_type=strategy.commission.percent,
commission_value=0.1)
showDate = input(defval=true, title='Show Date Range')
timePeriod = time >= timestamp(syminfo.timezone, 2020, 1, 1, 0, 0)
notInTrade = strategy.position_size <= 0
// RSI
length = input(14)
vrsi = ta.rsi(close, length)
// Moving Averages for Buy Condition
buyFastEMA = ta.ema(close, 9)
buySlowEMA = ta.ema(close, 50)
buyCondition1 = ta.crossover(buyFastEMA, buySlowEMA)
increase = 5
if ((vrsi > vrsi[1]+increase) and buyCondition1 and vrsi < 70 and timePeriod)
strategy.entry("Long", strategy.long)
// Moving Averages for Sell Condition
sellFastEMA = ta.ema(close, 9)
sellSlowEMA = ta.ema(close, 50)
plot(request.security(syminfo.tickerid, "60", sellFastEMA), color = color.blue)
plot(request.security(syminfo.tickerid, "60", sellSlowEMA), color = color.green)
condition = ta.crossover(sellSlowEMA, sellFastEMA)
//sellCondition1 = request.security(syminfo.tickerid, "60", condition)
strategy.close('Long', when = condition and timePeriod)