
इस रणनीति का नाम द्वि-सूचक चलती औसत (RSI) ट्रेडिंग रणनीति है। यह रणनीति द्वि-सूचक चलती औसत (डबल ईएमए) और अपेक्षाकृत मजबूत सूचक (आरएसआई) का उपयोग मुख्य व्यापारिक संकेतकों के रूप में करती है, जिससे यांत्रिक व्यापार होता है।
यह रणनीति पहले कीमतों की द्वि-सूचक चलती औसत (MA) की गणना करती है, फिर RSI की गणना MA के आधार पर करती है, और फिर RSI की सूचक चलती औसत (Smooth) की गणना करती है। जब RSI अपनी चलती औसत को पार करता है तो यह एक खरीद संकेत उत्पन्न करता है; जब RSI अपनी चलती औसत को पार करता है तो यह एक बेचने का संकेत उत्पन्न करता है। वैकल्पिक रूप से, रणनीति प्रति दिन अधिकतम व्यापार की संख्या, व्यापार पूंजी की हिस्सेदारी, व्यापार अवधि, स्टॉप-लॉस स्टॉप और स्टॉप-लॉस पॉइंट्स की संख्या जैसे पैरामीटर को नियंत्रित करने के लिए भी निर्धारित करती है।
क्या करें?
इस रणनीति के समग्र mechanic नियम स्पष्ट हैं, उच्च विश्वसनीयता है, और मध्यम और लंबी रेखा प्रवृत्ति किस्मों के लिए लागू होते हैं। अनुकूलन के बाद प्रवृत्ति को ट्रैक करने के लिए एक आधार बन सकता है यांत्रिक व्यापार रणनीति, जोखिम नियंत्रित है, यह आगे के मूल्यांकन के लिए लायक है।
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title='[STRATEGY][RS]DemaRSI V0', shorttitle='D', overlay=false, initial_capital=100000, currency=currency.USD)
src = input(close)
ma_length = input(21)
rsi_length = input(4)
rsi_smooth = input(4)
ma = ema(ema(src, ma_length), ma_length)
marsi = rsi(ma, rsi_length)
smooth = ema(marsi, rsi_smooth)
plot(title='M', series=marsi, color=black)
plot(title='S', series=smooth, color=red)
hline(0)
hline(50)
hline(100)
max_order_per_day = input(6)
// strategy.risk.max_intraday_filled_orders(max_order_per_day)
trade_size_as_equity_factor = input(false)
trade_size = input(type=float, defval=10000.00) * (trade_size_as_equity_factor ? strategy.equity : 1)
take_profit_in_points = input(100000)
stop_loss_in_points = input(100000)
trail_in_points = input(150)
USE_SESSION = input(true)
trade_session = input(title='Trade Session:', defval='0400-1500', confirm=false)
istradingsession = not USE_SESSION ? true : not na(time('1', trade_session))
buy_entry = istradingsession and crossover(marsi, smooth)
sel_entry = istradingsession and crossunder(marsi, smooth)
strategy.entry('buy', long=true, qty=1, when=buy_entry)
strategy.entry('sel', long=false, qty=1, when=sel_entry)
strategy.exit('buy.Exit', from_entry='buy', profit=take_profit_in_points, loss=stop_loss_in_points, trail_points=trail_in_points, trail_offset=trail_in_points)
strategy.exit('sel.Exit', from_entry='sel', profit=take_profit_in_points, loss=stop_loss_in_points, trail_points=trail_in_points, trail_offset=trail_in_points)
strategy.close_all(when=not istradingsession)