यह दोहरी चलती औसत पर आधारित एक सरल इंट्राडे ट्रेडिंग रणनीति है। यह अलग-अलग अवधि के साथ दो सरल चलती औसत का उपयोग करता है और चलती औसत पार होने पर लंबी या छोटी स्थिति लेता है। सिग्नल परिवर्तन होने पर स्थिति को दोहरी मात्रा का उपयोग करके उलट दिया जाता है। सभी खुली स्थिति इंट्राडे सत्र समाप्त होने पर स्क्वायर ऑफ होती है।
यह रणनीति एक 10-दिवसीय और 40-दिवसीय सरल चलती औसत का उपयोग करती है। यह तब लंबी होती है जब छोटी अवधि की चलती औसत लंबी अवधि के ऊपर पार करती है और रिवर्स क्रॉसओवर होने पर छोटी हो जाती है। जब सिग्नल बदलता है, तो स्थिति डबल मात्रा का उपयोग करके बंद हो जाती है और एक रिवर्स स्थिति शुरू की जाती है। व्यापार केवल एक परिभाषित इंट्राडे सत्र के दौरान चलती औसत संकेतों के बाद होता है। कोई भी खुली स्थिति शेष सत्र समाप्त होने पर स्क्वायर ऑफ हो जाती है।
यह रणनीति मुख्य रूप से कम अवधि के चलती औसत की तेजी से मूल्य परिवर्तन कैप्चर करने की क्षमता का उपयोग करती है। जब लघु एसएमए लंबे एसएमए से ऊपर जाता है, तो यह अल्पकालिक में कीमतों में एक अपट्रेंड का संकेत देता है इसलिए लंबा जाना इसे पकड़ सकता है। रिवर्स एक अल्पकालिक डाउनट्रेंड का संकेत देता है। डबल मात्रा रिवर्स प्रविष्टि लाभ क्षमता का विस्तार करती है।
जोखिम को कम करना:
सर्वोत्तम फिट के लिए अधिक संयोजनों का परीक्षण करके एमए मापदंडों का अनुकूलन करें।
झूठे संकेतों को कम करने के लिए MACD पुष्टि जैसे फ़िल्टर जोड़ें।
पैरामीटर ट्यूनिंग के माध्यम से रिवर्स एंट्री मात्रा गुणक को अनुकूलित करें।
बेहतर रिटर्न के लिए इंट्रा-डे सत्र की अवधि का विस्तार करने का परीक्षण करें।
यह रणनीति एमए क्रॉसओवर संकेतों से बने अल्पकालिक रुझानों को पकड़ती है, डबल मात्रा रिवर्स ट्रेडिंग का उपयोग करके लाभ का विस्तार करती है और केवल एक इंट्राडे सत्र में ट्रेडिंग करके ओवरनाइट जोखिमों को सीमित करती है। मापदंडों पर आगे के अनुकूलन और फ़िल्टर जोड़ने से रणनीति प्रदर्शन में सुधार हो सकता है। कुल मिलाकर, यह इंट्राडे ट्रेडिंग के लिए उपयुक्त एक प्रभावी रणनीति है।
/*backtest start: 2024-02-19 00:00:00 end: 2024-02-26 00:00:00 period: 1m basePeriod: 1m 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/ // © Pritesh-StocksDeveloper //@version=4 strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", overlay=true, calc_on_every_tick = true) // Used for intraday handling // Session value should be from market start to the time you want to square-off // your intraday strategy var i_marketSession = input(title="Market session", type=input.session, defval="0915-1455", confirm=true) // Short & Long moving avg. period var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, defval = 10, minval = 2, maxval = 20, confirm=true) var int i_longPeriod = input(title = "Long MA Period", type = input.integer, defval = 40, minval = 3, maxval = 120, confirm=true) // A function to check whether the bar is in intraday session barInSession(sess) => time(timeframe.period, sess) != 0 // Calculate moving averages shortAvg = sma(close, i_shortPeriod) longAvg = sma(close, i_longPeriod) // Plot moving averages plot(series = shortAvg, color = color.red, title = "Short MA", linewidth = 2) plot(series = longAvg, color = color.blue, title = "Long MA", linewidth = 2) // Long/short condition longCondition = crossover(shortAvg, longAvg) shortCondition = crossunder(shortAvg, longAvg) // See if intraday session is active bool intradaySession = barInSession(i_marketSession) // Trade only if intraday session is active // Long position strategy.entry(id = "Long", long = strategy.long, when = longCondition and intradaySession) // Short position strategy.entry(id = "Short", long = strategy.short, when = shortCondition and intradaySession) // Square-off position (when session is over and position is open) squareOff = (not intradaySession) and (strategy.position_size != 0) strategy.close_all(when = squareOff, comment = "Square-off")