মুভিং এভারেজ রিট্রেসমেন্ট ট্র্যাকিং কৌশল


সৃষ্টির তারিখ: 2024-03-28 18:00:05 অবশেষে সংশোধন করুন: 2024-03-28 18:00:05
অনুলিপি: 0 ক্লিকের সংখ্যা: 603
1
ফোকাস
1617
অনুসারী

মুভিং এভারেজ রিট্রেসমেন্ট ট্র্যাকিং কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. দুটি ভিন্ন সময়ের চলমান গড় গণনা করুন (MA1 এবং MA2), যেখানে MA1 হল দীর্ঘমেয়াদী গড় এবং MA2 হল স্বল্পমেয়াদী গড়) ।
  2. যখন ক্লোজিং প্রাইস MA1 এর উপরে এবং MA2 এর নিচে থাকে, তখন সেই একই সময়ে কোন পজিশন নেই, এবং বর্তমান সময় সেট ট্রেডিং সময়ের মধ্যে, কৌশলটি পজিশন খোলার জন্য বেশি কাজ করে।
  3. BuyPrice রেকর্ড করুন, এবং StopPrice গণনা করুন (i_stopPercent শতাংশ) ।
  4. যখন ক্লোজিং প্রাইস আবার MA2 এ উঠে আসে এবং i_lowerClose false হয়, বা ক্লোজিং প্রাইস স্টপ লস মূল্যের নীচে চলে যায়, তখন কৌশলটি প্লেইন করা হয়।
  5. যদি i_lowerClose true হয়, তাহলে বন্ধের মূল্য MA2 এর উপরে এবং পূর্ববর্তী K-লাইন বন্ধের মূল্য MA2 এর নিচে হলে প্লেইন পজিশন।

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

  1. প্রবণতা ট্র্যাকিংঃ প্রবণতার মধ্যে প্রবেশের সুযোগ খুঁজতে, বর্তমান সামগ্রিক প্রবণতা নির্ধারণ করুন, দামের সাথে দীর্ঘমেয়াদী গড়ের অবস্থান সম্পর্কিত সম্পর্ক বিচার করে।
  2. রিবাউন্ড ক্রয়ঃ দামের স্বল্প-মেয়াদী গড়ের দিকে পুনর্নির্দেশের ক্রয়ের সুযোগ খুঁজতে একটি উর্ধ্বমুখী প্রবণতা, পয়েন্ট ক্রয়ের কার্যকারিতা অনুপাত বাড়ায়।
  3. স্টপ লস প্রোটেকশনঃ স্টপ লস প্রাইস সেট করুন, যখন দামের বিপরীতমুখী ওঠানামা একটি নির্দিষ্ট পরিমাণে পৌঁছে যায় তখন স্বয়ংক্রিয়ভাবে পজিশনটি সরিয়ে ফেলুন, কার্যকরভাবে নেমে যাওয়ার ঝুঁকি নিয়ন্ত্রণ করুন।
  4. নমনীয় প্যারামিটারঃ ব্যবহারকারীরা তাদের পছন্দ অনুসারে নমনীয়ভাবে গড়ের সময়কাল, স্টপ লস শতাংশ এবং পূর্ববর্তী কে লাইনের ক্লোজ-অফ দাম স্বল্পমেয়াদী গড়ের চেয়ে কম হলে প্যারামিটারগুলি বন্ধ করতে পারেন।

কৌশলগত ঝুঁকি

  1. প্যারামিটার অপ্টিমাইজেশানঃ বিভিন্ন প্যারামিটার সেটিংগুলি কৌশলগত পারফরম্যান্সের উপর একটি বড় প্রভাব ফেলে, বিভিন্ন বাজার পরিবেশে প্যারামিটার অপ্টিমাইজেশন এবং পুনরায় পরীক্ষা করা প্রয়োজন, যাতে সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পাওয়া যায়।
  2. অস্থির বাজারঃ অস্থির বাজারগুলিতে, দামগুলি দীর্ঘমেয়াদী গড়ের মধ্যে ঘন ঘন ওঠানামা করে, যা কৌশলগুলিকে ঘন ঘন পজিশন খোলার দিকে নিয়ে যেতে পারে, যা ব্যবসায়ের ব্যয়কে হ্রাস করে।
  3. প্রবণতা পাল্টাঃ যখন বাজারের প্রবণতা পাল্টে যায়, তখন কৌশলটি ক্রমাগত ক্ষতির সম্মুখীন হতে পারে। এই সময়ে অন্যান্য সূচক বা সংকেতের সাথে মিলিত হয়ে প্রবণতা পাল্টানোর বিচার করা প্রয়োজন এবং যথাসময়ে কৌশলটি সামঞ্জস্য করা প্রয়োজন।
  4. ব্ল্যাক সোয়াইন ইভেন্টঃ যখন বাজারে বড় ধরনের, অপ্রত্যাশিত ঘটনা ঘটে, তখন দামের তীব্র ওঠানামা হতে পারে, যার ফলে স্টপ-অফ-লস কৌশলটি বড় ক্ষতির মুখোমুখি হয়।

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © contapessoal_ivan
// @version=5
strategy("Pullback Strategy", 
     overlay=true, 
     initial_capital=1000,
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=100, // 100% of balance invested on each trade
     commission_type=strategy.commission.cash_per_contract, 
     commission_value=0.005) // Interactive Brokers rate

// Get user input
i_ma1           = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2           = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent   = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose    = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime     = input(title="Start Filter", defval=timestamp("26 Jan 2023 00:00 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime       = input(title="End Filter", defval=timestamp("26 Mar 2024 23:59 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")

// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)

// Check filter(s)
f_dateFilter = true

// Check buy/sell conditions
var float buyPrice = 0
buyCondition    = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition   = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance    = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice       = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition   = strategy.position_size > 0 and stopDistance > i_stopPercent

// Enter positions
if buyCondition
    strategy.entry(id="Long", direction=strategy.long)

if buyCondition[1]
    buyPrice := open

// Exit positions
if sellCondition or stopCondition
    strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
    buyPrice := na

// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)