यह रणनीति चलती औसत क्रॉसओवर के आधार पर लंबी और छोटी अवधि लागू करती है, और उच्च उद्घाटन अस्थिरता से फंसने से बचने के लिए शुरुआती लाभ लेने के आंकड़ों के आधार पर दोपहर में ही बाहर निकलती है।
यह रणनीति अलग-अलग मापदंडों के साथ 3 चलती औसत का उपयोग करती हैः 14-दिवसीय, 28-दिवसीय और 56-दिवसीय रेखाएं। यह लंबे समय तक जाती है जब 14-दिवसीय रेखा 56-दिवसीय रेखा के ऊपर पार करती है, और नीचे पार करते समय छोटी हो जाती है। यह बुनियादी दृष्टिकोण दीर्घकालिक रुझानों को ट्रैक करता है। कुछ शोर को फ़िल्टर करने के लिए, 28-दिवसीय रेखा को संदर्भ के रूप में जोड़ा जाता है, ताकि सिग्नल तभी ट्रिगर किए जाएं जब 14-दिवसीय रेखा भी 28-दिवसीय रेखा के ऊपर या नीचे हो।
मुख्य नवाचार यह है कि यह नुकसान को रोकता है और केवल दोपहर 4 बजे से 5 बजे के बीच लाभ लेता है। आंकड़े बताते हैं कि खोलने के बाद पहले घंटे में दैनिक उच्च / निम्न होने की 70% संभावना है। उच्च उद्घाटन अस्थिरता से प्रभाव से बचने के लिए, निकास केवल नियमित दोपहर के व्यापार घंटों के दौरान सक्षम हैं।
इस रणनीति के लाभों में निम्नलिखित शामिल हैंः
कुछ जोखिम भी हैं:
रणनीति को और अधिक अनुकूलित करने के कुछ तरीके:
रणनीति में स्पष्ट और सरल तर्क है, जो अस्थिरता के जाल से बचने के लिए स्टॉप लॉस के लिए प्रभावी रूप से खुलने की सुविधाओं का उपयोग करता है। लेकिन खोए हुए अवसरों और फंसने का जोखिम है। मापदंडों को प्रति स्टॉक समायोजित किया जाना चाहिए। कुल मिलाकर एक सरल लेकिन प्रभावी विचार नौसिखिया क्वांट के लिए।
/*backtest start: 2023-11-23 00:00:00 end: 2023-11-30 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("MAC 1st Trading Hour Walkover", overlay=true) // Setting up timeperiod for testing startPeriodYear = input(2014, "Backtest Start Year") startPeriodMonth = input(1, "Backtest Start Month") startPeriodDay = input(2, "Backtest Start Day") testPeriodStart = timestamp(startPeriodYear, startPeriodMonth, startPeriodDay, 0, 0) stopPeriodYear = input(2025, "Backtest Stop Year") stopPeriodMonth = input(12, "Backtest Stop Month") stopPeriodDay = input(30, "Backtest Stop Day") testPeriodStop = timestamp(stopPeriodYear, stopPeriodMonth, stopPeriodDay, 0, 0) // Moving Averages ema14 = ema(close, 14) ema28 = ema(close, 28) sma56 = sma(close, 56) // Plot plot(ema14, title="ema14", linewidth=2, color=green) plot(ema28, title="ema28", linewidth=2, color=red) plot(sma56, title="sma56", linewidth=3, color=blue) // Strategy goLong = cross(ema14, sma56) and ema14 > ema28 goShort = cross(ema14, sma56) and ema14 < ema28 // Strategy.When to enter if time >= testPeriodStart if time <= testPeriodStop strategy.entry("Go Long", strategy.long, 1.0, when=goLong) strategy.entry("Go Short", strategy.short, 1.0, when=goShort) // Strategy.When to take profit if time >= testPeriodStart if time <= testPeriodStop strategy.exit("Close Long", "Go Long", profit=2000) strategy.exit("Close Short", "Go Short", profit=2000) // Strategy.When to stop out // Some studies show that 70% of the days high low happen in the first hour // of trading. To avoid having that volatility fire our loss stop we // ignore price action in the morning, but allow stops to fire in the afternoon. if time("60", "1000-1600") strategy.exit("Close Long", "Go Long", loss=500) strategy.exit("Close Short", "Go Short", loss=500)