
গতিশীলতা বিস্ফোরণ ট্র্যাকিং কৌশল মূল্য পরিবর্তনের শতাংশ গণনা করে মূল্যের ব্রেকডাউন নির্ধারণ করে, ট্র্যাফিক ফিল্টারিং সংকেত সংমিশ্রণ করে, উচ্চ সম্ভাব্যতা ক্যাপচার প্রবণতার ব্রেকডাউন উপলব্ধ করে। যখন একটি কেনার সংকেত ট্রিগার করা হয়, তখন কৌশলটি মূল্য ট্র্যাকিং স্টপ লস ব্যবহার করে মুনাফা লক করে এবং অত্যধিক প্রত্যাহার এড়াতে।
এই কৌশলটি মূলত নিম্নলিখিত কয়েকটি সূচকের উপর ভিত্তি করে ক্রয়ের সময় নির্ধারণ করেঃ
মূল্য পরিবর্তনের শতাংশ (isFourPercentBull) - মূল্য কার্যকরভাবে ভেঙে গেছে কিনা তা নির্ধারণের জন্য পূর্বের দিনের মূল্যের তুলনায় বন্ধের মূল্যের পরিবর্তনের শতাংশ গণনা করা হয়;
HighCloseRatio - দামের উচ্চতা নির্ধারণের জন্য সর্বোচ্চ মূল্যের সাথে বন্ধের মূল্যের অনুপাত গণনা করা হয়।
ট্রেডিং ভলিউম (Volume) - ট্রেডিং ভলিউম আগের দিনের চেয়ে বেশি হওয়া প্রয়োজন, যাতে কার্যকরভাবে ব্রেকআউট করা যায়।
২০০ দিনের সরল চলমান গড় (এসএমএ) - ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য ২০০ দিনের লাইনের ওপরে ক্লোজিং এবং ওপেনিং উভয়ই প্রয়োজন।
যখন উপরোক্ত একাধিক শর্ত একসাথে পূরণ করা হয়, তখন একটি ক্রয় সংকেত দেওয়া হয়। তারপরে, কৌশলটি দামের ট্র্যাকিং স্টপ লস পদ্ধতি ব্যবহার করে সক্রিয়ভাবে স্টপ লস এবং লভ্যাংশ লক করে। বিশেষত, স্টপ লিনের ট্র্যাকিংয়ের জন্য গণনা সূত্রটি হলঃ
trailPrice = close * (100 - trailPercent) / 100
এর মধ্যে trailPercent হল কনফিগারযোগ্য স্টপ ট্র্যাকিং শতাংশ। Ensure এর অর্থ হল যেহেতু দাম বাড়বে, স্টপ লাইনও বাড়বে, যার ফলে মুনাফা লক হবে। যখন দাম স্টপ লাইনে ফিরে আসে, তখন প্লেইন স্টপ।
এটি একটি আদর্শ ব্রেকথ্রু কৌশল যার নিম্নলিখিত সুবিধাগুলি রয়েছেঃ
এই কৌশলটির কিছু ঝুঁকিও রয়েছেঃ
ঝুঁকি মোকাবেলার সমাধান হলঃ
এই কৌশলটির উচ্চতর স্টপ লস ফ্রিকোয়েন্সি বিবেচনা করে, নিম্নলিখিত দিকগুলি আরও অপ্টিমাইজ করা যেতে পারেঃ
গতিশীলতা বিস্ফোরণ ট্র্যাকিং কৌশল সামগ্রিকভাবে একটি খুব ব্যবহারিক প্রবণতা ট্র্যাকিং কৌশল। এটি বিরতি কৌশল কার্যকরভাবে থামাতে এবং থামাতে পারে না সমস্যা সমাধান করে, প্রবণতা ক্যাপচার করার সময়, ঝুঁকি নিয়ন্ত্রণ করতে পারে। প্যারামিটার অপ্টিমাইজেশন এবং মেশিন লার্নিংয়ের মতো উপকরণগুলির প্রবর্তনের মাধ্যমে এই কৌশলটির কার্যকারিতা আরও বাড়ানোর সুযোগ রয়েছে, এটি গভীর গবেষণা এবং প্রয়োগের জন্য উপযুক্ত।
/*backtest
start: 2023-03-01 00:00:00
end: 2023-12-10 05:20: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/
// © doks23
//@version=5
strategy(title = "SD:Momentum Burst", overlay=true, initial_capital=1000,commission_value = 0,slippage = 0,process_orders_on_close=true)
//Check Vol
checkVol = input.bool(defval=false,title="IncludeAvgVolume?")
volSMAlength = input(50, title="VolumeLength")
volumeSma = ta.sma(volume, volSMAlength)
highvolume = volume >= volumeSma
volumeCond=checkVol?highvolume:true
// Profit and Loss
trailPercent = input.float(title="Trail%", defval=3, step=0.1)
//longCondition
PercentThreshold=input.float(3.8,'BreakoutPercent', step=0.1)
MaxThreshold=input.float(10,'Max Breakout', step=0.1)
HighCloseRatio=input.float(70,'Close to High Ratio', step=1)
float candleCloseBull = ((close[0] - open[0]) / (high[0] - open[0]) * 100)
float isFourPercentBull = (((close[0] - close[1]) / close[1]) * 100)
LongCond=volume > volume[1] and isFourPercentBull > PercentThreshold and candleCloseBull > HighCloseRatio and isFourPercentBull<MaxThreshold
barcolor(color=(LongCond?color.yellow: na),title='BObar')
longCondition= LongCond and volumeCond and close>ta.sma(close,200) and open>ta.sma(close,200)
//Input Strategy
DateCheck= input.bool(title = 'Custom Date Range?', defval=true,group = 'Strategy')
FromDate= input(defval = timestamp("1 Jan 2019 00:00"),group = 'Strategy')
ToDate =input(defval = timestamp("31 Dec 2023 00:00"),group = 'Strategy')
PostionSize =input.string('Contract','Select Position Size',options = ['Percent of Equity','Contract'],group = 'Strategy')
ContractQty =input.int(1,'No of Contract',group = 'Strategy')
//Backtesting Date Range
TimeWindow=true
// Number of Contract
var int trade_qty=na
if(PostionSize=='Contract')
trade_qty:=ContractQty
else
trade_qty:= (strategy.equity>strategy.initial_capital)?math.floor(strategy.equity/strategy.initial_capital):ContractQty
//Position Buy
BuyTriggerPrice = ta.valuewhen(longCondition,high,0)
//Trailing price
var float trailPrice = na
float percentMulti = (100 - trailPercent) / 100
longCondition2=longCondition and TimeWindow
if longCondition2
strategy.entry("Long", strategy.long,qty=trade_qty,stop = BuyTriggerPrice)
trailPrice := close*percentMulti
if strategy.position_size>0
trailPrice := math.max(close*percentMulti,trailPrice[1])
if low <= trailPrice
strategy.exit('Exit','Long',stop = trailPrice)
if strategy.position_size==0
trailPrice:=na
// Plot Strategy
var float trail_long_SL=na
if strategy.position_size>0
trail_long_SL:=trailPrice
else
trail_long_SL:=na
//Strategy Plot
PlotMA=input.bool(title="Plot MA?", defval=false)
plot(PlotMA?ta.sma(close,10):na,color = color.red,title = '10MA')
plot(PlotMA?ta.sma(close,21):na,color = color.white,title = '21MA')
plot(PlotMA?ta.sma(close,200):na,color = color.orange,title = '200MA')
// plot(trail_long_SL,color = color.gray,style = plot.style_steplinebr,linewidth = 1)