यह रणनीति एक मूल गतिशील सम-रेखा प्रणाली पर आधारित है, जो सिग्नल के बाद विशिष्ट प्रवेश बिंदुओं के लिए अनुकूलित है।
मुख्य तर्क यह हैः
एक निश्चित अवधि (जैसे 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')