
Artikel ini terutama menganalisis strategi perdagangan kuantitatif yang dikembangkan oleh Ravikant_sharma berdasarkan moving average multi-indeks (EMA) dan indeks relatif kuat (RSI). Strategi ini menilai nilai melalui perpotongan EMA dari berbagai siklus dan RSI, untuk mengidentifikasi tren harga, untuk menentukan kapan masuk dan keluar dari pasar.
Strategi menggunakan lima EMA dengan periode yang berbeda, termasuk garis 9, 21, 51, 100, dan 200. Hanya empat EMA pertama yang digambarkan dalam kode. Parameter RSI disetel ke 14.
Strategi untuk membuka lebih banyak posisi jika salah satu dari kondisi berikut terpenuhi:
Pada saat yang sama, RSI harus lebih besar dari 65, menunjukkan tren naik yang kuat.
Keluar dari posisi terendah jika salah satu dari kondisi berikut terpenuhi:
Ini adalah strategi pelacakan tren yang khas, dengan keuntungan berikut:
Strategi ini juga memiliki beberapa risiko:
Strategi ini juga dapat dioptimalkan dari beberapa arah:
Strategi ini secara keseluruhan adalah strategi pelacakan tren yang dapat diandalkan dan mudah diterapkan. Ini menggunakan EMA multi-siklus untuk menentukan arah tren, kemudian digabungkan dengan sinyal palsu filter RSI, untuk melakukan optimasi parameter dan optimasi model berdasarkan efek pengukuran yang lebih baik, yang diharapkan menghasilkan keuntungan yang stabil. Namun, ketika digunakan, pedagang masih perlu waspada terhadap risiko yang ditimbulkan oleh pergeseran tren dan parameter yang tidak tepat.
/*backtest
start: 2024-01-30 00:00:00
end: 2024-02-29 00:00:00
period: 3h
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/
// © Ravikant_sharma
//@version=5
strategy('new', overlay=true)
start = timestamp(1990, 1, 1, 0, 0)
end = timestamp(2043, 12, 12, 23, 59)
ema0 = ta.ema(close, 9)
ema1 = ta.ema(close, 21)
ema2 = ta.ema(close, 51)
ema3 = ta.ema(close, 100)
ema4 = ta.ema(close, 200)
rsi2=ta.rsi(ta.sma(close,14),14)
plot(ema0, '9', color.new(color.green, 0))
plot(ema1, '21', color.new(color.black, 0))
plot(ema2, '51', color.new(color.red, 0))
plot(ema3, '200', color.new(color.blue, 0))
//plot(ema4, '100', color.new(color.gray, 0))
//LongEntry = ( ta.crossover(ema0,ema3) or ta.crossover(ema0,ema2) or ta.crossunder(ema2,ema3) ) // ta.crossover(ema0,ema1) //
LongEntry=false
if ta.crossover(ema0,ema1)
if rsi2>65
LongEntry:=true
if ta.crossover(ema1,ema2)
if rsi2>65
LongEntry:=true
LongExit = ta.crossunder(ema0,ema2) or close >(strategy.position_avg_price*1.25) or rsi2 <40 or close < (strategy.position_avg_price*0.98)
if time >= start and time <= end
if(LongEntry and rsi2>60)
strategy.entry('Long', strategy.long, 1)
if(LongExit)
strategy.close('Long')