গতিশীল মুভিং এভারেজ পুলব্যাক ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-02-27 14:38:45 অবশেষে সংশোধন করুন: 2024-02-27 14:38:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 584
1
ফোকাস
1617
অনুসারী

গতিশীল মুভিং এভারেজ পুলব্যাক ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি একটি নির্দিষ্ট স্টক বা ডিজিটাল মুদ্রায় সম্ভাব্য ব্রেকআপের সুযোগ খুঁজতে একটি দ্বি-উপযুক্ত লাইন সিস্টেম ব্যবহার করে। এর মূল নীতিটি হ’ল স্টক বা ডিজিটাল মুদ্রা কেনা যখন স্বল্পমেয়াদী গড় দীর্ঘমেয়াদী গড় থেকে নীচে রিবাউন্ড করে। যখন দাম দীর্ঘমেয়াদী গড়ের পুনরায় পরীক্ষা করে তখন স্টক বা ডিজিটাল মুদ্রা বিক্রি করে।

কৌশল নীতি

এই কৌশলটি ট্রেডিং সিগন্যাল হিসাবে দুটি ভিন্ন পিরিয়ডের একটি সরল চলমান গড় (এসএমএ) ব্যবহার করে। প্রথম এসএমএ পিরিয়ডটি দীর্ঘ, সামগ্রিক প্রবণতার দিকনির্দেশের প্রতিনিধিত্ব করে। দ্বিতীয় এসএমএ পিরিয়ডটি সংক্ষিপ্ত, স্বল্পমেয়াদী মূল্যের ওঠানামা ধরার জন্য।

যখন স্বল্পমেয়াদী এসএমএ নীচে থেকে দীর্ঘমেয়াদী এসএমএ পরিধান করে, এটি সামগ্রিকভাবে মূল্যের উত্থানের প্রবণতাকে উপস্থাপন করে, তাই কৌশলটি একাধিক পজিশন খোলে। যখন দাম কমে যায় এবং দীর্ঘমেয়াদী এসএমএ পুনরায় পরীক্ষা করা হয়, তখন স্বল্পমেয়াদী pullback শেষ হওয়ার পূর্বাভাস দেওয়া হয়, তখন কৌশলটি স্টপ লস বা মুনাফা বন্ধ করার বিষয়টি বিবেচনা করে।

এছাড়াও, এই কৌশলটি অতিরিক্ত বিক্রয় এবং অতিরিক্ত ক্রয়ের শর্তগুলি নির্ধারণ করে, যাতে চরম পরিস্থিতিতে লেনদেন করা যায় না। কেবলমাত্র যখন ডাবল ইক্যুইটি ক্রস এবং যুক্তিসঙ্গত মূল্যায়নের শর্তগুলি একসাথে পূরণ করা হয় তখনই পজিশন খোলা হয়।

কৌশলগত সুবিধা

  • দ্বি-উপ-লাইন সিস্টেম ব্যবহার করে, স্বল্পমেয়াদী এবং মধ্যমেয়াদী প্রবণতাগুলিকে কার্যকরভাবে চিহ্নিত করা
  • ট্রেন্ড ট্র্যাকিং এবং রিটার্ন ট্রেডিং এর সুবিধা
  • বিল্ট-ইন ওভারসেলিং এবং ওভারবয়িং কুলুঙ্গি অপ্রয়োজনীয় লেনদেন কমাতে পারে

ঝুঁকি বিশ্লেষণ

  • রিটার্নের শেষের সময় নির্ধারণ করা কঠিন, এবং ক্ষতির পূর্বাভাস দেওয়া হতে পারে
  • প্রবণতা পরিবর্তিত হলে, দ্রুত বন্ধ করা যায় না, বড় ক্ষতি হতে পারে
  • ভুল প্যারামিটার সেট করা খুব ঘন ঘন বা সংরক্ষণশীল লেনদেনের কারণ হতে পারে

কৌশল অপ্টিমাইজেশন

এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ

  1. দামের পরিবর্তন এবং প্রবণতা নির্ধারণের জন্য আরও জটিল সরঞ্জাম ব্যবহার করা হয়, যেমন ব্রিন ব্যান্ড, কেডি সূচক ইত্যাদি
  2. ট্রেডিং ভলিউমের পরিবর্তন, অস্থিরতা ইত্যাদির মতো আরও অনেক কারণের সাথে পুনরুদ্ধারের শেষের সময় নির্ধারণ করুন
  3. ডায়নামিক পজিশন স্কেলিং, লাভ সর্বাধিকীকরণ
  4. স্টপ লজিক অপ্টিমাইজ করুন, KAMA, Ichimoku ক্লাউড এবং নিম্নতর টাইমফ্রেম ব্যবহার করে স্টপ টাইম নির্ধারণ করুন

সারসংক্ষেপ

এই কৌশলটি ট্রেন্ড ট্র্যাকিং এবং রিবাউন্ড ট্রেডিংয়ের সুবিধাগুলিকে সংহত করে, একটি দ্বি-সমান-লাইন সিস্টেম ব্যবহার করে সুযোগের উপস্থিতি বিচার করার জন্য। একই সাথে, নির্দিষ্ট ওভার-বিক্রয় ওভার-বিক্রয় শর্তগুলি অন্তর্নির্মিত করা হয়েছে, অপ্রয়োজনীয় অবস্থান খোলার এড়ানো যায়। এটি একটি খুব ব্যবহারিক পরিমাণযুক্ত ট্রেডিং কৌশল যা গভীর গবেষণা এবং অপ্টিমাইজেশনের জন্য উপযুক্ত।

কৌশল সোর্স কোড
/*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)