बोलिंगर बैंड और स्वर्ण अनुपात पर आधारित औसत प्रतिगमन व्यापार रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-16 16:52:55
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. Bollinger Bands मध्य बैंड, ऊपरी बैंड और स्वर्ण अनुपात निचले बैंड की गणना करें
  • मध्य बैंड: n अवधि का vwma
  • ऊपरी बैंड: मध्य बैंड + k * n अवधि मानक विचलन
  • स्वर्ण अनुपात का निचला बैंड: मध्य बैंड - 0.618 * n अवधि मानक विचलन
  1. न्यायाधीशों का गठन
  • 200-दिवसीय एमए से ऊपर 50-दिवसीय एमए, ऊपर की ओर रुझान दर्शाता है
  • मूल्य खरीद संकेत के रूप में सोने के अनुपात से नीचे या नीचे छूता है
  1. बाहर निकलना
  • जब मूल्य BB के ऊपरी बैंड से ऊपर टूट जाता है, तो मूल्य को निचले बैंड से दूर चला गया माना जाता है, बंद स्थिति
  1. रोक हानि
  • फिक्स्ड प्रतिशत स्टॉप लॉस सेट करें, उदाहरण के लिए 5%

लाभ

  1. बीबी मध्य रेखा के लिए एसएमए के बजाय वीडब्ल्यूएमए का उपयोग मूल्य आंदोलन को बेहतर ढंग से दर्शाता है

  2. स्वर्ण अनुपात महत्वपूर्ण समर्थन/प्रतिरोध है, प्रतिगमन के लिए आधार प्रदान करता है

  3. अपट्रेंड में एमए यह सुनिश्चित करता है कि समग्र प्रवृत्ति ऊपर हो

  4. प्रत्येक व्यापार के लिए निश्चित स्टॉप लॉस नियंत्रण हानि

जोखिम

  1. स्वर्ण अनुपात रेखा समर्थन की गारंटी नहीं है, कीमत के माध्यम से तोड़ सकता है

  2. फिक्स्ड स्टॉप लॉस मनमाना हो सकता है, अस्थिरता के आधार पर समायोजन पर विचार करना चाहिए

  3. एमए अपट्रेंड गलत ब्रेकआउट हो सकता है, अधिक संकेतकों की जांच करनी चाहिए

  4. रिवर्स की लंबाई के बारे में अनिश्चित, बाहर निकलने के लिए उचित लाभ की जरूरत है

सुधार

  1. बीबी अवधि, एसडी गुणक, निश्चित स्टॉप लॉस प्रतिशत आदि जैसे मापदंडों के विभिन्न संयोजनों का परीक्षण करें।

  2. बाजार के रुझान और प्रतिवर्तन की संभावना निर्धारित करने के लिए अधिक संकेतक जोड़ें, जैसे एमएसीडी, केडी आदि।

  3. गतिशील स्टॉप पर विचार करें, जैसे एटीआर या ट्रैलिंग स्टॉप

  4. लाभ लेने का अनुकूलन करना जैसे कि लाभ रोकना, आंशिक लाभ लेना आदि।

सारांश

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


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
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/
// © mohanee

//@version=4

strategy(title="Bollinger Band with Fib Golden Ratio (0.618)",  shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1,     default_qty_type=strategy.percent_of_equity,  default_qty_value=20, initial_capital=10000, currency=currency.USD)  

length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)

stopLoss=input(5,title="Stop Loss",minval=1)

basis = vwma(src1, length)
dev = mult * stdev(src1, length)

//dev3 = mult3 * stdev(src, length)

upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)

//lower_618_dev3= basis - (0.618*dev3)



plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles,  linewidth=2)

plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")

//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")

ema200=ema(close,200)
ema50=ema(close,50)

plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)


longCondition= ema50 > ema200

strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618  or  low <= lower_618)  )

strategy.close(id="BB_Fib618",  comment="points="+tostring(close - strategy.position_avg_price,  "###.##") , when = strategy.position_size >= 1  and crossover(close,upper_618 )) 

//stoploss exit
stopLossVal = strategy.position_size>=1 ?  strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price,  "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )


अधिक