बुल मार्केट ट्रैकिंग सिस्टम

लेखक:चाओझांग, दिनांकः 2024-01-31 11:01:45
टैगः

img

अवलोकन

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

सिद्धांत

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

लाभ

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

जोखिम

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

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

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

सारांश

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Cowabunga System from babypips.com", overlay=true)
// 4 Hour Stochastics
length4 = input(162, minval=1, title="4h StochLength"), smoothK4 = input(48, minval=1, title="4h StochK"), smoothD4 = input(48, minval=1, title="4h StochD")
k4 = sma(stoch(close, high, low, length4), smoothK4)
d4 = sma(k4, smoothD4)

//15 min Stoch
length = input(10, minval=1, title="15min StochLength"), smoothK = input(3, minval=1, title="15min StochK"), smoothD = input(3, minval=1, title="15min StochD")
k = sma(stoch(close, high, low, length), smoothK)
d= sma(k, smoothD)

//4 hour RSI
src1 = close, len1 = input(240, minval=1, title="4H RSI Length")
up1 = rma(max(change(src1), 0), len1)
down1 = rma(-min(change(src1), 0), len1)
rsi4 = down1 == 0 ? 100 : up1 == 0 ? 0 : 100 - (100 / (1 + up1 / down1))

//15 min RSI
src = close, len = input(9, minval=1, title="15M RSI Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi15 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))

//MACD Settings
source = close
fastLength = input(12, minval=1, title="MACD Fast"), slowLength=input(26,minval=1, title="MACD Slow")
signalLength=input(9,minval=1, title="MACD Signal")
fastMA = ema(source, fastLength)
slowMA = ema(source, slowLength)
macd = fastMA - slowMA
signal = ema(macd, signalLength)

// Stops and Profit inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 0, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 400, title = "Trailing Stop", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Offset", minval = 0)

// Stops and Profit Targets
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

//Specific Time to Trade
myspecifictradingtimes = input('0500-1600', title="My Defined Hours")

longCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
longCondition2 = rsi4 <= 80
longCondition3 = k4 >= d4 and k4 <= 80
longCondition4 = ema(close, 80) >= ema(close, 162)
allLongerLongs = longCondition1 and longCondition2 and longCondition3 and longCondition4

longCondition5 = rsi15 <= 80
longCondition6 = k >= d and k <= 80 and fastMA >= slowMA
longCondition7 = ema(close, 5) >= ema(close, 10)
allLongLongs = longCondition5 and longCondition6 and longCondition7

if crossover(close, ema(close, 5)) and allLongerLongs and allLongLongs
    strategy.entry("Long", strategy.long, comment="LongEntry")

shortCondition1 = time(timeframe.period, myspecifictradingtimes) != 0
shortCondition2 = rsi4 >= 20
shortCondition3 = k4 <= d4 and k4 >= 20
shortCondition4 = ema(close, 80) <= ema(close, 162)
allShorterShorts = shortCondition1 and shortCondition2 and shortCondition3 and shortCondition4

shortCondition5 = rsi15 >= 20
shortCondition6 = k <= d and k >= 20 and fastMA <= slowMA
shortCondition7 = ema(close, 5) <= ema(close, 10)
allShortShorts = shortCondition5 and shortCondition6 and shortCondition7

if crossunder(close, ema(close,5)) and allShorterShorts and allShortShorts
    strategy.entry("Short", strategy.short, comment="ShortEntry")

strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)

अधिक