चलती औसत प्रवेश अनुकूलन रणनीति

लेखक:चाओझांग, दिनांक: 2023-09-14 16:52:30
टैगः

रणनीति तर्क

यह रणनीति मूल चलती औसत प्रणाली के संकेतों के बाद प्रवेश बिंदुओं को अनुकूलित करती है।

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

  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')


अधिक