यह रणनीति ट्रेंड की दिशा की पहचान करने और रुझानों का अनुसरण करने के लिए वेवट्रेंड इंडिकेटर और चाइकिन मनी फ्लो (सीएमएफ) इंडिकेटर को जोड़ती है। यह 15 मिनट के समय सीमा पर चलता है, मूल्य प्रवृत्ति को निर्धारित करने के लिए वेवट्रेंड का उपयोग करता है और प्रवृत्ति की पुष्टि करने के लिए सीएमएफ, इस प्रकार अल्ट्रा अल्पकालिक प्रवृत्ति का कार्यान्वयन करता है।
वेवट्रेंड संकेतक प्रभावी रूप से कीमतों की प्रवृत्ति दिशा की पहचान कर सकता है। इसमें चैनल मिडलाइन, चैनल औसत और चैनल सूचकांक शामिल हैं। चैनल मिडलाइन कीमत का एक घातीय चलती औसत है, जो मूल्य प्रवृत्ति को दर्शाता है। चैनल औसत चैनल मिडलाइन का एक चलती औसत है, जिसका उपयोग चैनल मिडलाइन का पता लगाने के लिए किया जाता है। चैनल सूचकांक चैनल मिडलाइन से कीमत के विचलन की डिग्री को दर्शाता है और ओवरबॉट / ओवरसोल्ड सिग्नल उत्पन्न करता है।
CMF सूचक धन के प्रवाह और बहिर्वाह का न्याय कर सकता है और रुझानों की पुष्टि कर सकता है। यह सूचक खरीद और बिक्री शक्ति की तुलना को दर्शाते हुए, मात्रा द्वारा समायोजित संचय/वितरण रेखा पर आधारित है। 0 के आसपास का मान धन के प्रवाह और बहिर्वाह के बीच संतुलन को दर्शाता है। 0 से नीचे धन के प्रवाह को दर्शाता है और 0 से ऊपर धन के प्रवाह को दर्शाता है।
यह रणनीति 15 मिनट की समय सीमा पर चलती है। यह पहले मूल्य प्रवृत्ति दिशा निर्धारित करने के लिए वेवट्रेंड संकेतक का उपयोग करती है, फिर प्रवृत्तियों का पालन करने के लिए पुष्टि करने के लिए सीएमएफ संकेतक का उपयोग करती है। विशेष रूप से, जब वेवट्रेंड चैनल सूचकांक -60 से नीचे है और सीएमएफ -0.2 से कम है, तो यह लंबा हो जाता है। जब वेवट्रेंड चैनल सूचकांक 60 से ऊपर है और सीएमएफ 0.2 से अधिक है, तो यह छोटा हो जाता है। निकास की शर्तें मुख्य रूप से सीएमएफ संकेतक पर आधारित होती हैं - यह लंबी स्थिति बंद करती है जब सीएमएफ 0.18 से अधिक होता है, और छोटी स्थिति बंद करता है जब सीएमएफ -0.18 से कम होता है।
समाधान:
यह रणनीति ट्रेंड निर्धारित करने के लिए वेवट्रेंड और कन्फर्म करने के लिए सीएमएफ का उपयोग करती है, अल्ट्रा शॉर्ट-टर्म ट्रेंड फॉलो करने के लिए। इसके फायदे तर्कसंगत संकेतक संयोजन और प्रभावी ट्रेंड फॉलो करने में निहित हैं, जिसमें 15 मिनट का टाइमफ्रेम है जो इसे अल्पकालिक ट्रेडिंग के लिए उपयुक्त बनाता है। लेकिन जोखिम जैसे गलत सिग्नल और ओवरशॉर्ट होल्डिंग अवधि मौजूद हैं। स्टॉप लॉस, पैरामीटर ऑप्टिमाइजेशन और अधिक सिग्नल फ़िल्टरिंग जैसे भविष्य के सुधार इसकी स्थिरता और लाभप्रदता को और बढ़ा सकते हैं।
/*backtest start: 2023-11-08 00:00:00 end: 2023-11-15 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR) //Chaikin Money Flow len = input(20, minval=1, title="Length") mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"]) e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)") p = input(false, title="Show in Percentage") mvs = input(false, "Factor in Price (Money Volume)") src=input(hlc3, title="Source for price factor") trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price wv = pow(volume,e/10.0)*(mvs ? src : 1) ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na cmf_p = if p 50*cmf+50 else cmf b = p ? 50 : 0 //WaveTrend n1 = input(10, "Channel Length") n2 = input(21, "Average Length") obLevel1 = input(60, "Over Bought Level 1") obLevel2 = input(53, "Over Bought Level 2") osLevel1 = input(-60, "Over Sold Level 1") osLevel2 = input(-53, "Over Sold Level 2") ap = hlc3 esa = ema(ap, n1) d = ema(abs(ap - esa), n1) ci = (ap - esa) / (0.015 * d) tci = ema(ci, n2) wt1 = tci wt2 = sma(wt1,4) // longCondition = wt1 < -60 and cmf < - 0.20 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = wt1 > 60 and cmf > 0.20 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short) closeLongCondition = cmf_p > 0.18 ? true : false closeShortCondition = cmf_p < -0.18 ? true : false strategy.close("My Long Entry Id", when=(closeLongCondition == true)) strategy.close("My Short Entry Id", when=(closeShortCondition == true))