मूविंग एवरेज प्रवेश अनुकूलन रणनीति


निर्माण तिथि: 2023-09-14 16:52:30 अंत में संशोधित करें: 2023-09-14 16:52:30
कॉपी: 3 क्लिक्स: 618
1
ध्यान केंद्रित करना
1617
समर्थक

रणनीति सिद्धांत

यह रणनीति एक मूल गतिशील सम-रेखा प्रणाली पर आधारित है, जो सिग्नल के बाद विशिष्ट प्रवेश बिंदुओं के लिए अनुकूलित है।

मुख्य तर्क यह हैः

  1. एक निश्चित अवधि (जैसे 20 दिन) के लिए एक चलती औसत की गणना करें

  2. जब कीमत ऊपर की ओर जाती है, तो एक अधिक संकेत उत्पन्न होता है, और जब यह नीचे की ओर जाती है, तो एक शून्य संकेत

  3. सिग्नल मिलने के बाद, तुरंत प्रवेश करने के बजाय, बेहतर कीमत का इंतजार करें

  4. यदि एक निर्दिष्ट दिन (जैसे 3 दिन) के भीतर एक बेहतर मूल्य है, तो प्रवेश करें

  5. यदि नहीं, तो 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')