চলমান গড় ক্রসওভারের উপর ভিত্তি করে একটি ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-24 14:59:44 অবশেষে সংশোধন করুন: 2024-01-24 14:59:44
অনুলিপি: 0 ক্লিকের সংখ্যা: 528
1
ফোকাস
1617
অনুসারী

চলমান গড় ক্রসওভারের উপর ভিত্তি করে একটি ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

  1. ৪, ৮ এবং ২০ চক্রের ইএমএ লাইন গণনা করুন।
  2. চার-চক্র EMA লাইন এবং আট-চক্র EMA লাইন সম্পর্ক বিচার করুনঃ
    1. যখন 4 চক্রের ইএমএ লাইন 8 চক্রের ইএমএ লাইন অতিক্রম করে, তখন দামের গতিশীলতা শক্তিশালী হয় এবং এটি একটি মাল্টি-হেড সংকেত।
    2. যখন 4 চক্রের ইএমএ 8 চক্রের ইএমএ অতিক্রম করে, তখন দামের গতি দুর্বল হয়ে যায় এবং এটি একটি ফাঁকা মাথা সংকেত।
  3. একই সময়ে, 20 পিরিয়ডের ইএমএ লাইনের দিক নির্ণয় করুনঃ
    1. যদি 20 চক্রের EMA লাইন উপরে যায়, Enter Long
    2. যদি 20 পিরিয়ড EMA লাইন নিচে যায়, Enter Short
  4. যখন 4 চক্রের ইএমএ লাইন এবং 8 চক্রের ইএমএ লাইন সম্পর্ক বিপরীত হয়, তখন Prepare Exit。
  5. যখন 20 পিরিয়ড ইএমএ লাইনের দিকটি বিপরীত হয়, তখন Exit Now。

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

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

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

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

কৌশলগত ঝুঁকি

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

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

এই সমস্যা সমাধানের প্রধান উপায়গুলো হলঃ

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

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

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

  1. চক্র অপ্টিমাইজেশানঃ বিভিন্ন জাতের জন্য সর্বোত্তম এমএ চক্রের সমন্বয় নির্ধারণ করা ২. স্টপ লস অপ্টিমাইজেশনঃ যুক্তিসঙ্গতভাবে স্টপ লস সেট করুন, একক ক্ষতি নিয়ন্ত্রণ করুন ৩. প্যারামিটার অপ্টিমাইজেশনঃ জেনেটিক্যাল অ্যালগরিদম, মারকভ চেইন ইত্যাদির মাধ্যমে প্যারামিটারগুলিকে গতিশীলভাবে অপ্টিমাইজ করা

৪. মডেল ইন্টিগ্রেশনঃ এলএসটিএম, আরএনএন ইত্যাদির সাথে গভীর শিক্ষার মডেলগুলির সাথে সংহতকরণ, আরও আলফা বের করতে

৫. সমন্বয় অপ্টিমাইজেশানঃ সমন্বয় অন্যান্য সূচক কৌশল সঙ্গে সমন্বয়, সমন্বয় কৌশল নির্মাণ

সারসংক্ষেপ

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

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