यह रणनीति ट्रेडों में प्रवेश करने और बाहर निकलने के लिए एक संकेत के रूप में दैनिक समय सीमा से VWAP (वॉल्यूम वेटेड एवरेज प्राइस) का उपयोग करती है। जब बंद कीमत VWAP से ऊपर जाती है, तो यह पिछले कैंडल के निचले स्तर पर सेट स्टॉप लॉस के साथ लंबी प्रविष्टि को ट्रिगर करती है यदि यह VWAP से नीचे है, और लक्ष्य मूल्य प्रवेश मूल्य से 3 अंक ऊपर सेट है। इसके विपरीत, जब बंद कीमत VWAP से नीचे जाती है, तो यह पिछले कैंडल के उच्च स्तर पर सेट स्टॉप लॉस के साथ एक छोटी प्रविष्टि को ट्रिगर करती है यदि यह VWAP से ऊपर है, और लक्ष्य मूल्य प्रवेश मूल्य से 3 अंक नीचे सेट है। इस रणनीति में एक निकास शर्त शामिल नहीं है, इसलिए विपरीत संकेत होने तक ट्रेड खुले रहते हैं।
ट्रेंड निर्धारित करने के लिए क्रॉस टाइमफ्रेम वीडब्ल्यूएपी डेटा का उपयोग करके और गतिशील स्टॉप लॉस और फिक्स्ड-पॉइंट टेक प्रॉफिट का लाभ उठाते हुए, रणनीति प्रभावी रूप से ट्रेंडिंग बाजारों को पकड़ सकती है, ड्रॉडाउन जोखिमों को नियंत्रित कर सकती है, और समय पर मुनाफे को लॉक कर सकती है।
यह रणनीति ट्रेंड निर्धारण और सिग्नल ट्रिगरिंग के लिए क्रॉस-टाइमफ्रेम वीडब्ल्यूएपी डेटा का उपयोग करती है जबकि जोखिमों को नियंत्रित करने और लाभों में लॉक करने के लिए गतिशील स्टॉप लॉस और फिक्स्ड-पॉइंट टेक प्रॉफिट का उपयोग करती है। यह एक सरल और प्रभावी मात्रात्मक ट्रेडिंग रणनीति है। ट्रेंड फिल्टरिंग, गतिशील टेक प्रॉफिट, स्थिति आकार और ट्रेडिंग सत्र चयन में अनुकूलन के माध्यम से, रणनीति की मजबूती और लाभ क्षमता को और बढ़ाया जा सकता है। हालांकि, अभ्यास में रणनीति लागू करते समय, बेहतर प्रदर्शन रणनीति प्राप्त करने के लिए बाजार की विशेषताओं, ट्रेडिंग लागत और पैरामीटर अनुकूलन पर ध्यान दिया जाना चाहिए।
/*backtest start: 2024-03-06 00:00:00 end: 2024-03-07 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity) // fastEMA = ta.ema(close, 24) // slowEMA = ta.ema(close, 200) // Higher Time Frame float sl = na float tgt = na posSize = 1 vwap_1d = request.security(syminfo.tickerid, "1D", ta.vwap(close)) // plot(vwap_1d) // To avoid differences on historical and realtime bars, you can use this technique, which only returns a value from the higher timeframe on the bar after it completes: // indexHighTF = barstate.isrealtime ? 1 : 0 // indexCurrTF = barstate.isrealtime ? 0 : 1 // nonRepaintingVWAP = request.security(syminfo.tickerid, "1D", close[indexHighTF])[indexCurrTF] // plot(nonRepaintingVWAP, "Non-repainting VWAP") enterLong = ta.crossover(close, vwap_1d) exitLong = ta.crossunder(close, vwap_1d) enterShort = ta.crossunder(close, vwap_1d) exitShort = ta.crossover(close, vwap_1d) if enterLong sl := low[1]>vwap_1d ?low[1]:vwap_1d tgt:=close+3 strategy.entry("EL", strategy.long, qty=posSize) strategy.exit('exitEL', 'EL', stop=sl, limit=tgt) if enterShort sl := high[1]<vwap_1d ?high[1]:vwap_1d tgt := close-3 strategy.entry("ES", strategy.short, qty=posSize) strategy.exit('exitES', 'ES', stop=sl, limit=tgt) // if exitLong // strategy.close("EL") // if exitShort // strategy.close("ES") // goLongCondition1 = ta.crossover(close, vwap_1d) // timePeriod = time >= timestamp(syminfo.timezone, 2021, 01, 01, 0, 0) // notInTrade = strategy.position_size <= 0 // if goLongCondition1 and timePeriod and notInTrade // stopLoss = low[1] // takeProfit = close+3 // strategy.entry('long', strategy.long) // strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit) plot(close, color=color.new(#00c510, 0)) plot(vwap_1d, color=color.new(#f05619, 0)) plot(sl, color=color.new(#fbff00, 0)) plot(tgt, color=color.new(#00e1ff, 0))