एटीआर और धन प्रबंधन पर आधारित एसएसएल चैनल बैकटेस्टिंग रणनीति


निर्माण तिथि: 2023-11-23 10:26:58 अंत में संशोधित करें: 2023-11-23 10:26:58
कॉपी: 1 क्लिक्स: 731
1
ध्यान केंद्रित करना
1617
समर्थक

एटीआर और धन प्रबंधन पर आधारित एसएसएल चैनल बैकटेस्टिंग रणनीति

अवलोकन

यह नीति एसएसएल चैनल के संकेतकों पर आधारित एक प्रतिक्रिया रणनीति है, और एटीआर रोक, एटीआर रोक और धन प्रबंधन जैसी सुविधाओं के साथ संयुक्त है, जो एसएसएल चैनल रणनीति की प्रभावशीलता का अधिक व्यापक रूप से परीक्षण कर सकती है।

रणनीति सिद्धांत

एसएसएल चैनल संकेतक

एसएसएल चैनल सूचकांक चैनल की मध्य रेखा और चैनल बैंड से बना है। चैनल की मध्य रेखा एक सरल चलती औसत है, जो ऊपरी और निचले ट्रैक में विभाजित है, आमतौर पर उच्च बिंदु के दौरान सरल चलती औसत को ऊपरी ट्रैक के रूप में और निचले बिंदु के दौरान सरल चलती औसत को निचले ट्रैक के रूप में लिया जाता है। चैनल बैंड ऊपर और नीचे के बीच के क्षेत्र से बना है।

जब कीमत चैनल अपट्रेल के करीब होती है तो इसे ओवरबॉय माना जाता है और जब कीमत चैनल डाउनट्रेल के करीब होती है तो इसे ओवरसोल माना जाता है। जब कीमत चैनल बैंड को तोड़ती है, तो यह एक संकेत है कि प्रवृत्ति बदल गई है।

इस नीति में एसएसएल चैनल संकेतक पैरामीटर के रूप में सेट किया गया हैःssl_period=16

एटीआर स्टॉप लॉस स्टॉप

एटीआर औसत वास्तविक तरंग दैर्ध्य को संदर्भित करता है। इसका उपयोग बाजार की अस्थिरता का आकलन करने और स्टॉप लॉस स्टॉप पोजीशन निर्धारित करने के लिए किया जा सकता है।

इस नीति में पैरामीटर का उपयोग किया जाता हैatr_period=14एटीआर सूचकांक, और संयुक्तatr_stop_factor=1.5औरatr_target_factor=1.0स्टॉप और स्टॉप के गतिशील गुणांक के रूप में, बाजार में उतार-चढ़ाव के आधार पर स्टॉप और स्टॉप को लागू किया गया।

इसके अलावा, विभिन्न किस्मों के अनुकूल होने के लिए, इस रणनीति को जोड़ा गया हैtwo_digit2 बिट्स की सटीकता के साथ अनुबंधों के लिए पैरामीटर का न्याय करें (उदाहरण के लिए, सोना, येन), ताकि स्टॉप-लॉस स्टॉप को लचीले ढंग से समायोजित किया जा सके।

धन प्रबंधन

धन प्रबंधन मुख्य रूप से मापदंडों के माध्यम सेposition_size(फिक्स्ड पोजीशन) औरrisk(प्रतिशत जोखिम छेद) को लागू करना।use_mm=trueजब आप पैसे का प्रबंधन करते हैं, तो यह आपके पैसे का प्रबंधन करता है।

धन प्रबंधन का मुख्य उद्देश्य प्रत्येक स्थिति के आकार को नियंत्रित करना है। जब एक निश्चित प्रतिशत जोखिम मॉडल का उपयोग किया जाता है, तो खाता अधिकार-लाभ के आधार पर जोखिम की गणना के बाद अनुबंधों की संख्या में परिवर्तित किया जाता है, जिससे एकल हानि को रोकने का प्रभाव प्राप्त होता है।

श्रेष्ठता विश्लेषण

  • एसएसएल चैनल का उपयोग कर प्रवृत्ति दिशा का आकलन करने के लिए, प्रवृत्ति रूपांतरण को पकड़ने के लिए कुछ प्रभाव है
  • एटीआर गतिशील गणना स्टॉप लॉस स्टॉप पोजीशन को लागू करना, जो बाजार में उतार-चढ़ाव के लिए अनुकूल है
  • धन प्रबंधन के सिद्धांतों का उपयोग करना दीर्घकालिक जोखिम को नियंत्रित करने में मदद करता है

जोखिम विश्लेषण

  • हालांकि एसएसएल चैनल ट्रेंड रिवर्स का आकलन कर सकता है, यह 100% विश्वसनीय नहीं है और गलत सिग्नल हो सकता है
  • एटीआर ने बाजार में उतार-चढ़ाव के साथ स्टॉप लॉस स्टॉप सेट किया है, जो कि बहुत ढीला या बहुत कठोर हो सकता है
  • गलत तरीके से सेट किए गए धन प्रबंधन मापदंडों के कारण भी स्थिति बहुत बड़ी या बहुत कम कुशल हो सकती है

इन जोखिमों को निम्न तरीकों से कम किया जा सकता हैः

  1. गलत संकेतों से बचने के लिए अन्य संकेतकों के साथ पुष्टि करें
  2. एटीआर चक्र पैरामीटर को उचित रूप से समायोजित करें ताकि स्टॉप लॉस स्टॉप स्तर इष्टतम संतुलन तक पहुंच सके
  3. विभिन्न धन प्रबंधन मापदंडों का परीक्षण करें और सर्वोत्तम स्थिति का पता लगाएं

अनुकूलन दिशा

इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः

  1. एसएसएल चैनल मापदंडों को अनुकूलित करें
  2. एटीआर को बेहतर बनाने के लिए क्षति-रोक तंत्र का अनुकूलन या प्रतिस्थापन
  3. अनावश्यक लेनदेन से बचने के लिए अन्य फ़िल्टरिंग मापदंडों को जोड़ना
  4. अधिकतम लाभ और हानि के लिए स्थिति नियंत्रण मॉड्यूल जोड़ा गया
  5. विभिन्न किस्मों के लिए पैरामीटर को ठीक करें, रणनीति अनुकूलन में सुधार करें
  6. अधिक व्यापक प्रतिक्रिया और अनुकूलन के लिए एक मात्रात्मक उपकरण जोड़ना

सिस्टम के परीक्षण और अनुकूलन के माध्यम से, यह रणनीति एक विश्वसनीय और स्थिर मात्रात्मक लेनदेन प्रणाली बन सकती है।

संक्षेप

इस नीति में एसएसएल चैनल सूचक निर्णय प्रवृत्ति, एटीआर सेट-अप रोकथाम और धन प्रबंधन नियंत्रण जोखिम के तीन तंत्रों को एकीकृत किया गया है। इस नीति की प्रभावशीलता को व्यापक प्रतिक्रिया के माध्यम से परीक्षण किया जा सकता है, और इसे एक मात्रात्मक व्यापार रणनीति के अनुकूलन के लिए एक बुनियादी ढांचे के रूप में इस्तेमाल किया जा सकता है। साथ ही, इस नीति में सुधार के लिए जगह भी है, जैसे कि अन्य फ़िल्टर संकेतकों, अनुकूलन मापदंडों और विस्तारित सुविधाओं को जोड़ना। कुल मिलाकर, इस नीति ने स्वचालित व्यापार प्रणाली के निर्माण के लिए एक ठोस आधारशिला रखी है।

रणनीति स्रोत कोड
/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 2h
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/
// © comiclysm

//@version=4
strategy("SSL Backtester", overlay=false)

//--This strategy will simply test the effectiveness of the SSL using
//--money management and an ATR-derived stop loss

//--USER INPUTS

two_digit = input(false, "Check this for 2-digit pairs (JPY, Gold, Etc)")
ssl_period = input(16, "SSL Period")
atr_period = input(14, "ATR Period")
atr_stop_factor = input(1.5, "ATR Stop Loss Factor")
atr_target_factor = input(1.0, "ATR Target Factor")
use_mm = input(true, "Check this to use Money Management")
position_size = input(1000, "Position size (for Fixed Risk)")
risk = input(0.01, "Risk % in Decimal Form")

//--INDICATORS------------------------------------------------------------

    //--SSL
    
sma_high = sma(high, ssl_period)
sma_low = sma(low, ssl_period)
ssl_value = 0
ssl_value := close > sma_high ? 1 : close < sma_low ? -1 : ssl_value[1]
ssl_low = ssl_value < 0 ? sma_high : sma_low
ssl_high = ssl_value < 0 ? sma_low : sma_high

    //--Average True Range
    
atr = atr(atr_period)

//--TRADE LOGIC----------------------------------------------------------

signal_long = ssl_value > 0 and ssl_value[1] < 0
signal_short = ssl_value < 0 and ssl_value[1] > 0

//--RISK MANAGMENT-------------------------------------------------------
strategy.initial_capital = 50000
balance = strategy.netprofit + strategy.initial_capital
risk_pips = atr*10000*atr_stop_factor
if(two_digit)
    risk_pips := risk_pips / 100
risk_in_value = balance * risk
point_value = syminfo.pointvalue
risk_lots = risk_in_value / point_value / risk_pips
final_risk = use_mm ? risk_lots * 10000 : position_size

//--TRADE EXECUTION-----------------------------------------------------

if (signal_long)
    stop_loss = close - atr * atr_stop_factor
    target = close + atr * atr_target_factor
    strategy.entry("Long", strategy.long, final_risk)
    strategy.exit("X", "Long", stop=stop_loss, limit=target)
if (signal_short)
    stop_loss = close + atr * atr_stop_factor
    target = close - atr * atr_target_factor
    strategy.entry("Short", strategy.short, final_risk)
    strategy.exit("X", "Short", stop=stop_loss, limit=target)
    
//--PLOTTING-----------------------------------------------------------

plot(ssl_low, "SSL", color.red, linewidth=1)
plot(ssl_high, "SSL", color.lime, linewidth=1)