বুল মার্কেট ট্র্যাকিং সিস্টেম হল ট্রেন্ড ট্র্যাকিংয়ের উপর ভিত্তি করে একটি যান্ত্রিক ট্রেডিং সিস্টেম। এটি ট্রেডিং সিগন্যালগুলি ফিল্টার করতে 4 ঘন্টা চার্টে ট্রেন্ড সূচক ব্যবহার করে, যখন 15 মিনিটের চার্টের সূচকগুলির উপর ভিত্তি করে এন্ট্রি সিদ্ধান্ত নেওয়া হয়। প্রধান সূচকগুলির মধ্যে আরএসআই, স্টোকাস্টিক্স এবং এমএসিডি অন্তর্ভুক্ত রয়েছে। এই সিস্টেমের সুবিধা হ'ল একাধিক টাইমফ্রেমের সংমিশ্রণটি কার্যকরভাবে মিথ্যা সংকেতগুলি ফিল্টার করতে পারে, যখন স্বল্প সময়ের ফ্রেম সূচকগুলি আরও সুনির্দিষ্ট এন্ট্রি টাইমিং সনাক্ত করতে পারে। তবে এই সিস্টেমের সাথে কিছু ঝুঁকিও রয়েছে, যেমন ওভারট্রেডিং এবং মিথ্যা ব্রেকআউট সমস্যা।
এই সিস্টেমের মূল যুক্তি হ'ল প্রবণতা দিক এবং প্রবেশের সময় নির্ধারণের জন্য বিভিন্ন সময়সীমার সূচকগুলি একত্রিত করা। বিশেষত, 4 ঘন্টা চার্টে আরএসআই, স্টোকাস্টিক্স এবং ইএমএ সামগ্রিক প্রবণতা দিক নির্ধারণের জন্য সারিবদ্ধ হওয়া দরকার। এটি কার্যকরভাবে বেশিরভাগ গোলমাল ফিল্টার করতে পারে। একই সাথে, 15 মিনিটের চার্টে আরএসআই, স্টোকাস্টিক্স, এমএসিডি এবং ইএমএ সঠিক প্রবেশের সময় নির্ধারণের জন্য উত্থান বা হ্রাসের পক্ষপাতের বিষয়েও একমত হতে হবে। এটি আমাদের ভাল প্রবেশ এবং প্রস্থান পয়েন্টগুলি খুঁজে পেতে দেয়। কেবলমাত্র যখন 4 ঘন্টা এবং 15 মিনিটের সময়সীমার উভয়ই বিচারগুলি মানদণ্ড পূরণ করে তখনই সিস্টেমটি ট্রেডিং সংকেত তৈরি করবে।
এই পদ্ধতিতে নিম্নলিখিত দিকগুলি থেকে সিস্টেমটি অপ্টিমাইজ করা যেতে পারেঃ
সামগ্রিকভাবে, বুল মার্কেট ট্র্যাকিং সিস্টেম একটি যান্ত্রিক ট্রেডিং সিস্টেম অনুসরণ করে একটি খুব ব্যবহারিক প্রবণতা। এটি বাজারের প্রবণতা এবং মূল এন্ট্রি টাইমিং সনাক্ত করতে মাল্টি-টাইমফ্রেম সূচকগুলির সংমিশ্রণ ব্যবহার করে। যুক্তিসঙ্গত পরামিতি সেটিংস এবং অবিচ্ছিন্ন অপ্টিমাইজেশান পরীক্ষার সাথে, সিস্টেমটি বেশিরভাগ বাজারের পরিবেশে অভিযোজিত হতে পারে এবং স্থিতিশীল মুনাফা অর্জন করতে পারে। তবে, আমাদের কিছু সম্ভাব্য ঝুঁকি সম্পর্কে সচেতন হওয়া দরকার এবং এই ঝুঁকিগুলি প্রতিরোধ এবং প্রশমিত করার জন্য সক্রিয় ব্যবস্থা গ্রহণ করা দরকার।
/*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)