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

লেখক:চাওঝাং, তারিখঃ 2024-01-24 14:59:44
ট্যাগঃ

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

এই কৌশলটির মূল যুক্তি হল:

  1. ৪টি, ৮টি এবং ২০টি সময়ের EMA রেখা গণনা করুন।
  2. ৪ পেরিওড EMA লাইন এবং ৮ পেরিওড EMA লাইনের মধ্যে সম্পর্ক নির্ধারণ করুনঃ
    1. যখন ৪ পেরিওডের ইএমএ লাইন ৮ পেরিওডের ইএমএ লাইনের উপরে অতিক্রম করে, এর অর্থ হল দামের প্রবণতা শক্তিশালী হচ্ছে, যা একটি উত্থান সংকেত।
    2. যখন ৪ পেরিওডের ইএমএ ৮ পেরিওডের ইএমএ এর নিচে চলে যায়, তখন এর অর্থ হল দামের প্রবণতা দুর্বল হচ্ছে, যা হ্রাসের সংকেত।
  3. একই সময়ে, ২০ পেরিওডের EMA লাইনের দিকনির্দেশনা বিচার করুনঃ
    1. যদি ২০ পেরিওডের ইএমএ লাইন উপরে যায়, তাহলে লং এন্টার করুন।
    2. যদি ২০ পেরিওডের ইএমএ লাইন নিচে যায়, তাহলে শর্ট এন্টার করুন।
  4. যখন ৪ পেরিওড EMA লাইন এবং ৮ পেরিওড EMA লাইনের মধ্যে সম্পর্ক বিপরীত হয়, Exit প্রস্তুত করুন।
  5. যখন ২০ পেরিওডের ইএমএ লাইনের দিক বিপরীত হবে, এখনই বেরিয়ে আসুন।

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

কৌশলটির সুবিধা

এই কৌশলটির প্রধান সুবিধাগুলো হল:

  1. কৌশলগত যুক্তি সহজ এবং স্পষ্ট, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।
  2. ডাবল কন্ডিশন ফিল্টারিং মিথ্যা সংকেত কমাতে পারে।
  3. ২০ পেরিওডের EMA থেকে প্রবৃদ্ধি প্রধান প্রবণতা চিহ্নিত করতে পারে এবং স্থিতিশীলতা বাড়াতে পারে।
  4. ট্রেডিং ফ্রিকোয়েন্সি সামঞ্জস্য করার জন্য কাস্টমাইজযোগ্য পরামিতি।
  5. জটিল কৌশল তৈরির জন্য অন্যান্য সূচক বা মডেলের সাথে একত্রিত করা সহজ।

কৌশলটির ঝুঁকি

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. ডাবল মুভিং এভারেজ কৌশলগুলি মিথ্যা সংকেত তৈরি করে।
  2. নির্দিষ্ট সময়সীমা বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নিতে পারে না।
  3. বাজারের ওঠানামা চলাকালীন ক্ষতির সৃষ্টি করা সহজ।

প্রধান সমাধানগুলি হলঃ

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

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

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. সময়কালের অপ্টিমাইজেশানঃ বিভিন্ন জাতের অনুযায়ী সর্বোত্তম এমএ সময়কালের সমন্বয় নির্ধারণ করুন।

  2. স্টপ লস অপ্টিমাইজেশনঃ একক ক্ষতি নিয়ন্ত্রণের জন্য যুক্তিসঙ্গতভাবে স্টপ লস পয়েন্ট সেট করুন।

  3. প্যারামিটার অপ্টিমাইজেশনঃ জেনেটিক অ্যালগরিদম, মার্কভ চেইন ইত্যাদি ব্যবহার করে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করুন।

  4. মডেল ফিউশনঃ আরও আলফা বের করার জন্য এলএসটিএম, আরএনএন এবং অন্যান্য গভীর শেখার মডেলগুলির সাথে সংহত করুন।

  5. পোর্টফোলিও অপ্টিমাইজেশনঃ কৌশলগত পোর্টফোলিও তৈরির জন্য অন্যান্য প্রযুক্তিগত সূচক কৌশলগুলির সাথে একত্রিত করুন।

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

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2.05)
//stock strategy
strategy(title = "stub",   overlay = true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.percent,commission_value=.0,default_qty_value=10000)


testStartYear = input(1900, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() => true

ema1 = ema(close,4)
ema2 = ema(close,8)
ema3 = ema(close,20)

go_long = ema1[0] > ema2[0] and ema3[0] > ema3[1]
exit_long = ema1[0] < ema2[0] or ema3[0] < ema3[1]

go_short = ema1[0] < ema2[0] and ema3[0] < ema3[1]
exit_short = ema1[0] > ema2[0] or ema3[0] > ema3[1]

 
if testPeriod()
    strategy.entry("simpleBuy", strategy.long, when=go_long)
    strategy.exit("simpleBuy", "simpleSell",when=exit_long)
    
    strategy.entry("simpleSell", strategy.short,when=go_short)
    strategy.exit("simpleSell", "simpleSell",when=exit_short)
        
    


আরো