डबल बॉटम रिवर्सल मूविंग एवरेज डीसीए ग्रिड रणनीति


निर्माण तिथि: 2024-02-20 11:09:33 अंत में संशोधित करें: 2024-02-20 11:09:33
कॉपी: 3 क्लिक्स: 839
1
ध्यान केंद्रित करना
1617
समर्थक

डबल बॉटम रिवर्सल मूविंग एवरेज डीसीए ग्रिड रणनीति

अवलोकन

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

रणनीति सिद्धांत

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

विशेष रूप से, सबसे पहले ta.atr के माध्यम से नवीनतम 14 K लाइनों के लिए एटीआर सूचकांक की गणना करें, और फिर नवीनतम 5 K लाइनों के साथ मूल्य उतार-चढ़ाव की गणना करें, जो कि ग्रिड स्पेस को निर्धारित करने के लिए मुख्य पैरामीटर है। ग्रिड स्पेस को 4 मूल्य बिंदुओं में विभाजित किया गया है, क्रमशः नीचे की कीमत + उतार-चढ़ाव की दर, नीचे की कीमत + 0.75 गुना उतार-चढ़ाव की दर, और इसी तरह। जब दोहरी नींव की स्थिति ट्रिगर की जाती है, तो इस गणना सूत्र के अनुसार, 4 लिमिट प्राइस ऑर्डर सेट करें, प्रत्येक मूल्य पर समान मात्रा में।

इसके अलावा, रणनीति एक स्टॉप और एक स्टॉप-लॉस स्थिति भी सेट करती है। स्टॉप-लॉस मूल्य डबल-अंतराल के लिए न्यूनतम मूल्य है-न्यूनतम कूद बिंदु, और स्टॉप-लॉस मूल्य प्रवेश मूल्य + एटीआर सूचक का 5 गुना है। जब स्थिति 0 नहीं होती है, तो दोनों कीमतें वास्तविक समय में अपडेट हो जाती हैं।

श्रेष्ठता विश्लेषण

इस रणनीति के निम्नलिखित फायदे हैं:

  1. दोहरे तल का उपयोग करके पलटने का समय निर्धारित करने से झूठी दरारों से बचा जा सकता है।
  2. डीसीए ग्रिड डिजाइन ट्रेडर्स को विभिन्न कीमतों पर धीरे-धीरे पोजीशन बनाने की अनुमति देता है, जिससे पोजीशन की लागत कम हो जाती है।
  3. एटीआर और अस्थिरता दर पैरामीटर बाजार में बदलाव के लिए ग्रिड और स्टॉप स्पेस को गतिशील रूप से समायोजित कर सकते हैं।
  4. ऑटोमेटिक स्टॉप लॉस सिस्टम से व्यक्तिगत नुकसान को नियंत्रित किया जा सकता है।

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

मुख्य जोखिम हैंः

  1. कीमतों को वापस नहीं किया जा सकता है और सीधे डबल-बेस्ट समर्थन के नीचे गिर सकता है। इस बिंदु पर, स्टॉप लॉस ट्रिगर किया जाता है, जिससे नुकसान होता है। स्टॉप लॉस दूरी को उचित रूप से बढ़ाया जा सकता है।
  2. डीसीए ग्रिड अनुचित रूप से सेट है और अधिकांश आयुक्तों को लेनदेन करने में असमर्थ है। विभिन्न मापदंडों का परीक्षण करके लेनदेन दर सुनिश्चित की जा सकती है।
  3. जब बाजार में भारी उतार-चढ़ाव होता है, तो स्टॉप अक्सर ट्रिगर किया जा सकता है। स्टॉप गुणांक को उचित रूप से बढ़ाने पर विचार किया जा सकता है।

अनुकूलन दिशा

इस रणनीति को निम्नलिखित दिशाओं में भी अनुकूलित किया जा सकता हैः

  1. प्रवृत्ति का आकलन बढ़ाएं, केवल अधिक रुझानों को देखते हुए रिवर्स ऑपरेशन करें, ताकि बड़े रुझानों को याद न करें।
  2. पहली एकल स्थिति को बढ़ाने पर विचार करें, बाद में ग्रिड स्थिति को धीरे-धीरे कम करें, और पूंजी उपयोग दक्षता का अनुकूलन करें।
  3. विभिन्न मापदंडों के संयोजनों का परीक्षण करें और सर्वोत्तम मापदंडों को ढूंढें। बाजार के अनुसार वास्तविक समय में समायोजित करने के लिए गतिशील मापदंडों को भी डिज़ाइन किया जा सकता है।
  4. उच्च-स्तरीय प्लेटफार्मों में मशीन सीखने को एकीकृत करने के लिए, पैरामीटर का स्वचालित अनुकूलन किया जा सकता है।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-02-12 00:00:00
end: 2024-02-19 00:00:00
period: 3m
basePeriod: 1m
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/
// © cherepanovvsb

//@version=5
strategy("Reversal (only long)", overlay=true, margin_long=1, margin_short=1,initial_capital=1000,commission_type = strategy.commission.percent,commission_value =0.1,currency='USD', process_orders_on_close=true)
plotshape(low == low[1], style=shape.triangleup, location=location.belowbar, color=color.blue, title="1 Setup")
plotshape(low == low[1] and low[1]==low[2], style=shape.triangleup, location=location.belowbar, color=color.red, title="Triple Setup")

ATRlenght   = input.int(title="ATR length for taking profit", defval=14, group="Strategy Settings")
rewardMultiplier= input.int(title="ATR multiplier", defval=5, group="Strategy Settings")
Volatility_length=input.int(title='Volatility length',defval=5,group="Strategy Settings")
Volatility_multiplier=input.float(title='Volatility multiplier',defval=0.5,step=0.1, group="Strategy Settings")
Candles_to_wait=input.int(title='How many candles to wait after placing orders grid?',defval=4,group="Strategy Settings")

// Get ATR
atr1 = ta.atr(ATRlenght)

//Get volatility values (not ATR) 
float result = 0
for i = 0 to Volatility_length
	result+=high[i]-low[i]
volatility=result*Volatility_multiplier/Volatility_length

//Validate entrance points
validlow =  low [2]== low[1] and not na(atr1) 
validlong = validlow and strategy.position_size == 0  and low[1]<low


// Calculate SL/TP
longStopPrice = low[1]-syminfo.mintick
longStopDistance = close - longStopPrice
longTargetPrice = close + (longStopDistance * rewardMultiplier)
strategy.initial_capital = 50000
//Assign all variables
var tradeStopPrice = 0.0
var tradeTargetPrice = 0.0
var point1=0.0
var point2=0.0
var point3=0.0
var point4=0.0
var contracts = int(strategy.initial_capital/close)/4
if validlong 
    tradeStopPrice := longStopPrice
    tradeTargetPrice := longTargetPrice
    point1:=low[1]+volatility
    point2:=low[1]+volatility*0.75
    point3:=low[1]+volatility*0.5
    point4:=low[1]+volatility*0.25

strategy.entry ("Long1", strategy.long,limit=point1,qty=contracts, when=validlong)
strategy.entry ("Long2", strategy.long,limit=point2,qty=contracts, when=validlong)
strategy.entry ("Long3", strategy.long,limit=point3,qty=contracts, when=validlong)
strategy.entry ("Long4", strategy.long,limit=point4,qty=contracts, when=validlong)

stopcondition = ta.barssince(validlong) == Candles_to_wait

strategy.cancel("Long1",when=stopcondition)
strategy.cancel("Long2",when=stopcondition)
strategy.cancel("Long3",when=stopcondition)
strategy.cancel("Long4",when=stopcondition)
    
strategy.exit(id="Long Exit", limit=tradeTargetPrice, stop=tradeStopPrice, when=strategy.position_size > 0)

plot(strategy.position_size != 0 or validlong ? tradeStopPrice : na, title="Trade Stop Price", color=color.red, style=plot.style_linebr, linewidth=3)
plot(strategy.position_size != 0 or validlong ? tradeTargetPrice : na, title="Trade Target Price", color=color.green, style=plot.style_linebr, linewidth=3)

plot(strategy.position_size != 0? point1 : na, title="Long1", color=color.green, style=plot.style_linebr, transp=0)
plot(strategy.position_size != 0? point2 : na, title="Long2", color=color.green, style=plot.style_linebr, transp=0)
plot(strategy.position_size != 0? point3 : na, title="Long3", color=color.green, style=plot.style_linebr, transp=0)
plot(strategy.position_size != 0? point4 : na, title="Long4", color=color.green, style=plot.style_linebr, transp=0)