इस रणनीति के आधार पर औसत वास्तविक उतार-चढ़ाव की मात्रा (ATR) और अपेक्षाकृत मजबूत सूचकांक (RSI) एक ट्रेडिंग सिस्टम है जिसमें ट्रेंड ट्रैकिंग की सुविधा है। यह प्रणाली स्वचालित रूप से ट्रेंड की दिशा की पहचान कर सकती है और इसमें स्टॉप-लॉस और स्टॉप-स्टॉप सुविधाएं हैं।
एटीआर और आरएसआई की गणना करें। एटीआर हाल के समय में औसत मूल्य उतार-चढ़ाव की मात्रा को दर्शाता है। आरएसआई बहुपक्षीय पक्षों की ताकत का मुकाबला करता है।
जब एटीआर अपनी चलती औसत से बड़ा होता है, तो इसे उच्च अस्थिरता अवधि में माना जाता है, जो व्यापार के लिए उपयुक्त है।
जब आरएसआई ओवरबॉय लाइन से ऊपर हो, तो अधिक करें; जब आरएसआई ओवरबॉय क्षेत्र से नीचे हो, तो शून्य करें।
अधिक के बाद, उच्च बिंदु से गुणा करें स्थिर अनुपात के रूप में ट्रैक स्टॉपलॉस. कम के बाद, निम्न बिंदु से गुणा करें।
लाभ अनुपात में गिरावट
ट्रेकिंग स्टॉप लॉस अधिकतम स्टॉप लॉस को रोकता है और नुकसान को कम करता है।
आरएसआई एक प्रभावी रूप से ओवरहेड ताकत का आकलन करता है, जिससे आप आघात के दौरान बार-बार स्थिति खोलने से बच सकते हैं।
एटीआर एक अस्थिरता संकेतक है, जो केवल ट्रेंडिंग ट्रेडों के लिए अस्थिरता को फ़िल्टर करता है।
लाभ के अनुपात को रोकना लाभ के कुछ हिस्सों को बंद कर सकता है।
एटीआर और आरएसआई दोनों ही पिछड़े हुए संकेतक हैं, जो प्रवेश बिंदु को पीछे धकेलने का कारण बन सकते हैं। सिस्टम को अधिक संवेदनशील बनाने के लिए पैरामीटर को उचित रूप से अनुकूलित किया जा सकता है।
स्टॉप-लॉस स्टॉप-लॉस की तुलना में फिक्स्ड स्टॉप-लॉस ओवर-ऑप्टिमाइज़ करने के लिए आसान है, और इसे फीडबैक परिणामों के साथ सावधानीपूर्वक सेट किया जाना चाहिए।
बड़े चक्र के उतार-चढ़ाव के दौरान, एटीआर लंबे समय तक चलती औसत से बड़ा हो सकता है, जिससे अत्यधिक व्यापार होता है। अन्य फ़िल्टरिंग शर्तों को जोड़ा जा सकता है।
एटीआर और आरएसआई के पैरामीटर को अनुकूलित करें ताकि सिस्टम अधिक संवेदनशील हो सके।
इस तरह के संकेतकों को जोड़ने से प्रवृत्ति की दिशा का आकलन किया जा सकता है, जिससे किसी भी तरह की अस्थिरता से बचा जा सकता है।
गतिशील स्टॉप लॉस स्टॉप अनुपात की कोशिश करें, न कि एक निश्चित सेटिंग।
लेनदेन की मात्रा को नियंत्रित करने के उपायों को शामिल करने पर विचार करें।
इस रणनीति में एटीआर और आरएसआई दोनों संकेतकों के लाभों को एकीकृत किया गया है, एक सरल और व्यावहारिक ट्रेंड ट्रैकिंग ट्रेडिंग सिस्टम को डिजाइन किया गया है। पैरामीटर अनुकूलन और फ़िल्टरिंग शर्तों को जोड़कर, सिस्टम की स्थिरता को और बढ़ाया जा सकता है। कुल मिलाकर, इस रणनीति में मजबूत वास्तविक मूल्य है।
/*backtest
start: 2023-09-08 00:00:00
end: 2023-10-08 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// © liwei666
//@version=5
// # ========================================================================= #
// # | Strategy |
// # ========================================================================= #
strategy(
title = "ATR_RSI_Strategy v2[liwei666]",
shorttitle = "ATR_RSI_Strategy",
overlay = true,
max_lines_count = 500,
max_labels_count = 500,
max_boxes_count = 500,
max_bars_back = 5000,
initial_capital = 10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=50, commission_type=strategy.commission.percent, pyramiding=1,
commission_value=0.05
)
// # ========================================================================= #
// # | Strategy |
// # ========================================================================= #
atr_length = input.int(26, "atr_length", minval = 6, maxval = 100, step=1)
atr_ma_length = input.int(45, "atr_ma_length", minval = 6, maxval = 100, step=1)
rsi_length = input.int(15, "rsi_length", minval = 6, maxval = 100, step=1)
rsi_entry = input.int(10, "rsi_entry", minval = 6, maxval = 100, step=1)
atr_ma_norm_min = input.float(0.3, "atr_ma_norm_min", minval = 0.1, maxval = 0.5, step=0.1)
atr_ma_norm_max = input.float(0.7, "atr_ma_norm_max", minval = 0.5, maxval = 1, step=0.1)
trailing_percent= input.float(1.5, "trailing_percent", minval = 0.1, maxval = 2, step=0.1)
var rsi_buy = 50 + rsi_entry
var rsi_sell = 50 - rsi_entry
sma_norm_h_45() =>
source = high
n = 45
sma = ta.sma(source, n)
sma_norm = (sma - ta.lowest(sma, n)) / (ta.highest(sma,n) - ta.lowest(sma, n))
sma_norm
atr_value = ta.atr(atr_length)
atr_ma = ta.sma(atr_value, atr_ma_length)
rsi_value = ta.rsi(close, length = rsi_length)
atr_ma_norm = atr_ma / close * 100
sma_norm = sma_norm_h_45()
var intra_trade_high = 0.0
var intra_trade_low = 0.0
if strategy.position_size == 0
intra_trade_high := high
intra_trade_low := low
if atr_ma_norm >= atr_ma_norm_min and atr_ma_norm <= atr_ma_norm_max
if atr_value > atr_ma
if rsi_value > rsi_buy
strategy.entry("B1", strategy.long, limit = close + 5 )
else if rsi_value < rsi_sell
strategy.entry("S1", strategy.short, limit = close - 5 )
else if strategy.position_size > 0
intra_trade_high := math.max(intra_trade_high, high)
intra_trade_low := low
long_tp = intra_trade_high * (1 - trailing_percent / 100)
strategy.exit("Exit B1", from_entry="B1", stop = long_tp, limit = strategy.position_avg_price * 1.03)
else if strategy.position_size < 0
intra_trade_high := high
intra_trade_low := math.min(intra_trade_low, low)
short_tp = intra_trade_low * (1 + trailing_percent / 100)
strategy.exit("Exit S1", from_entry="S1", stop = short_tp, limit = strategy.position_avg_price * 0.94)