यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए संकेतक के रूप में VWAP और EMA का उपयोग करती है। यह लंबी जाती है जब कीमत VWAP और EMA200 दोनों से ऊपर होती है, और छोटी जाती है जब कीमत VWAP और EMA200 दोनों से नीचे होती है। यह एक विशिष्ट प्रवृत्ति के बाद की रणनीति है।
रणनीति का मूल तर्क मूल्य प्रवृत्ति का आकलन करने के लिए वीडब्ल्यूएपी और ईएमए का उपयोग करने में निहित है।
वीडब्ल्यूएपी विशिष्ट मूल्य का प्रतिनिधित्व करता है और बाजार के प्रतिभागियों की औसत लागत को दर्शाता है। जब मूल्य वीडब्ल्यूएपी से ऊपर होता है, तो इसका मतलब है कि क्रय शक्ति बढ़ जाती है और लंबी होनी चाहिए। जब मूल्य वीडब्ल्यूएपी से नीचे होता है, तो इसका मतलब है कि विक्रय शक्ति मजबूत होती है और छोटी होनी चाहिए।
ईएमए200 मूल्य की मध्यम-लंबी अवधि की प्रवृत्ति का प्रतिनिधित्व करता है। जब मूल्य ईएमए200 से ऊपर होता है, तो इसका मतलब है कि मध्यम-लंबी अवधि का दृष्टिकोण तेजी से बढ़ रहा है और लंबा होना चाहिए। जब मूल्य ईएमए200 से नीचे होता है, तो इसका मतलब है कि मध्यम-लंबी अवधि का दृष्टिकोण मंदी है और छोटा होना चाहिए।
इसलिए, यह रणनीति सबसे पहले यह तय करती है कि क्या कीमत VWAP और EMA200 दोनों से ऊपर है, यदि हां तो लंबी हो; यदि कीमत VWAP और EMA200 दोनों से नीचे है, तो छोटी हो। हम देख सकते हैं कि यह रणनीति मुख्य रूप से व्यापार निर्णय लेने के लिए VWAP और EMA पर निर्भर करती है।
इसके अतिरिक्त, रणनीति लाभ लेने और स्टॉप लॉस अंक भी निर्धारित करती है। लंबे समय तक जाने के बाद, टीपी को प्रवेश मूल्य का 3.5% और एसएल को प्रवेश मूल्य का 1.4% पर सेट किया जाता है। छोटे जाने के बाद, टीपी प्रवेश मूल्य का 2.5% और एसएल प्रवेश मूल्य का 0.9% है। इससे भारी नुकसान से बचा जाता है।
इस रणनीति का सबसे बड़ा लाभ यह है कि रुझानों को निर्धारित करने के लिए वीडब्ल्यूएपी और ईएमए का उपयोग करना बहुत विश्वसनीय है।
इसके अतिरिक्त, टीपी/एसएल निर्धारित करने से प्रति व्यापार अत्यधिक हानि से बचा जा सकता है।
इस रणनीति का मुख्य जोखिम यह है कि वीडब्ल्यूएपी और ईएमए गलत संकेत दे सकते हैं।
इसके अलावा, अनुचित टीपी/एसएल सेटिंग्स अभी भी प्रति व्यापार अत्यधिक नुकसान का जोखिम पैदा करती हैं।
उपरोक्त मुद्दों को हल करने के लिए, हम VWAP और EMA के मापदंडों को अनुकूलित कर सकते हैं ताकि उन्हें नए रुझानों की शुरुआत का पता लगाने में बेहतर बनाया जा सके।
इस रणनीति को बढ़ाने के मुख्य पहलू:
निष्कर्ष में, यह एक बहुत ही विश्वसनीय प्रवृत्ति निम्नलिखित रणनीति है। यह प्रवृत्ति दिशाओं को निर्धारित करने के लिए वीडब्ल्यूएपी और ईएमए के सरल तर्क का उपयोग करता है। जब दोनों संकेतक सुसंगत संकेत देते हैं, तो सफलता दर बहुत अधिक होती है। उचित टीपी / एसएल सेट करके, जोखिम को नियंत्रित किया जा सकता है। इस रणनीति को और बेहतर बनाने और इसके प्रदर्शन को और बेहतर बनाने के लिए अभी भी कई तरीके (पैरामीटर अनुकूलन, संकेतक जोड़ना, अनुकूलन टीपी / एसएल, स्थिति आकार आदि) हैं।
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //26m Binance BTCUSDTPERP //@version=4 strategy("VWAP Trend Follower", initial_capital=100, overlay=true, commission_type=strategy.commission.percent, commission_value=0.04, default_qty_type = strategy.percent_of_equity, default_qty_value = 90, currency = currency.USD ) /// INITIALISE STRATEGY /// price=close[1] vprice=vwap(price) trend=ema(price, 200) /// RISK MANAGEMENT /// long_tp_inp = input(3.5, title='Long Take Profit %',step=0.1)/100 long_sl_inp = input(1.4, title='Long Stop Loss %',step=0.1)/100 short_tp_inp = input(2.5, title='Short Take Profit %',step=0.1)/100 short_sl_inp = input(0.9, title='Short Stop Loss %',step=0.1)/100 long_take_level = strategy.position_avg_price * (1 + long_tp_inp) long_stop_level = strategy.position_avg_price * (1 - long_sl_inp) short_take_level = strategy.position_avg_price * (1 - short_tp_inp) short_stop_level = strategy.position_avg_price * (1 + short_sl_inp) //long_trailing = input(5, title='Trailing Stop Long',step=0.1) / 100 //short_trailing = input(5, title='Trailing Stop short',step=0.1) / 100 /// STRATEGY CONDITIONS /// aLong= price > trend and price > vprice entry_long = aLong and aLong[2] and aLong[1] aShort= price < trend and price < vprice entry_short = aShort and aShort[2] and aShort[1] //exit_long = //exit_short = //entry_price_long=valuewhen(entry_long,close,0) //entry_price_short=valuewhen(entry_short,close,0) /// PLOTTING /// plot(vprice, color=#5875E1, linewidth=2) plot(trend, color=#D965E1, linewidth=1) plotshape(series=aLong, color=#71E181,style=shape.labelup) plotshape(series=aShort, color=#E18BA5,style=shape.labeldown) //plot(long_take_level, color=#00E676, linewidth=2) //plot(long_stop_level, color=#FF5252, linewidth=1) //plot(short_take_level, color=#4CAF50, linewidth=2) //plot(short_stop_level, color=#FF5252, linewidth=1) /// PERIOD /// testStartYear = input(2019, "Backtest Start Year") testStartMonth = input(1, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2020, "Backtest Stop Year") testStopMonth = input(12, "Backtest Stop Month") testStopDay = input(31, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => true //// STRATEGY EXECUTION //// if testPeriod() if strategy.position_size == 0 or strategy.position_size > 0 strategy.entry(id="Long", long=true, when=entry_long, comment="Long") strategy.exit("Take Profit/ Stop Loss","Long", limit=long_take_level, stop=long_stop_level,comment="Exit Long")//,trail_points=entry_price_long * long_trailing / syminfo.mintick, trail_offset=entry_price_long * long_trailing / syminfo.mintick) // strategy.close(id="Long", when=exit_long, comment = "Exit Long") if strategy.position_size == 0 or strategy.position_size < 0 strategy.entry(id="Short", long=false, when=entry_short, comment = "Short") strategy.exit("Take Profit/ Stop Loss","Short", limit=short_take_level , stop=short_stop_level,comment = "Exit Short")//, trail_points=entry_price_short * short_trailing / syminfo.mintick, trail_offset=entry_price_short * short_trailing / syminfo.mintick) // strategy.close(id="Short", when=exit_short, comment = "Exit Short")