इस रणनीति को
यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए ओबीवी संकेतक का उपयोग करती है। ओबीवी संकेतक ट्रेडिंग वॉल्यूम में परिवर्तन के आधार पर मूल्य प्रवृत्तियों का न्याय करता है, क्योंकि वॉल्यूम में बदलाव बाजार प्रतिभागियों के दृष्टिकोण को दर्शाते हैं। जब ओबीवी रेखा 0 से ऊपर जाती है, तो यह क्रय शक्ति को मजबूत करने और एक अपट्रेंड बनाने का संकेत देती है। जब 0 से नीचे जाती है, तो यह बिक्री दबाव को मजबूत करने और एक डाउनट्रेंड का संकेत देती है।
यह रणनीति 0 से ऊपर के OBV क्रॉसिंग द्वारा एक अपट्रेंड की पुष्टि करती है। जब एक अपट्रेंड बनता है, तो पिरामिड बढ़ते पद नियम सेट किए जाते हैं, जिससे 7 अतिरिक्त खरीद की अनुमति मिलती है। इसका उद्देश्य प्रवृत्ति से लाभ प्राप्त करना है जबकि लाभ लेने और स्टॉप लॉस की स्थापना होती है।
इस रणनीति का सबसे बड़ा लाभ पिरामिड दृष्टिकोण का उपयोग करके रुझानों को पकड़ना है ताकि रुझानों को ट्रैक किया जा सके और उनसे लाभ हो सके। इसके अलावा, लाभ लेने और स्टॉप लॉस सेटिंग्स के साथ ठोस जोखिम नियंत्रण है।
विशेष रूप से, मुख्य लाभ निम्नलिखित हैंः
मुख्य जोखिम दो पहलुओं से आते हैंः
समाधान:
मुख्य अनुकूलन दिशाएं:
यह रणनीति को अधिक स्थिर, नियंत्रित और विस्तार योग्य बना सकता है।
कुल मिलाकर यह एक बहुत ही व्यावहारिक रणनीति है। यह प्रवृत्ति की दिशा निर्धारित करने के लिए ओबीवी का उपयोग करता है, फिर लाभ के लिए प्रवृत्ति में पिरामिड करता है। तर्क आसान बैकटेस्टिंग के लिए सरल और स्पष्ट है। इसका लागू करने योग्य मूल्य है और आगे पैरामीटर, जोखिम और धन प्रबंधन अनुकूलन के साथ, प्रदर्शन में और सुधार हो सकता है, अतिरिक्त शोध की आवश्यकता है।
/*backtest start: 2023-11-07 00:00:00 end: 2023-12-07 00:00:00 period: 1h basePeriod: 15m 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/ // © RafaelZioni //@version=4 strategy(title = " OBV Pyr", overlay = true, pyramiding=5,initial_capital = 10000, default_qty_type= strategy.percent_of_equity, default_qty_value = 20, calc_on_order_fills=false, slippage=0,commission_type=strategy.commission.percent,commission_value=0.075) strat_dir_input = input(title="Strategy Direction", defval="long", options=["long", "short", "all"]) strat_dir_value = strat_dir_input == "long" ? strategy.direction.long : strat_dir_input == "short" ? strategy.direction.short : strategy.direction.all strategy.risk.allow_entry_in(strat_dir_value) // fastLength = input(250, title="Fast filter length ", minval=1) slowLength = input(500,title="Slow filter length", minval=1) source=close v1=ema(source,fastLength) v2=ema(source,slowLength) // filter=true src = close LengthOBV = input(20) nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume c = cum(nv) c_tb = c - sma(c,LengthOBV) // Conditions longCond = crossover(c_tb,0) //shortCond =crossunder(cnv_tb,0) // longsignal = (v1 > v2 or filter == false ) and longCond //shortsignal = (v1 < v2 or filter == false ) and shortCond //set take profit ProfitTarget_Percent = input(3) Profit_Ticks = close * (ProfitTarget_Percent / 100) / syminfo.mintick //set take profit LossTarget_Percent = input(10) Loss_Ticks = close * (LossTarget_Percent / 100) / syminfo.mintick ////Order Placing // strategy.entry("Entry 1", strategy.long, when=strategy.opentrades == 0 and longsignal) // strategy.entry("Entry 2", strategy.long, when=strategy.opentrades == 1 and longsignal) // strategy.entry("Entry 3", strategy.long, when=strategy.opentrades == 2 and longsignal) // strategy.entry("Entry 4", strategy.long, when=strategy.opentrades == 3 and longsignal) // strategy.entry("Entry 5", strategy.long, when=strategy.opentrades == 4 and longsignal) // strategy.entry("Entry 6", strategy.long, when=strategy.opentrades == 5 and longsignal) // strategy.entry("Entry 7", strategy.long, when=strategy.opentrades == 6 and longsignal) // // // if strategy.position_size > 0 strategy.exit(id="Exit 1", from_entry="Entry 1", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 2", from_entry="Entry 2", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 3", from_entry="Entry 3", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 4", from_entry="Entry 4", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 5", from_entry="Entry 5", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 6", from_entry="Entry 6", profit=Profit_Ticks, loss=Loss_Ticks) strategy.exit(id="Exit 7", from_entry="Entry 7", profit=Profit_Ticks, loss=Loss_Ticks)