यह रणनीति दोगुने चलती औसत क्रॉसओवर और स्टोकास्टिक ऑसिलेटर को कुशल अल्पकालिक व्यापार के लिए प्रवृत्ति उलट अवसरों की पहचान करने के लिए जोड़ती है। यह मध्यम अवधि के रुझानों के उलट को पकड़ने के लिए, जब कीमत ओवरबॉट क्षेत्र में प्रवेश करती है तो यह छोटी जाती है और जब कीमत ओवरसोल्ड क्षेत्र में प्रवेश करती है तो लंबी जाती है।
यह रणनीति डबल मूविंग एवरेज क्रॉसओवर और स्टोकैस्टिक ऑसिलेटर के संयोजन पर आधारित है।
डबल मूविंग एवरेज क्रॉसओवर में फास्ट मूविंग एवरेज, स्लो मूविंग एवरेज और अल्ट्रास्लो मूविंग एवरेज होते हैं। जब फास्ट एमए स्लो एमए से ऊपर जाता है, तो यह एक खरीद संकेत होता है। जब फास्ट एमए स्लो एमए से नीचे जाता है, तो यह एक बिक्री संकेत होता है। डबल एमए क्रॉसओवर मध्यम अवधि के रुझान उलट बिंदुओं की पहचान कर सकता है।
स्टोकैस्टिक ऑसिलेटर में %K और %D मान होते हैं। %K से पता चलता है कि वर्तमान क्लोजर पिछले N दिनों के उच्चतम और निम्नतम मूल्य के सापेक्ष कहाँ है। %D %K का M-दिन का सरल चलती औसत है। 80 से ऊपर के मान का अर्थ है ओवरबॉट स्तर और 20 से नीचे के मान का अर्थ है ओवरसोल्ड स्तर। स्टोकैस्टिक ऑसिलेटर अल्पकालिक ओवरबोल्ड/ओवरसोल्ड ज़ोन की पहचान कर सकता है।
यह रणनीति डबल एमए क्रॉसओवर और स्टोकैस्टिक ऑसिलेटर को जोड़ती है। यह डबल एमए क्रॉसओवर से ट्रेंड रिवर्स सिग्नल की तलाश करता है जब स्टोकैस्टिक ओवरबॉट / ओवरसोल्ड स्तर दिखाता है। इसका उद्देश्य अल्पकालिक ट्रेंड रिवर्स को पकड़ना है।
इस रणनीति के फायदे:
मध्यम और अल्पकालिक रुझान उलटों दोनों की पहचान करने के लिए डबल एमए क्रॉसओवर और स्टोकैस्टिक ऑसिलेटर का संयोजन।
अधिक प्रभावी डबल एमए क्रॉसओवर रिवर्सल ट्रेडों का चयन करने के लिए स्टोकेस्टिक ओवरबॉट/ओवरसोल्ड सिग्नल का उपयोग करना।
स्पष्ट व्यापार नियम लागू करने में आसान।
विभिन्न उत्पादों और समय अवधि के लिए अनुकूल समायोज्य व्यापार समय और महीने के पैरामीटर।
जोखिमों को नियंत्रित करने के लिए हानि रोकें।
इस रणनीति के जोखिमः
डबल एमए में झूठे ब्रेकआउट हो सकते हैं. स्टोकास्टिक में अमान्य बुल/बियर विचलन हो सकते हैं, जिससे गलत ट्रेड सिग्नल हो सकते हैं. कॉम्बो की पुष्टि के लिए फाइन ट्यून पैरामीटर या अन्य संकेतक जोड़ें.
केवल तकनीकी संकेतकों पर आधारित है, मौलिक बातों पर विचार किए बिना। प्रमुख आर्थिक घटनाओं पर विफल हो सकता है। आर्थिक घटना जोखिम नियंत्रण जोड़ें।
सटीक एमए रिवर्सल टाइमिंग का पता लगाना मुश्किल है, स्टॉप बहुत तंग या बहुत चौड़े होने के मुद्दे हो सकते हैं। स्टॉप लॉस रणनीति का अनुकूलन करें।
अनुचित पैरामीटर सेटिंग्स से ओवर-ट्रेडिंग या खराब सिग्नल गुणवत्ता हो सकती है। बैकटेस्टिंग के माध्यम से विभिन्न उत्पादों और समय सीमाओं के लिए पैरामीटर का अनुकूलन करें।
केवल अल्पकालिक व्यापार के लिए उपयुक्त, दीर्घकालिक होल्डिंग नहीं। नियंत्रण स्थिति आकार।
इस रणनीति को कई पहलुओं में अनुकूलित किया जा सकता हैः
सिग्नल वैधता में सुधार के लिए KDJ, MACD आदि जैसे अधिक संकेतक संयोजनों का परीक्षण करें।
झूठे ब्रेकआउट से बचने के लिए ट्रेडिंग वॉल्यूम विश्लेषण जोड़ें।
अधिक सटीक उलट बिंदुओं की पहचान करने के लिए डबल एमए मापदंडों का अनुकूलन करें।
स्टॉप लॉस रणनीति को अनुकूलित करें ताकि स्टॉप आउट होने की संभावना कम हो सके।
आर्थिक घटना जोखिम नियंत्रण मॉड्यूल जोड़ें ताकि प्रमुख घटनाओं के प्रभावों से बचा जा सके।
बेहतर अनुकूलन क्षमता के लिए मापदंडों को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग तकनीकों का उपयोग करें।
सर्वोत्तम अनुप्रयोगों को खोजने के लिए अधिक उत्पादों और समय सीमाओं पर बैकटेस्ट करें।
यह रणनीति डबल एमए क्रॉसओवर और स्टोकैस्टिक बुल/बियर विचलन द्वारा पहचाने जाने वाले मध्यम अवधि के रुझान उलट बिंदुओं पर व्यापार करती है। एक एकल संकेतक का उपयोग करने की तुलना में, यह स्पष्ट नियमों के साथ व्यापार लाभप्रदता में सुधार कर सकती है। लेकिन इसमें ऐसे जोखिम भी हैं जिनके लिए पैरामीटर और स्टॉप लॉस अनुकूलन, और अधिक फिल्टर और जोखिम नियंत्रण की आवश्यकता होती है। कुल मिलाकर यह एक विश्वसनीय, मध्यम आवृत्ति वाली अल्पकालिक ट्रेडिंग रणनीति है।
/*backtest start: 2022-10-26 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Intraday Stochiastic Strategy", shorttitle="Intraday Stochiastic Strategy", overlay=true, initial_capital = 1000) //WORKS FOR BTCUSD M30 //OBVERVED GOOD PERFORMANCES FOR SELL MODE M15 : US30USD / UK100GBP / JP225USD / SPX500USD / BCOUSD / EURGBP //Best Forex Hours are 7-21 //0 is Long Position //1 is Short Position //2 No position mode=input(1, maxval=2, title="Mode") lossLimit=input(10000, maxval=10000, title="Loss Limit") hourStart=input(2, maxval=24, title="Hour Start") hourStop=input(13, maxval=24, title="Hour Stop") //Month selected for back testing. 0 is maximum number of months monthSelected = input(0, maxval=12, title="Month Selected") ///////////////////////////////////////////////// fast = 20, slow = 50, ultraSlow = 200 fastMA = sma(close, fast) slowMA = sma(close, slow) ultraSlowMA = sma(close, ultraSlow) colorFast = red colorSlow = black colorUltraSlowMA = purple if(timeframe.period == "1" or timeframe.period == "3" or timeframe.period == "5" or timeframe.period == "15" or timeframe.period == "30" or timeframe.period == "45" or timeframe.period == "60" or timeframe.period == "120" or timeframe.period == "180" or timeframe.period == "240") fastMA := ema(close, fast) slowMA := ema(close, slow) ultraSlowMA := ema(close, ultraSlow) colorFast := orange colorSlow := gray colorUltraSlowMA := blue p1 = plot(fastMA, color=colorFast) p2 = plot(slowMA, color=colorSlow, linewidth=2) p3 = plot(ultraSlowMA, color=colorUltraSlowMA, linewidth=3) fill(p1, p2, color = fastMA > slowMA ? green : red) //////////////////////////////////////////////// ema150 = 200 ema150MA = ema(close, ema150) smooth = input(3, minval=1), K = input(14, minval=1), D=input(3,minval=1) hh=highest(high,K) ll=lowest(low,K) k = sma((close-ll)/(hh-ll)*100, smooth) d = sma(k, 3) //plot(k, color=blue) //plot(d, color=red) //h0 = hline(80) //h1 = hline(20) //fill(h0, h1, color=purple, transp=95) //plot(hour*100, color=red, linewidth=2) stochiasticHigh = 80 stochiasticLow = 20 data = close < ema150MA and k>stochiasticHigh and d>stochiasticHigh and close>open plotshape(data, style=shape.triangledown, location=location.belowbar, color=red) data2 = close > ema150MA and k<stochiasticLow and d<stochiasticLow and close<open plotshape(data2, style=shape.triangleup, location=location.abovebar, color=green) isData = 0 isData := isData[1] if(isData == 0) if(data) if(mode==1 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) //DOW hours : 2-13 strategy.entry("SCALP SHORT", strategy.short) isData := 1 else if(k<stochiasticLow and d<stochiasticLow) if(mode==1) strategy.close_all(when = true) isData := 0 isData2 = 0 isData2 := isData2[1] if(isData2 == 0) if(data2) if(mode==0 and hour>hourStart and hour<hourStop and (monthSelected==0 or month==monthSelected)) strategy.entry("SCALP LONG", strategy.long) isData2 := 1 else if(k>stochiasticHigh and d>stochiasticHigh) if(mode==0) strategy.close_all(when = true) isData2 := 0 strategy.exit("STOP LOSS", "SCALP LONG", loss=lossLimit) strategy.exit("STOP LOSS", "SCALP SHORT", loss=lossLimit)