यह रणनीति मूल्य प्रवृत्तियों को ट्रैक करने के लिए ईएमए क्रॉसओवर को अपनाती है। जब तेज ईएमए धीमे ईएमए के ऊपर पार करता है, तो यह लंबा हो जाता है, और जब तेज ईएमए धीमे ईएमए के नीचे पार करता है तो स्थिति बंद हो जाती है। मुख्य रूप से स्पष्ट रुझानों वाले उत्पादों के लिए उपयुक्त है, प्रभावी रूप से रुझानों का पालन करना और अतिरिक्त रिटर्न प्राप्त करना।
इस रणनीति का मुख्य संकेतक ईएमए है। ईएमए का सूत्र हैः
ईएमए (टी) = सी (टी) ×2/एन + 1) + ईएमए (टी -1) × (एन -1) / (एन + 1)
जहां t वर्तमान टिक है, C(t) वर्तमान समापन मूल्य है, और n पैरामीटर मान N है। ईएमए एक भारित कारक के साथ एक चलती औसत तकनीक है, जो हाल की कीमतों को अधिक वजन देती है, इस प्रकार नवीनतम मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया करती है।
यह रणनीति तेज और धीमी ईएमए का निर्माण करती है और धीमी ईएमए के ऊपर तेजी से ईएमए को क्रॉस करने को खरीद संकेत के रूप में लेती है, और धीमी ईएमए के नीचे तेजी से ईएमए को क्रॉस करने को बिक्री संकेत के रूप में लेती है। ऊपर की तेजी से ईएमए क्रॉसिंग एक नए राउंड की वृद्धि की शुरुआत को इंगित करती है, जबकि नीचे की तेजी से ईएमए क्रॉसिंग ऊपर की प्रवृत्ति के अंत और एक पुलबैक की शुरुआत को इंगित करती है।
इस रणनीति के लाभ इस प्रकार हैंः
मुख्य जोखिम हैंः
उपरोक्त जोखिमों को कम करने के लिए निम्नलिखित अनुकूलन उपायों को अपनाया जा सकता हैः
रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
संक्षेप में, यह मूल्य रुझानों का न्याय करने के लिए ईएमए का उपयोग करने वाली एक सरल और व्यावहारिक प्रवृत्ति के बाद की रणनीति है। तर्क स्पष्ट और लागू करने में आसान है। फायदे मापदंडों को समायोजित करने और प्रवृत्तियों का प्रभावी ढंग से पालन करने की सादगी में निहित हैं। नुकसान झूठे संकेतों के लिए प्रवण हैं और वास्तविक प्रदर्शन बैकटेस्ट से कम हो सकता है। अनुकूलन के अगले चरणों में फ़िल्टर, गतिशील मापदंडों, मॉडल निर्माण को जोड़ने पर ध्यान केंद्रित किया जा सकता है ताकि रणनीति अधिक मजबूत हो सके।
/*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)