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

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

img

সারসংক্ষেপ

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

কৌশল নীতি

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

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

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

এই কৌশলটির নিম্নলিখিত সুবিধা রয়েছে:

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

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

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

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

প্যারামিটার অপ্টিমাইজেশান, স্টপ লস লেভেল সেটিং, ট্রেডিং শুধুমাত্র ট্রেন্ড পরিষ্কার হলে ইত্যাদি এই ঝুঁকিগুলি নিয়ন্ত্রণ এবং হ্রাস করতে ব্যবহার করা যেতে পারে।

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

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

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

পরীক্ষার মাধ্যমে এবং অপ্টিমাইজেশান, কৌশল নিয়ম বিভিন্ন বাজার পরিবেশে আরো নির্ভরযোগ্য ট্রেডিং সংকেত পেতে ক্রমাগত উন্নত করা যেতে পারে।

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

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


/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "es1!_1minute_hull", default_qty_type = strategy.fixed, initial_capital=250000,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2, calc_on_order_fills=false, calc_on_every_tick=false,pyramiding=0)
//strategy.risk.max_position_size(2)
//stock strategy
strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital=1000000, overlay = false)//, calc_on_order_fills=true, calc_on_every_tick=true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true,initial_capital=250000, default_qty_type = strategy.percent_of_equity)
//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=.005,default_qty_value=10000)
//strategy.risk.allow_entry_in(strategy.direction.long) // There will be no short entries, only exits from long.




testStartYear = 2010
testStartMonth = 1
testStartDay = 1
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testEndYear = 2039
testEndMonth = 1
testEndDay = 1
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)


testPeriod() =>
    //true
    time >= testPeriodStart and time <= testPeriodEnd ? true : false

fast_length = 30
slow_length = 33

ema1 = 0.0
ema2 = 0.0

volumeSum1 = sum(volume, fast_length)
volumeSum2 = sum(volume, slow_length)

//ema1 := (((volumeSum1 - volume) * nz(ema1[1]) + volume * close) / volumeSum1)
ema1 :=  ema(close,fast_length)
//ema2 := (((volumeSum2 - volume) * nz(ema2[1]) + volume * close) / volumeSum2)
ema2 :=  ema(close,slow_length)



plot(ema1,color=#00ff00, linewidth=3)
plot(ema2, color=#ffff00, linewidth=3)

go_long = crossover(ema1,ema2)
go_short = crossunder(ema1,ema2)

if testPeriod()
    strategy.entry("long_ride", strategy.long, when=go_long)
    strategy.entry("short_ride", strategy.short,when=go_short)
    
        
    strategy.close("long_ride",when=go_short)
    strategy.close("short_ride",when=go_long)
    

আরো