गोल्डन सेक्शन बैंड ऑसिलेशन रणनीति


निर्माण तिथि: 2023-11-21 13:47:12 अंत में संशोधित करें: 2023-11-21 13:47:12
कॉपी: 0 क्लिक्स: 630
1
ध्यान केंद्रित करना
1621
समर्थक

गोल्डन सेक्शन बैंड ऑसिलेशन रणनीति

अवलोकन

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

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

कोड का मुख्य तर्क यह है कि कीमतों की गणना के लिए सोने के विभाजन को एक महत्वपूर्ण बिंदु के रूप में माना जाता है। मुख्य कदम हैंः

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

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

रणनीतिक लाभ

इस रणनीति का सबसे बड़ा लाभ यह है कि यह सोने के विभाजन के महत्वपूर्ण सैद्धांतिक संकेतक का उपयोग करके महत्वपूर्ण मूल्य बिंदुओं को निर्धारित करता है, जिससे लाभ की संभावना बढ़ जाती है। विशिष्ट लाभ मुख्य रूप से इस प्रकार हैंः

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

रणनीतिक जोखिम

इस रणनीति के साथ, कुछ जोखिमों को ध्यान में रखा जाना चाहिए क्योंकि यह अल्पकालिक लाभ के लिए है:

  1. महाचक्र के दौरान कोई लाभ नहीं
  2. कीमतों में भारी उतार-चढ़ाव के दौरान स्टॉप लॉस का जोखिम अधिक
  3. अधिक सेंध लगाने के संकेत, सावधानी से चुनने की आवश्यकता
  4. जब वेव-बैंड का झटका फीचर गायब हो जाता है तो निष्क्रिय हो जाता है

इन जोखिमों को उचित रूप से पैरामीटर को समायोजित करके नियंत्रित किया जा सकता है।

रणनीति अनुकूलन

इस रणनीति को और भी बेहतर बनाने के लिए जगह हैः

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

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
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/
// © drhakankilic

//@version=5
strategy("FIBONACCI BANDS Strategy", shorttitle="FBANDS Strategy", overlay=true)
// === Date === { 
//Backtest dates
fromDay = input.int(defval=1, title='From Day',minval=1,maxval=31)
fromMonth = input.int(defval=2, title='From Month',minval=1,maxval=12)
fromYear = input.int(defval=2022, title='From Year')
thruDay = input.int(defval=1, title='Thru Day',minval=1,maxval=31)
thruMonth = input.int(defval=1, title='Thru Month',minval=1,maxval=12)
thruYear = input.int(defval=2112, title='Thru Year')
showDate = true  // input(defval=true, title="Show Date Range")
start = timestamp(fromYear, fromMonth, fromDay, 00, 00)  // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59)  // backtest finish window
window() =>  // create function "within window of time"
    time >= start and time <= finish ? true : false
// }

// === Long or Short ===  
tradeDirection = input.string(title="Long veya Short", options=["Long", "Short", "Both"], defval="Both",                                       group="Bot")
// Translate input into trading conditions
longOK  = (tradeDirection == "Long") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short") or (tradeDirection == "Both")
copypaste   = input('{{strategy.order.alert_message}}',         title='alert message to copy/paste',                                    group="Bot")
// }

// === FIBONACCI BANDS === {
EMAperiod = input.int(14, title='EMAperiod', minval=1, maxval=500, group="Fibonacci")
ATRperiod = input.int(14, title='ATRperiod', minval=1, maxval=500, group="Fibonacci")
EMA = ta.ema(close, EMAperiod)
TR1 = math.max(high - low, math.abs(high - close[1]))
TR = math.max(TR1, math.abs(low - close[1]))
ATR = ta.sma(TR, ATRperiod)
F2 = input(defval=1.618, title='Fibonacci Ratio 2', group="Fibonacci")
F3 = input(defval=2.618, title='Fibonacci Ratio 3', group="Fibonacci")
F4 = input(defval=4.236, title='Fibonacci Ratio 4', group="Fibonacci")
R1 = ATR
R2 = ATR * F2
R3 = ATR * F3
R4 = ATR * F4
FIBOTOP4 = EMA + R4
FIBOTOP3 = EMA + R3
FIBOTOP2 = EMA + R2
FIBOTOP1 = EMA + R1
FIBOBOT1 = EMA - R1
FIBOBOT2 = EMA - R2
FIBOBOT3 = EMA - R3
FIBOBOT4 = EMA - R4
plot(FIBOTOP4[1], title='FIBOTOP4', linewidth=1, color=color.new(color.orange, 0))
plot(FIBOTOP3[1], title='FIBOTOP3', linewidth=1, color=color.new(color.aqua, 20))
plot(FIBOTOP2[1], title='FIBOTOP2', linewidth=1, color=color.new(color.gray, 40))
plot(FIBOTOP1[1], title='FIBOTOP1', linewidth=1, color=color.new(color.purple, 40))

plot(FIBOBOT1[1], title='FIBOBOT1', linewidth=1, color=color.new(color.green, 40))
plot(FIBOBOT2[1], title='FIBOBOT2', linewidth=1, color=color.new(color.yellow, 40))
plot(FIBOBOT3[1], title='FIBOBOT3', linewidth=1, color=color.new(color.blue, 20))
plot(FIBOBOT4[1], title='FIBOBOT4', linewidth=1, color=color.new(color.aqua, 0))
// plot(EMA[1], style=plot.style_cross, title='EMA', color=color.new(color.red, 0))

prefm = input.string(title="Fibo", options=["close>FIBOTOP4(orange)", "close>FIBOTOP3(aqua)","close>FIBOTOP2(gray)","close>FIBOTOP1(purple)", "Disable"] , defval="close>FIBOTOP1(purple)", group="Long")
_prefm = false 
if (prefm == "close>FIBOTOP4(orange)" )
    _prefm := close>FIBOTOP4[1]
    
if (prefm == "close>FIBOTOP3(aqua)" )
    _prefm := close>FIBOTOP3[1]

if (prefm == "close>FIBOTOP2(gray)" )
    _prefm := close>FIBOTOP2[1]
    
if (prefm == "close>FIBOTOP1(purple)" )
    _prefm := close>FIBOTOP2[1]
 
 
if (prefm == "Disable" )
    _prefm := low<low[1] or low>low[1]  
    
prefmS = input.string(title="Fibo", options=["close<FIBOBOT1(green)", "close<FIBOBOT2(yellow)", "close<FIBOBOT3(blue)", "close<FIBOBOT4(aqua)", "Disable"] , defval="close<FIBOBOT1(green)", group="Short")
_prefmS = false 
if (prefmS == "close<FIBOBOT1(green)" )
    _prefmS := close<FIBOBOT1[1]
  
if (prefmS == "close<FIBOBOT2(yellow)" )
    _prefmS := close<FIBOBOT2[1]

if (prefmS == "close<FIBOBOT3(blue)" )
    _prefmS := close<FIBOBOT3[1]
  
if (prefmS == "close<FIBOBOT4(aqua)" )
    _prefmS := close<FIBOBOT4[1]

if (prefmS == "Disable" )
    _prefmS := low<low[1] or low>low[1]  

// }

long2= _prefm 

short2= _prefmS
//

// === Bot Codes === { 
enterlong = input("Long Code", title='Long İlk Alım', group="Long Code")
entershort= input("Short Code", title='Short İlk Alım', group="Short Code")
exitlong = input("Long Exit Code", title='Long Exit', group="Long Code")
exitshort= input("Short Exit Code", title='Short Exit', group="Short Code")
// }

////////////////////////////////////////////////////////////////////////////////////////////TPSL
// Inputs
sl_inp = input.float(4, title='Stop %', step=0.1, group="Long") / 100
tp_inp = input.float(1.5, title='TP %', step=0.1, group="Long") / 100

sl_inp2 = input.float(4, title='Stop %', step=0.1, group="Short") / 100
tp_inp2 = input.float(1.5, title='TP %', step=0.1, group="Short") / 100

longtp = strategy.position_avg_price * (1 + tp_inp) 
longstop=  strategy.position_avg_price * (1 - sl_inp)

shortstop=  strategy.position_avg_price * (1 + sl_inp2)
shorttp = strategy.position_avg_price * (1 - tp_inp2) 
////////////////////////////////////////////////////////////////////////////////////////////
if window() and strategy.position_size==0 and longOK
    strategy.entry("Long", strategy.long, when= long2, alert_message=enterlong, comment="Long")
    
if strategy.position_size>0
    strategy.exit("Long", stop= longstop, limit=longtp, alert_message=exitlong, comment="TPSL")
////////////////////////////////////////////////////////////////////////////////////////////SHORT
if window() and strategy.position_size==0 and shortOK 
    strategy.entry("Short", strategy.short, when= short2, alert_message=entershort, comment="Short")
    
if strategy.position_size<0
    strategy.exit("Short", stop= shortstop, limit= shorttp, alert_message=exitshort, comment="TPSL")