Strategi ini mengambil kesempatan daripada trend penurunan dengan membina kedudukan pendek secara beransur-ansur berdasarkan purata bergerak dan penunjuk RSI.
Apabila harga penutupan di bawah purata bergerak mudah 100 hari dan RSI lebih besar daripada 30, pergi pendek. Kemudian tetapkan stop loss di atas harga kemasukan sebanyak 3% dan ambil keuntungan di bawah harga kemasukan sebanyak 2%. Stop loss yang lebih luas membolehkan lebih banyak turun naik untuk mengelakkan berhenti yang tidak perlu. Posisi penutupan apabila harga melebihi stop loss atau jatuh di bawah mengambil keuntungan.
Pada platform Coinrule, tetapkan beberapa pesanan jual berturut-turut untuk membina kedudukan secara beransur-ansur. Apabila downtrend berterusan, meningkatkan saiz kedudukan. Menetapkan selang masa antara pesanan juga membantu mengawal saiz kedudukan keseluruhan.
Setiap perdagangan disambungkan dengan perintah stop loss dan mengambil keuntungan. Peratusan dioptimumkan untuk syiling mid-cap. Anda boleh menyesuaikan berdasarkan syiling tertentu.
Stop loss pada 3% di atas harga kemasukan Ambil keuntungan pada 2% di bawah harga kemasukan Stop loss yang sedikit lebih besar boleh menampung lebih banyak turun naik.
Strategi ini berkesan menangkap trend penurunan berdasarkan MA dan RSI. Pembinaan kedudukan secara beransur-ansur mengawal risiko manakala menghentikan kerugian dan mengambil keuntungan memastikan ketahanan. Mengoptimumkan lagi nisbah risiko-balasan dengan menyesuaikan parameter berhenti kerugian / mengambil keuntungan. Terdapat ruang untuk penambahbaikan pada parameter dan kawalan risiko. Tetapi secara keseluruhan strategi pendek jangka pendek yang kukuh.
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 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/ // © Coinrule //@version=4 strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations inSignal=input(50, title='MASignal') MA= sma(close, inSignal) // RSI inputs and calculations lengthRSI = input(14, title = 'RSI period', minval=1) RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="short", long = false, when = close < MA and RSI > 30) //Exit shortStopPrice = strategy.position_avg_price * (1 + 0.03) shortTakeProfit = strategy.position_avg_price * (1 - 0.02) strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window()) plot(MA, color=color.purple, linewidth=2)