PresentTrend কৌশল একটি অনন্য কাস্টম ট্রেন্ড-পরবর্তী কৌশল। এই সমন্বয় কৌশল উভয় স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী বাজার প্রবণতা সুবিধা নিতে পারবেন, এটি বিভিন্ন বাজার অবস্থার জন্য উপযুক্ত করে তোলে।
এই কৌশল দুটি অংশ নিয়ে গঠিত:
কাস্টম আরএসআই বা এমএফআই সূচকঃ এই সূচকটি আরএসআই বা এমএফআই-র উপর ভিত্তি করে একটি বর্তমান ট্রেন্ড মান গণনা করে, ক্রসওভার এবং ক্রসওন্ডারের উপর ভিত্তি করে ক্রয় এবং বিক্রয় সংকেত উত্পন্ন করে, সম্ভাব্য প্রবণতা বিপরীত নির্দেশ করে।
ATR সূচকঃ গড় সত্যিকারের পরিসীমা (ATR) ব্যবহার করে একটি জনপ্রিয় প্রবণতা অনুসরণকারী সূচক।
উভয় কৌশল থেকে সমস্ত ক্রয় সংকেত সত্য হলে কৌশলটি একটি দীর্ঘ অবস্থানে প্রবেশ করে এবং সমস্ত বিক্রয় সংকেত সত্য হলে একটি সংক্ষিপ্ত অবস্থানে প্রবেশ করে। এটি নিশ্চিত করে যে স্বল্পমেয়াদী এবং দীর্ঘমেয়াদী উভয় প্রবণতা সারিবদ্ধ হলেই ট্রেডগুলি প্রবেশ করা হয়, সম্ভাব্যভাবে কৌশলটির নির্ভরযোগ্যতা বাড়ায়।
সামগ্রিকভাবে, বর্তমান ট্রেন্ড কৌশল একটি অত্যন্ত কার্যকর প্রবণতা অনুসরণকারী সিস্টেম। এটি সংক্ষিপ্ত এবং দীর্ঘমেয়াদী প্রবণতা সূচকগুলি সংযুক্ত করে সংকেত নির্ভরযোগ্যতা উন্নত করার সময় সংবেদনশীল। সামঞ্জস্যযোগ্য দিক, পরামিতি এবং অতিরিক্ত যৌক্তিকতার সাথে, কৌশলটি বিভিন্ন বাজারের পরিবেশ এবং ব্যবসায়ীর প্রয়োজনের সাথে খাপ খাইয়ে নিতে পারে। যদিও অন্তর্নিহিত প্রবণতা অনুসরণকারী ঝুঁকিগুলি রয়ে যায়, বর্তমান ট্রেন্ড বিবেচনা করার মতো একটি আকর্ষণীয় বিকল্প।
/*backtest start: 2023-08-21 00:00:00 end: 2023-09-20 00:00:00 period: 2h 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/ // © PresentTrading //@version=5 // Define the strategy settings strategy('PresentTrend - Strategy [presentTrading]' , overlay=true, precision=3, default_qty_type=strategy.cash, commission_value= 0.1, commission_type=strategy.commission.percent, slippage= 1, currency=currency.USD, default_qty_type = strategy.percent_of_equity, default_qty_value = 10, initial_capital= 10000) // Define the input parameters priceSource = input.source(title='Source', defval=hlc3, group='PresentTrend') // The price source to use lengthParam = input.int(title='Length', defval=14, group='PresentTrend') // The length of the moving average multiplier = input.float(title='Multiplier', defval=1.618, step=0.1, group='PresentTrend') // The multiplier for the ATR indicatorChoice = input.bool(title='Whether to use RSI or MFI', defval=false, group='PresentTrend') // Whether to use RSI or MFI // Add a parameter for choosing Long or Short tradeDirection = input.string(title="Trade Direction", defval="Both", options=["Long", "Short", "Both"]) // Calculate the ATR and the upT and downT values ATR = ta.sma(ta.tr, lengthParam) upperThreshold = low - ATR * multiplier lowerThreshold = high + ATR * multiplier // Initialize the PresentTrend indicator PresentTrend = 0.0 // Calculate the PresentTrend indicator PresentTrend := (indicatorChoice ? ta.rsi(priceSource, lengthParam) >= 50 : ta.mfi(hlc3, lengthParam) >= 50) ? upperThreshold < nz(PresentTrend[1]) ? nz(PresentTrend[1]) : upperThreshold : lowerThreshold > nz(PresentTrend[1]) ? nz(PresentTrend[1]) : lowerThreshold // Calculate the buy and sell signals longSignal = ta.crossover(PresentTrend, PresentTrend[2]) shortSignal = ta.crossunder(PresentTrend, PresentTrend[2]) // Calculate the number of bars since the last buy and sell signals barsSinceBuy = ta.barssince(longSignal) barsSinceSell = ta.barssince(shortSignal) previousBuy = ta.barssince(longSignal[1]) previousSell = ta.barssince(shortSignal[1]) // Initialize the direction variable trendDirection = 0 // Calculate the direction of the trend trendDirection := longSignal and previousBuy > barsSinceSell ? 1 : shortSignal and previousSell > barsSinceBuy ? -1 : trendDirection[1] // Check the trade direction parameter before entering a trade if (trendDirection == 1 and (tradeDirection == "Long" or tradeDirection == "Both")) strategy.entry("Buy", strategy.long) if (trendDirection == -1 and (tradeDirection == "Short" or tradeDirection == "Both")) strategy.entry("Sell", strategy.short) // Add a stop mechanism when the tradeDirection is one-sided if (tradeDirection == "Long" and trendDirection == -1) strategy.close("Buy") if (tradeDirection == "Short" and trendDirection == 1) strategy.close("Sell") // Visualization plot(PresentTrend, color=color.blue, title="PresentTrend") plotshape(series=longSignal, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=shortSignal, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")