ओबीवी पिरामिड रणनीति Coinrule स्क्रिप्ट पर आधारित

लेखक:चाओझांग, दिनांक: 2023-12-08 15:58:29
टैगः

img

अवलोकन

इस रणनीति को OBV पिरामिड कहा जाता है। यह OBV संकेतक के आधार पर पदों को खोलने का डिज़ाइन करता है और उभरने के बाद लाभ के लिए रुझानों को ट्रैक करने के लिए पिरामिड बढ़ते पद दृष्टिकोण को अपनाता है।

सिद्धांत

यह रणनीति प्रवृत्ति की दिशा निर्धारित करने के लिए ओबीवी संकेतक का उपयोग करती है। ओबीवी संकेतक ट्रेडिंग वॉल्यूम में परिवर्तन के आधार पर मूल्य प्रवृत्तियों का न्याय करता है, क्योंकि वॉल्यूम में बदलाव बाजार प्रतिभागियों के दृष्टिकोण को दर्शाते हैं। जब ओबीवी रेखा 0 से ऊपर जाती है, तो यह क्रय शक्ति को मजबूत करने और एक अपट्रेंड बनाने का संकेत देती है। जब 0 से नीचे जाती है, तो यह बिक्री दबाव को मजबूत करने और एक डाउनट्रेंड का संकेत देती है।

यह रणनीति 0 से ऊपर के OBV क्रॉसिंग द्वारा एक अपट्रेंड की पुष्टि करती है। जब एक अपट्रेंड बनता है, तो पिरामिड बढ़ते पद नियम सेट किए जाते हैं, जिससे 7 अतिरिक्त खरीद की अनुमति मिलती है। इसका उद्देश्य प्रवृत्ति से लाभ प्राप्त करना है जबकि लाभ लेने और स्टॉप लॉस की स्थापना होती है।

लाभ विश्लेषण

इस रणनीति का सबसे बड़ा लाभ पिरामिड दृष्टिकोण का उपयोग करके रुझानों को पकड़ना है ताकि रुझानों को ट्रैक किया जा सके और उनसे लाभ हो सके। इसके अलावा, लाभ लेने और स्टॉप लॉस सेटिंग्स के साथ ठोस जोखिम नियंत्रण है।

विशेष रूप से, मुख्य लाभ निम्नलिखित हैंः

  1. ओबीवी का उपयोग करके सटीक रुझान आकलन;
  2. लाभ के लिए रुझानों को ट्रैक करने के लिए पिरामिड खरीदना;
  3. लाभ/स्टॉप लॉस नियंत्रण जोखिम लेना;
  4. सरल और स्पष्ट तर्क।

जोखिम विश्लेषण

मुख्य जोखिम दो पहलुओं से आते हैंः

  1. गलत OBV सिग्नल जिससे चूकने वाले अवसर या गलत प्रविष्टियां हो सकती हैं;
  2. बहुत अधिक अतिरिक्त खरीद जोखिम बढ़ाती है।

समाधान:

  1. सटीकता सुनिश्चित करने के लिए ओबीवी मापदंडों को अनुकूलित करना;
  2. नियंत्रित जोखिम के लिए अतिरिक्त खरीद को उचित रूप से सीमित करें।

अनुकूलन दिशाएँ

मुख्य अनुकूलन दिशाएं:

  1. उच्च सटीकता के लिए OBV पैरामीटर अनुकूलन;
  2. अतिरिक्त खरीदों की संख्या और राशि का अनुकूलन;
  3. लाभ/रोक हानि अनुकूलन;
  4. केवल ओबीवी पर निर्भरता से बचने के लिए अन्य संकेतकों को शामिल करना।

यह रणनीति को अधिक स्थिर, नियंत्रित और विस्तार योग्य बना सकता है।

निष्कर्ष

कुल मिलाकर यह एक बहुत ही व्यावहारिक रणनीति है। यह प्रवृत्ति की दिशा निर्धारित करने के लिए ओबीवी का उपयोग करता है, फिर लाभ के लिए प्रवृत्ति में पिरामिड करता है। तर्क आसान बैकटेस्टिंग के लिए सरल और स्पष्ट है। इसका लागू करने योग्य मूल्य है और आगे पैरामीटर, जोखिम और धन प्रबंधन अनुकूलन के साथ, प्रदर्शन में और सुधार हो सकता है, अतिरिक्त शोध की आवश्यकता है।


/*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)
    


अधिक