यह रणनीति 5 दिन और 78 दिन के एमए क्रॉस का उपयोग गति का पीछा करने वाले संकेत उत्पन्न करने के लिए करती है, जिसका उद्देश्य अल्पकालिक मूल्य ब्रेकआउट को पकड़ना है।
3-दिवसीय, 78-दिवसीय और 195-दिवसीय भारित चलती औसत की गणना करें।
195 दिनों के ऊपर 3 दिन क्रॉसओवर ट्रिगर खरीद संकेत।
जब 3-दिवसीय 78-दिवसीय से ऊपर बैठता है, और 78-दिवसीय 195-दिवसीय से ऊपर, ऊपर की ओर रुझान चैनल के रूप में माना जाता है, तो यह भी खरीद को ट्रिगर करता है।
6ATR गतिशील लाभ लेने की रेखा सेट करें, मूल्य रेखा से नीचे गिरने पर बेचें।
जब 3 दिन 195 दिन से नीचे लौटते हैं तो संकेत बेचें।
कई एमए क्रॉस प्रभावी रूप से झूठे ब्रेकआउट को फ़िल्टर करते हैं।
गतिशील लाभ लेने से झटके से बचा जाता है।
बैकटेस्ट प्रति ट्रेड औसत 2 घंटे के होल्डिंग समय को दर्शाता है, जो अल्पकालिक गति व्यापार के लिए उपयुक्त है।
अधिकतम निकासी 20% के आसपास नियंत्रित है।
निश्चित एमए पैरामीटर बदलते बाजारों के अनुकूल नहीं होते हैं।
1 वर्ष का नमूना अवधि सीमित है, रणनीति को सत्यापित करने के लिए अधिक डेटा की आवश्यकता है।
जोखिम नियंत्रण के लिए लाभ लेने और स्टॉप लॉस मापदंडों को अनुकूलित करने की आवश्यकता है।
मूल्य अंतर के अनुकूल नहीं होता है।
उच्च लेन-देन की लागत।
अनुकूलन के लिए विभिन्न एमए कॉम्बो का परीक्षण करें.
जोखिम-लाभ संतुलन के लिए लाभ लेने और हानि रोकने का अनुकूलन करें।
फंसे होने की संभावना को कम करने के लिए प्रवेश फ़िल्टर सेट करें।
स्थिति आकार अनुकूलित, पिरामिड पर शक्ति.
विभिन्न उत्पादों और अधिक समय सीमाओं पर परीक्षण करें।
अधिकतम निकासी का मूल्यांकन करने के लिए मोंटे कार्लो सिमुलेशन।
यह रणनीति एमए क्रॉस के साथ अपट्रेंड की पहचान करती है और अच्छे बैकटेस्ट परिणामों के साथ गतिशील लाभ स्टॉप नियम निर्धारित करती है। लेकिन सीमित नमूना अवधि, पैराम स्थिरता सत्यापित रहती है और अंतराल पर विफल रहती है। बड़े डेटासेट पर आगे बैकटेस्टिंग, झूठे संकेतों को कम करने के लिए अधिक फिल्टर, अनुकूलित लाभ स्टॉप पैरामीटर, लेनदेन लागत पर मूल्यांकन की आवश्यकता होती है। यदि व्यापक अनुकूलन और सत्यापन परीक्षण पास करता है, तो एक मजबूत अल्पकालिक गति पीछा प्रणाली बन सकती है।
/*backtest start: 2022-09-14 00:00:00 end: 2023-09-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 // © FinTasticTrading 2021/2/14 // This is a 5 day moving average crossing long strategy, used in short term momentum trading strategy. // Momentum trading Strategy: When S&P 500 index is at up trend (or above 60 sma), buy 10+ stocks in top 20% stock RS ranking at equal weight using this MA5X_L strategy. Change stocks when any stock exited by algorithm. // Back test start since 2020/7/1, each long entry for condition 1 is $30000, condition 2 is $20000, with max of 2 long positions. // Setup: 10 minutes chart // Buy condition 1) 3 wma cross up 180 wma (5day) 2) 3wma > 60wma > 180wma UP Trend Arrangement (UTA) // Exit condition 1) 3 wma cross under 180 wma 2) position profit > 20% and 3 wma cross under 6 ATRs line (green) //@version=4 strategy("MA5X_L", overlay=true, pyramiding=2,default_qty_type=strategy.cash, default_qty_value=100000) s_len = input( 3 ) m_len = input( 78 ) // 2 day moving average l_len = input( 195) // equal to 5 Day moving average xl_len = input(390) // 10 day moving average //Draw WMAs s_ma = wma(close,s_len) m_ma = wma(close,m_len) l_ma = wma(close,l_len) xl_ma = sma(close,xl_len) plot(s_ma, color=color.yellow, linewidth=2) plot(m_ma, color=color.fuchsia, linewidth=2) plot(l_ma, color=color.blue, linewidth=2) plot(xl_ma, color = color.gray, linewidth=2) //ATR Stop Profit , length = 40 or 1 day Periods = input(title="ATR Period", type=input.integer, defval=40) Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=6.0) sl=hl2-(Multiplier*atr(Periods)) sl1 = nz(sl[1], sl) sl := s_ma[1] > sl1 ? max(sl, sl1) : sl plot(strategy.position_size > 0 ? sl:na, title="Stop Loss", style=plot.style_linebr, linewidth=2, color=color.green) //Backtest since condition100 = time>=timestamp(2020, 07, 01, 00, 00) //Long Entry Condition 1 : s_ma Cross UP l_ma if crossover(s_ma, l_ma) and condition100 strategy.entry("X Up", strategy.long, qty = 30000/close, comment="X Up") //Long Entry Condition 2 : s_ma > m_ma > l_ma condition31 = s_ma>m_ma and m_ma>l_ma condition32 = condition31[1]==false and condition31 == true and condition100 strategy.entry("UTA", strategy.long, qty = 20000/close, when = condition32, comment="UTA") //Long Exit Condition 1 : 3 wma cross under 180 wma condition50 = crossunder(s_ma, l_ma) strategy.close_all(when = condition50, comment="X Dn") //Long Exit Condition 2 : position profit > 20% and 3 wma cross under 6 ATRs line (green) strategy.close_all(when = crossunder(close,sl) and strategy.openprofit>30000*0.2, comment="Stop")