दोहरी चलती औसत मूल्य सफलता रणनीति

लेखक:चाओझांग, दिनांक: 2023-11-21 15:33:52
टैगः

img

अवलोकन

यह रणनीति कीमत के रुझानों और सफलताओं को निर्धारित करने के लिए दो चलती औसत का उपयोग करती है। जब कीमत ऊपरी रेल के माध्यम से टूटती है तो छोटी जाती है और जब कीमत निचली रेल के माध्यम से टूटती है तो लंबी जाती है। जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस निकास सेट करें।

सिद्धांत

  1. व्यापारिक रणनीति के ऊपरी और निचले रेल के रूप में अल्पकालिक और दीर्घकालिक दो चलती औसत की गणना करने के लिए sma() फ़ंक्शन का उपयोग करें।
  2. खरीद मूल्य और बिक्री मूल्य की गणना करें: खरीद मूल्य 1 से कम गुणांक से गुणा किया गया निचला रेल है और बिक्री मूल्य 1 से अधिक गुणांक से गुणा किया गया ऊपरी रेल है।
  3. जब कीमत ऊपरी रेल के माध्यम से तोड़ती है, तो बाजार आदेश के साथ एक छोटी स्थिति खोलें; जब कीमत निचली रेल के माध्यम से तोड़ती है, तो एक सीमा आदेश के साथ एक लंबी स्थिति खोलें।
  4. रणनीति के ट्रेडिंग चक्र को नियंत्रित करने के लिए वर्ष, माह और दिनांक सीमा सेट करें।
  5. जब बैकटेस्ट समाप्त हो जाता है या दिनांक सीमा से अधिक हो जाता है तो सभी पदों को बंद कर दें।

लाभ

इस रणनीति के निम्नलिखित फायदे हैंः

  1. डबल रेल प्रणाली का प्रयोग बाजार शोर को फ़िल्टर कर सकता है और रुझानों की पहचान कर सकता है।
  2. प्रवेश समय निर्धारित करने के लिए मूल्य की सफलता का उपयोग करना झूठे संकेतों को कम कर सकता है।
  3. लिमिट ऑर्डर का उपयोग करने से बाजार प्रभाव लागत कम होती है।
  4. ट्रेडिंग चक्र को रणनीतिक जोखिमों को नियंत्रित करने के लिए आसानी से समायोजित किया जा सकता है।

जोखिम

इस रणनीति में कुछ जोखिम भी हैं:

  1. डबल रेल सफलताएं आसानी से निरंतर हानि के जोखिम का कारण बन सकती हैं। हानि को नियंत्रित करने के लिए स्टॉप लॉस आउटपुट सेट किए जा सकते हैं।
  2. जब ट्रेडिंग लक्ष्य समेकन में प्रवेश करता है, तो बहुत अधिक लेनदेन का जोखिम होता है। ऊपरी और निचले रेल के बीच की दूरी को उचित रूप से बढ़ाया जा सकता है।
  3. लिमिट ऑर्डर कुछ खरीद अवसरों को याद कर सकते हैं। इसके बजाय बाजार ऑर्डर का उपयोग करने पर विचार करें।

अनुकूलन

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

  1. सर्वोत्तम मापदंडों को खोजने के लिए चलती औसत लंबाई के विभिन्न संयोजनों का परीक्षण करें।
  2. लेन-देन की मात्रा में सफलता निर्धारित करने के लिए मात्रा सूचक को बढ़ाएं।
  3. वास्तविक समय में स्टॉप लॉस की कीमत को समायोजित करने के लिए अनुकूलनशील स्टॉप लॉस तंत्र को बढ़ाएं।
  4. ट्रेंड दिशा निर्धारित करने के लिए मशीन लर्निंग मॉडल को बढ़ाएं।

सारांश

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


/*backtest
start: 2023-11-13 00:00:00
end: 2023-11-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=3
strategy(title = "Noro's Shift MA Strategy v1.0", shorttitle = "Shift MA str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %")
per = input(3, defval = 1, minval = 1, maxval = 1000, title = "Length")
src = input(ohlc4, title = "Source")
buylevel = input(-5.0, defval = -5.0, minval = -100, maxval = 0, title = "Buy line (lime)")
selllevel = input(0.0, defval = 0.0, minval = -100, maxval = 100, title = "Sell line (red)")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//SMAs
sma = sma(src, per) 
buy = sma * ((100 + buylevel) / 100)
sell = sma * ((100 + selllevel) / 100)
plot(buy, linewidth = 2, color = lime, title = "Buy line")
plot(sell, linewidth = 2, color = red, title = "Sell line")

//Trading
size = strategy.position_size
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if (not na(close[per])) and size == 0
    strategy.entry("L", strategy.long, lot, limit = buy)
    
if (not na(close[per]))    
    strategy.entry("Close", strategy.short, 0, limit = sell)

if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

अधिक