গড় বিপরীতমুখী কৌশল যা চলমান গড়ের উপর ভিত্তি করে

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২১ 15:45:23
ট্যাগঃ

img

এই কৌশলটির নাম Mean Reversion Reverse Strategy Based on Moving Average। মূল ধারণাটি হ'ল যখন মূল্য মূল চলমান গড়ের মধ্য দিয়ে যায় এবং পূর্বনির্ধারিত লক্ষ্যমাত্রায় পৌঁছলে মুনাফা অর্জন করে।

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

নির্দিষ্ট এন্ট্রি লজিকটি হলঃ মূল্য 20 দিনের এমএ অতিক্রম করার সময় 1 লট কিনুন, 50 দিনের এমএ অতিক্রম করার সময় 1 লট যুক্ত করুন, 100 দিনের এমএ অতিক্রম করার সময় 1 লট যুক্ত করুন এবং 200 দিনের এমএ অতিক্রম করার সময় সর্বোচ্চ 4 লটের জন্য 1 লট যোগ করুন। পূর্বনির্ধারিত লক্ষ্যমাত্রায় পৌঁছানোর পরে মুনাফা নিন। এটি সময় এবং স্টপ লস শর্তও সেট করে।

সুবিধা বিশ্লেষণ

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

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

  1. দীর্ঘ সময় ধরে হোল্ডিংয়ের ঝুঁকির সম্মুখীন হতে পারে। যদি বাজার অব্যাহত থাকে তবে ক্ষতি বাড়বে।
  2. এমএ সিগন্যালগুলি মিথ্যা সংকেত দিতে পারে, যার ফলে ক্ষতি হতে পারে
  3. যদি লাভের লক্ষ্যমাত্রা অর্জন না করা হয় তবে পুরোপুরি বা আংশিকভাবে লাভ নিতে ব্যর্থ হতে পারে

অপ্টিমাইজেশান নির্দেশাবলী

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

সংক্ষিপ্তসার

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


/*backtest
start: 2023-12-13 00:00:00
end: 2023-12-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA_zorba1", shorttitle="zorba_ema", overlay=true)

// Input parameters
qt1 = input.int(5, title="Quantity 1", minval=1)
qt2 = input.int(10, title="Quantity 2", minval=1)
qt3 = input.int(15, title="Quantity 3", minval=1)
qt4 = input.int(20, title="Quantity 4", minval=1)
ema10 = ta.ema(close, 10)
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema100 = ta.ema(close, 100)
ema200 = ta.ema(close, 200)

// Date range filter
start_date = timestamp(year=2021, month=1, day=1)
end_date = timestamp(year=2024, month=10, day=27)
in_date_range = true

// Profit condition
profit_percentage = input(1, title="Profit Percentage")  // Adjust this value as needed

// Pyramiding setting
pyramiding = input.int(2, title="Pyramiding", minval=1, maxval=10)

// Buy conditions
buy_condition_1 = in_date_range and close < ema20 and close > ema50 and close < open and close < low[1]
buy_condition_2 = in_date_range and close < ema50 and close > ema100 and close < open and close < low[1]
buy_condition_3 = in_date_range and close < ema100 and close > ema200 and close < open and close < low[1]
buy_condition_4 = in_date_range and close < ema200 and close < open and close < low[1]

// Exit conditions
profit_condition = strategy.position_avg_price * (1 + profit_percentage / 100) <= close
exit_condition_1 = in_date_range and (close > ema10 and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and profit_condition and close < low[1] and close < low[2]
exit_condition_2 = in_date_range and (close < ema10 and close[1] > ema10 and close < close[1] and ema10 > ema20 and ema10 > ema50 and ema10 > ema100 and ema10 > ema200 and close < open) and profit_condition and close < low[1] and close < low[2]

// Exit condition for when today's close is less than the previous day's low
//exit_condition_3 = close < low[1]

// Strategy logic
strategy.entry("Buy1", strategy.long, qty=qt1 * pyramiding, when=buy_condition_1)
strategy.entry("Buy2", strategy.long, qty=qt2 * pyramiding, when=buy_condition_2)
strategy.entry("Buy3", strategy.long, qty=qt3 * pyramiding, when=buy_condition_3)
strategy.entry("Buy4", strategy.long, qty=qt4 * pyramiding, when=buy_condition_4)

strategy.close("Buy1", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy2", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy3", when=exit_condition_1 or exit_condition_2)
strategy.close("Buy4", when=exit_condition_1 or exit_condition_2)

আরো