मोमेंटम ब्रेकआउट बोलिंगर बैंड ट्रेडिंग रणनीति


निर्माण तिथि: 2024-02-05 10:53:46 अंत में संशोधित करें: 2024-02-05 10:53:46
कॉपी: 0 क्लिक्स: 699
1
ध्यान केंद्रित करना
1617
समर्थक

मोमेंटम ब्रेकआउट बोलिंगर बैंड ट्रेडिंग रणनीति

अवलोकन

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

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

  1. ब्यूरिन बैंड का उपयोग करके यह निर्धारित करें कि क्या कीमत ब्यूरिन बैंड को पार कर गई है।
  2. लेन-देन की मात्रा के सूचक का उपयोग करके यह निर्धारित करें कि क्या वर्तमान लेनदेन की मात्रा पिछले समय की औसत लेनदेन की मात्रा से काफी अधिक है।
  3. खरीदें और बेचें जब व्यापार सक्रिय है और कीमतों ने ब्रिन को पार कर लिया है।
  4. एक चलती औसत सूचक का उपयोग करके अल्पकालिक और मध्यम अवधि के रुझानों का आकलन करें, और रुझान प्रतिकूल होने पर समय पर स्थिति को बंद करें।

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

रणनीतिक लाभ

  1. ट्रेडिंग सिग्नल सटीक है, झूठे ब्रेकआउट से बचें। ट्रेड वॉल्यूम इंडिकेटर के साथ, केवल वास्तविक मजबूत स्थिति में खरीदें, स्थिति जोखिम को कम करें।

  2. चलती औसत के माध्यम से प्रवृत्ति की दिशा का आकलन करने के लिए, समय पर स्टॉप लॉस और खाली स्टॉक के नुकसान को कम करना संभव है।

  3. निर्णय लेने के लिए कई सूचकांकों को एकीकृत करने के लिए एक मात्रात्मक रणनीति को लागू किया गया है, जिसमें विभिन्न किस्मों और चक्रों के लिए मापदंडों को लचीले ढंग से समायोजित किया जा सकता है।

  4. कोड संरचना स्पष्ट है, नीति पठनीयता को बढ़ाता है। विभाजन मॉड्यूल संगठन संकेतक गणना, व्यापार संकेतों, और बाद में रखरखाव के लिए आसान है।

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

  1. ब्रिन बैंड एक उतार-चढ़ाव की सीमा का सूचक है, जो चरम स्थितियों के लिए अक्षम हो सकता है। यदि कोई असामान्य उतार-चढ़ाव होता है, तो यह एक खरीद संकेत को याद कर सकता है या एक झूठा संकेत उत्पन्न कर सकता है।

  2. जब व्यापार की मात्रा कम होती है, तो रणनीति लाभदायक नहीं होती है। यदि बाजार में समग्र व्यापार की मात्रा कम है, तो खरीद संकेत उत्पन्न करने के लिए भी लाभदायक नहीं है।

  3. चलती औसत भी एक प्रवृत्ति के रूप में विफल हो सकता है, जो पूरी तरह से नुकसान को रोकने की गारंटी नहीं देता है।

  4. अनुचित पैरामीटर सेटिंग भी रणनीति के लाभ को प्रभावित कर सकती है। उदाहरण के लिए, ट्रेडिंग समय खिड़की बहुत कम सेट है, प्रवृत्ति उलटफेर से चूक जाएगी।

रणनीति अनुकूलन दिशा

  1. प्रवृत्ति का आकलन करने के लिए और अधिक तकनीकी संकेतकों को जोड़ने पर विचार किया जा सकता है, जो प्रतिरोध बिंदुओं का समर्थन करते हैं, और नुकसान को रोकने के लिए, जैसे कि के-लाइन आकार, चैनल संकेत, महत्वपूर्ण समर्थन बिंदु, आदि।

  2. मशीन लर्निंग मॉडल को वास्तविक सफलता की संभावना को बढ़ाने के लिए, झूठे संकेतों की दर को कम करें। जैसे कि एलएसटीएम जैसे गहरे सीखने वाले मॉडल।

  3. धन प्रबंधन रणनीतियों को अनुकूलित करें, जैसे कि गतिशील समायोजन, स्टॉप लॉस लाइन को ट्रैक करना। एकल नुकसान के प्रभाव को कम करें।

  4. अधिक किस्मों और समय-चक्रों के पैरामीटर का परीक्षण करना। ब्रिन बैंड पैरामीटर, लेनदेन की मात्रा पैरामीटर आदि को समायोजित करना, बाजार के अनुकूल रणनीति का अनुकूलन करना।

संक्षेप

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

रणनीति स्रोत कोड
/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 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/
// © KAIST291

//@version=4
initial_capital=1000
strategy("prototype", overlay=true)
length1=input(1)
length3=input(3)
length7=input(7)
length9=input(9)
length14=input(14)
length20=input(20)
length60=input(60)
length120=input(120)
ma1= sma(close,length1)
ma3= sma(close,length3)
ma7= sma(close,length7)
ma9= sma(close,length9)
ma14=sma(close,length14)
ma20=sma(close,length20)
ma60=sma(close,length60)
ma120=sma(close,length120)
rsi=rsi(close,14)
// BUYING VOLUME AND SELLING VOLUME //
BV = iff( (high==low), 0, volume*(close-low)/(high-low))
SV = iff( (high==low), 0, volume*(high-close)/(high-low))
vol = iff(volume > 0, volume, 1)
dailyLength = input(title = "Daily MA length", type = input.integer, defval = 50, minval = 1, maxval = 100)
weeklyLength = input(title = "Weekly MA length", type = input.integer, defval = 10, minval = 1, maxval = 100)
//-----------------------------------------------------------
Davgvol = sma(volume, dailyLength)
Wavgvol = sma(volume, weeklyLength)
//-----------------------------------------------------------
length = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
mult2= input(1.5, minval=0.001, maxval=50, title="exp")
mult3= input(1.0, minval=0.001, maxval=50, title="exp1")
mult4= input(2.5, minval=0.001, maxval=50, title="exp2")
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
dev2= mult2 * stdev(src, length)
Supper= basis + dev2
Slower= basis - dev2
dev3= mult3 * stdev(src, length)
upper1= basis + dev3
lower1= basis - dev3
dev4= mult4 * stdev(src, length)
upper2=basis + dev4
lower2=basis - dev4
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)
plot(basis, "Basis", color=#FF6D00, offset = offset)
p1 = plot(upper, "Upper", color=#2962FF, offset = offset)
p2 = plot(lower, "Lower", color=#2962FF, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
//----------------------------------------------------
exit=(close-strategy.position_avg_price / strategy.position_avg_price*100)
bull=( BV>SV and BV>Davgvol)
bull2=(BV>SV and BV>Davgvol)
bux =(close>Supper and close>Slower and volume<Davgvol)
bear=(SV>BV and SV>Davgvol)
con=(BV>Wavgvol and rsi>80)
imInATrade = strategy.position_size != 0
highestPriceAfterEntry = valuewhen(imInATrade, high, 0)
// STRATEGY LONG //
if (bull and close>upper1 and close>Supper and high>upper and rsi<80)
    strategy.entry("Long",strategy.long)

if (strategy.position_avg_price*1.02<close)
    strategy.close("Long")
else if (low<ma9 and strategy.position_avg_price<close)
    strategy.close("Long")
else if (ma20>close and strategy.position_avg_price<close )
    strategy.close("Long")
else if (rsi>80 and strategy.position_avg_price<close)
    strategy.close("Long")
else if (strategy.openprofit < strategy.position_avg_price*0.9-close)
    strategy.close("Long")
else if (high<upper and strategy.position_avg_price<close)
    strategy.close("Long")
//////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////
strategy.entry("Short",strategy.short,when=low<ma20 and low<lower1 and close<Slower and crossunder(ma60,ma120))

if (close<strategy.position_avg_price*0.98)
    strategy.close("Short")

else if (rsi<20)
    strategy.close("Short")