यह रणनीति मूल चलती औसत प्रणाली के संकेतों के बाद प्रवेश बिंदुओं को अनुकूलित करती है।
मुख्य तर्क यह हैः
किसी अवधि (उदाहरण के लिए 20 दिन) में चलती औसत की गणना करें
क्रॉसओवर लंबे/छोटे संकेत उत्पन्न करते हैं
संकेतों के बाद, तुरंत प्रवेश न करें लेकिन बेहतर स्तरों की प्रतीक्षा करें
यदि निर्दिष्ट दिनों (जैसे 3 दिन) के भीतर बेहतर स्तर होते हैं, तो ट्रेडों में प्रवेश करें
यदि नहीं, तो खोने से बचने के लिए 5 वें दिन बंद मूल्य पर प्रवेश करें
यह तत्काल संकेतों में प्रवेश करने के बजाय समेकन के बाद रुझानों की फिर से शुरुआत पर लाभ उठाने का प्रयास करता है।
बेहतर प्रवेश स्तरों के लिए प्रवेश अनुकूलन
अधिकतम प्रतीक्षा दिवसों से पूरी तरह से अनुपलब्ध ट्रेडों से बचा जाता है
सरल और स्पष्ट नियम लागू करने में आसान
प्रतीक्षा समय और सीमाओं को अनुकूलित करने की आवश्यकता है
कुछ अल्पकालिक रुझान अवसरों को याद कर सकते हैं
समय और मूल्य दोनों स्थितियों की निगरानी करने की आवश्यकता
इस रणनीति का उद्देश्य सरल प्रवेश अनुकूलन के माध्यम से बेहतर प्रवेश स्तर प्राप्त करना है जबकि यह सुनिश्चित करना है कि रुझानों को याद नहीं किया जाता है। लेकिन प्रतीक्षा समय और प्रवेश मानदंडों का अनुकूलन महत्वपूर्ण है।
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © dongyun //@version=4 strategy("等待一个更好的入场机会", overlay=true) period = input(20,'') maxwait = input(3,'') threshold = input(0.01,'') signal = 0 trend = 0.0 newtrend = 0.0 wait = 0.0 initialentry = 0.0 trend := sma(close,period) signal := nz(signal[1]) if trend > nz(trend[1]) signal := 1 else if trend < nz(trend[1]) signal := -1 wait := nz(wait[1]) initialentry := nz(initialentry[1]) if signal != signal[1] if strategy.position_size > 0 strategy.close('long',comment='trend sell') signal := -1 else if strategy.position_size < 0 strategy.close('short',comment='trend buy') signal := 1 wait := 0 initialentry := close else if signal != 0 and strategy.position_size == 0 wait := wait + 1 // test for better entry if strategy.position_size == 0 if wait >= maxwait if signal > 0 strategy.entry('long',strategy.long, comment='maxtime Long') else if signal < 0 strategy.entry('short',strategy.short, comment='maxtime Short') else if signal > 0 and close < initialentry - threshold strategy.entry('long',strategy.long, comment='delayed Long') else if signal < 0 and close > initialentry + threshold strategy.entry('short',strategy.short, comment='delayed short')