Strategi ini disebut
Ketika RSI di atas 50, itu dianggap sinyal bullish. Ini menunjukkan pasar berada dalam keseimbangan ke zona bullish. Ketika SMA 9 hari di atas SMA 100 hari, itu berarti tren jangka pendek lebih baik daripada tren jangka panjang, dan kita dapat memasuki posisi panjang. Selain itu, jika SMA 9 hari jangka pendek memiliki perubahan relatif lebih dari 6% terhadap harga, itu menunjukkan percepatan tren jangka pendek, yang juga merupakan sinyal masuk.
Jika sudah dalam posisi long, strategi ini akan menggunakan trailing stop SAR parabolik untuk mengunci keuntungan.
Strategi ini menggabungkan indikator tren dan osilator, sehingga dapat memasuki pasar ketika tren yang jelas muncul, sementara menghindari periode ketika pasar berbalik, sangat mengurangi risiko perdagangan.
Backtest menunjukkan strategi ini dapat menguntungkan dalam tren jangka pendek yang cukup jelas dengan hasil yang baik.
Strategi ini bergantung pada indikator seperti RSI dan SMA, yang memiliki keterlambatan tertentu.
Selain itu, perdagangan frekuensi tinggi membawa biaya perdagangan yang lebih tinggi. Jika frekuensi perdagangan terlalu tinggi, biaya perdagangan yang terkumpul juga dapat mempengaruhi keuntungan.
Strategi ini dapat mempertimbangkan untuk memasukkan lebih banyak indikator untuk menentukan sinyal masuk dan keluar, seperti menambahkan indikator volume untuk menghindari pecah palsu.
Selain itu, optimasi dapat dilakukan pada produk perdagangan, parameter siklus untuk menemukan kombinasi parameter terbaik. Perdagangan lintas siklus juga dapat dipertimbangkan, menggunakan siklus yang lebih tinggi untuk menentukan arah tren, dan siklus yang lebih rendah untuk memutuskan masuk.
Strategi ini menggunakan indikator teknis umum seperti RSI dan SMA untuk membangun strategi perdagangan jangka pendek. Strategi ini dapat menangkap tren jangka pendek yang cukup jelas untuk mendapatkan keuntungan, sementara juga memiliki stop untuk mengunci keuntungan. Strategi ini cocok untuk investor yang menyukai perdagangan frekuensi tinggi, tetapi risiko pembalikan pasar yang cepat juga membutuhkan perhatian. Dengan optimasi lebih lanjut, strategi ini dapat mencapai hasil yang lebih baik.
/*backtest start: 2024-01-24 00:00:00 end: 2024-01-31 00:00:00 period: 1m basePeriod: 1m 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/ // © Coinrule //@version=5 strategy("Short Term RSI and SMA Percentage Change", overlay=true, initial_capital=1000, process_orders_on_close=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1) showDate = input(defval=true, title='Show Date Range') timePeriod = time >= timestamp(syminfo.timezone, 2022, 5, 1, 0, 0) notInTrade = strategy.position_size <= 0 //==================================Buy Conditions============================================ //RSI length = input(14) rsi = ta.rsi(close, length) buyCondition1 = rsi > 50 //MA SMA9 = ta.sma(close, 9) SMA100 = ta.sma(close, 100) plot(SMA9, color = color.green) plot(SMA100, color = color.blue) buyCondition2 = (SMA9 > SMA100) //Calculating MA Percentage Change buyMA = (close/SMA9) buyCondition3 = buyMA >= 0.06 if (buyCondition1 and buyCondition2 and buyCondition3 and timePeriod) //and buyCondition strategy.entry("Long", strategy.long) //==================================Sell Conditions============================================ // Configure trail stop level with input options longTrailPerc = input.float(title='Trail Long Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01 shortTrailPerc = input.float(title='Trail Short Loss (%)', minval=0.0, step=0.1, defval=5) * 0.01 // Determine trail stop loss prices longStopPrice = 0.0 shortStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - longTrailPerc) math.max(stopValue, longStopPrice[1]) else 0 shortStopPrice := if strategy.position_size < 0 stopValue = close * (1 + shortTrailPerc) math.min(stopValue, shortStopPrice[1]) else 999999 strategy.exit('Exit', stop = longStopPrice, limit = shortStopPrice)