এই কৌশলটি একটি দ্বৈত গড় রেখা সিস্টেম ব্যবহার করে, যা একটি নির্দিষ্ট স্টক বা ডিজিটাল মুদ্রায় সম্ভাব্য বিচ্ছিন্নতার সুযোগের সন্ধান করে। এর মূলনীতি হ'ল যখন স্বল্পমেয়াদী গড় রেখা দীর্ঘমেয়াদী গড় রেখার নীচে বিপরীত হয় তখন স্টক বা ডিজিটাল মুদ্রা কেনা। যখন দাম দীর্ঘমেয়াদী গড় রেখার পুনরায় পরীক্ষা করে তখন স্টক বা ডিজিটাল মুদ্রা বিক্রি করা।
এই কৌশলটি দুটি ভিন্ন চক্রের একটি সহজ চলমান গড় (SMA) ব্যবহার করে ট্রেডিং সিগন্যাল; প্রথম SMA চক্রটি দীর্ঘ, যা সামগ্রিক প্রবণতার দিককে প্রতিনিধিত্ব করে; দ্বিতীয় SMA চক্রটি সংক্ষিপ্ত, যা স্বল্পমেয়াদী দামের অস্থিরতা ক্যাপচার করতে ব্যবহৃত হয়।
যখন সংক্ষিপ্ত এসএমএ নীচের থেকে দীর্ঘমেয়াদী এসএমএ অতিক্রম করে, তখন এটি মূল্যের সামগ্রিক উত্থানের প্রবণতার প্রতিনিধিত্ব করে, তাই কৌশলটি একাধিক অবস্থান খোলে। যখন দাম হ্রাস পায় তখন দীর্ঘমেয়াদী এসএমএ পুনরায় পরীক্ষা করা হয়, যা সংক্ষিপ্ত pullback এর সমাপ্তির পূর্বাভাস দেয়, তখন কৌশলটি একটি স্টপ লস বা লাভজনক অবস্থান বন্ধ করার বিষয়টি বিবেচনা করে।
এছাড়াও, কৌশলটি অতিরিক্ত বিক্রয় এবং অতিরিক্ত ক্রয়ের শর্তাবলীও নির্ধারণ করে, যাতে চরম পরিস্থিতিতে লেনদেন এড়ানো যায়। কেবলমাত্র দ্বি-সমতল ক্রস এবং যুক্তিসঙ্গত মূল্যায়ন শর্তগুলি একই সাথে পূরণ করা হলে ট্রেড খোলা হবে।
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ
এই কৌশলটি ট্রেন্ড ট্র্যাকিং এবং ব্যাকলিংক ট্রেডিংয়ের সুবিধাগুলিকে একত্রিত করে, সুযোগের উপস্থিতি নির্ধারণের জন্য দ্বি-সমতল সিস্টেম ব্যবহার করে। একই সাথে, অভ্যন্তরীণ কিছু ওভার-বিক্রয় ওভার-বিক্রয় শর্ত রয়েছে, যা অপ্রয়োজনীয় অবস্থান খোলা এড়াতে পারে। এটি একটি খুব কার্যকর পরিমাণগত ট্রেডিং কৌশল যা গভীর গবেষণা এবং অপ্টিমাইজেশনের জন্য মূল্যবান।
/*backtest start: 2023-02-20 00:00:00 end: 2024-02-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // @version=5 strategy("Profitable Pullback Trading Strategy", overlay=true,initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Inputs ma_length1 = input.int(280,'MA length 1', step = 10,group = 'Moving Avg. Parameters', inline = 'MA') ma_length2 = input.int(13,'MA length 2', step = 1,group = 'Moving Avg. Parameters', inline = 'MA') sl = input.float(title="Stop Loss (%)", defval=0.07, step=0.1, group="Moving Avg. Parameters") too_deep = input.float(title="Too Deep (%)", defval=0.27, step=0.01, group="Too Deep and Thin conditions", inline = 'Too') too_thin = input.float(title="Too Thin (%)", defval=0.03, step=0.01, group="Too Deep and Thin conditions", inline = 'Too') // Calculations ma1 = ta.sma(close,ma_length1) ma2 = ta.sma(close,ma_length2) too_deep2 = (ma2/ma1-1) < too_deep too_thin2 = (ma2/ma1-1) > too_thin // Entry and close condtions var float buy_price = 0 buy_condition = (close > ma1) and (close < ma2) and strategy.position_size == 0 and too_deep2 and too_thin2 close_condition1 = (close > ma2) and strategy.position_size > 0 and (close < low[1]) stop_distance = strategy.position_size > 0 ? ((buy_price - close) / close) : na close_condition2 = strategy.position_size > 0 and stop_distance > sl stop_price = strategy.position_size > 0 ? buy_price - (buy_price * sl) : na // Entry and close orders if buy_condition strategy.entry('Long',strategy.long) if buy_condition[1] buy_price := open if close_condition1 or close_condition2 strategy.close('Long',comment="Exit" + (close_condition2 ? "SL=true" : "")) buy_price := na plot(ma1,color = color.blue) plot(ma2,color = color.orange)