ईएमए क्रॉसओवर रुझान रणनीति का पालन करना

लेखक:चाओझांग, दिनांक: 2023-12-27 16:31:15
टैगः

img

अवलोकन

यह रणनीति मूल्य प्रवृत्तियों को ट्रैक करने के लिए ईएमए क्रॉसओवर को अपनाती है। जब तेज ईएमए धीमे ईएमए के ऊपर पार करता है, तो यह लंबा हो जाता है, और जब तेज ईएमए धीमे ईएमए के नीचे पार करता है तो स्थिति बंद हो जाती है। मुख्य रूप से स्पष्ट रुझानों वाले उत्पादों के लिए उपयुक्त है, प्रभावी रूप से रुझानों का पालन करना और अतिरिक्त रिटर्न प्राप्त करना।

रणनीति तर्क

इस रणनीति का मुख्य संकेतक ईएमए है। ईएमए का सूत्र हैः

ईएमए (टी) = सी (टी) ×2/एन + 1) + ईएमए (टी -1) × (एन -1) / (एन + 1)

जहां t वर्तमान टिक है, C(t) वर्तमान समापन मूल्य है, और n पैरामीटर मान N है। ईएमए एक भारित कारक के साथ एक चलती औसत तकनीक है, जो हाल की कीमतों को अधिक वजन देती है, इस प्रकार नवीनतम मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करती है।

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

लाभ विश्लेषण

इस रणनीति के लाभ इस प्रकार हैंः

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

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

मुख्य जोखिम हैंः

  1. ईएमए से झूठे संकेतों की उच्च संभावना;
  2. जब बाजार की सीमाएं भिन्न होती हैं तो ईएमए आसानी से क्रॉसओवर होते हैं।
  3. जब अचानक घटनाएं दिशा में तेज बदलाव का कारण बनती हैं तो समय पर हानि को रोकने में असमर्थ;
  4. सीमित अनुकूलन स्थान कि वास्तविक प्रदर्शन बैकटेस्ट परिणामों से कम हो सकता है।

उपरोक्त जोखिमों को कम करने के लिए निम्नलिखित अनुकूलन उपायों को अपनाया जा सकता हैः

  1. झूठे संकेतों से बचने के लिए अन्य संकेतकों के साथ फ़िल्टर स्थितियों को जोड़ना;
  2. सिग्नल आवृत्ति को कम करने के लिए पैरामीटर को समायोजित करना;
  3. एकल हानि को नियंत्रित करने के लिए स्टॉप लॉस रणनीति जोड़ना;
  4. इष्टतम खोजने के लिए विभिन्न समय अवधि मापदंडों का परीक्षण करना।

अनुकूलन दिशाएँ

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

  1. कई समय सीमाओं पर समग्र संकेतक, जैसे साप्ताहिक या मासिक रुझानों को जोड़ना;
  2. झूठे ब्रेकआउट से बचने के लिए फ़िल्टर स्थितियों को जोड़ना, उदाहरण के लिए वॉल्यूम, बोलिंगर बैंड आदि;
  3. वास्तविक समय में बाजार परिवर्तनों के अनुसार मापदंडों का गतिशील समायोजन;
  4. मॉडल बनाने के लिए अन्य संकेतकों को शामिल करना, जैसे ग्रिड, प्रतिगमन एल्गोरिदम।

सारांश

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


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA交叉策略by GPT",
     format = format.inherit,
     overlay = true,
     default_qty_type= strategy.percent_of_equity,
     default_qty_value = 100,
     currency = currency.USD,
     initial_capital = 1000000)


// 定義回測交易開始和結束時間的變數
start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000"))
end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000"))


// 判斷是否在回測交易時間範圍內
in_range = true


// Define input variables
fast_length = input(title="Fast EMA Length", type=input.integer, defval=5)
slow_length = input(title="Slow EMA Length", type=input.integer, defval=20)


// Define EMAs
fast_ema = ema(close, fast_length)
slow_ema = ema(close, slow_length)


// Define buy and sell signals
buy_signal = crossover(fast_ema, slow_ema)
sell_signal = crossunder(fast_ema, slow_ema)


// Buy signal
if in_range and buy_signal
    strategy.entry("Buy", strategy.long, when=in_range)
   
// Sell signal
if in_range and sell_signal
    strategy.close("Buy", when=sell_signal)

अधिक