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


সৃষ্টির তারিখ: 2023-11-27 16:21:45 অবশেষে সংশোধন করুন: 2023-11-27 16:21:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 553
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

এই কৌশলটি 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)