গোল্ডেন ক্রস অপ্টিমাইজড মুভিং এভারেজ ক্রসওভার ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-১৯ 13:37:33
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি ঐতিহ্যবাহী চলমান গড় ক্রসওভার কৌশলকে অপ্টিমাইজ করে, বিভিন্ন সময়কালের সাথে তিনটি চলমান গড় সেট করে, 9-অবধি, 50-অবধি এবং 100-অবধি চলমান গড়ের সাথে একটি সোনার ক্রস প্যাটার্ন তৈরি করে। এটি যখন স্বল্পমেয়াদী এমএ মধ্যমেয়াদী এমএ এর উপরে অতিক্রম করে যখন দীর্ঘমেয়াদী এমএ একটি আপট্রেন্ডে থাকে তখন এটি ক্রয় সংকেত তৈরি করে। কৌশলটির নাম অপ্টিমাইজড গোল্ডেন ক্রস চলমান গড় ক্রসওভার ট্রেডিং কৌশল

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

কৌশলটি 9, 50 এবং 100 এর সময়কালের সাথে তিনটি চলমান গড় ব্যবহার করে। 9 পিরিয়ড এমএ হ'ল স্বল্পমেয়াদী এমএ, 50 পিরিয়ড এমএ হ'ল মাঝারি মেয়াদী এমএ এবং 100 পিরিয়ড এমএ হ'ল দীর্ঘমেয়াদী এমএ। স্বল্পমেয়াদী এমএ এবং মাঝারি মেয়াদী এমএ এর মধ্যে ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত উত্পন্ন হয়। বিশেষত, যখন দীর্ঘমেয়াদী এমএ একটি আপট্রেন্ডে থাকে (মাঝারি মেয়াদী এমএ এর উপরে), যখন স্বল্পমেয়াদী এমএ মাঝারি মেয়াদী এমএ এর উপরে অতিক্রম করে তখন একটি ক্রয় সংকেত সক্রিয় হয়। যখন স্বল্পমেয়াদী এমএ মাঝারি মেয়াদী এমএ এর নীচে অতিক্রম করে তখন একটি বিক্রয় সংকেত সক্রিয় হয়।

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

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

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

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

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

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

সিদ্ধান্ত

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


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

//@version=4
strategy("Golden Cross, SMA 100, Moving Average Strategy (by Coinrule)", shorttitle="Golden_Cross_Strat_MA100_optimized", overlay=true, initial_capital = 1000,process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

// Input
switch1=input(true, title="Enable Bar Color?")
switch2=input(false, title="Show Fast Moving Average")
switch3=input(true, title="Show Slow Moving Average")

//Calculate Moving Averages
movingaverage_fast = sma(close, input(9))
movingaverage_slow = sma(close, input(100))
movingaverage_normal= sma(close, input(50))

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"


// Calculation
bullish_cross = crossover(movingaverage_fast, movingaverage_normal)
bearish_cross = crossunder(movingaverage_fast, movingaverage_normal)

//Entry and Exit
if bullish_cross and window() and movingaverage_slow > movingaverage_normal
    strategy.entry("long", strategy.long)

strategy.close("long", when = bearish_cross and window())

// Colors
bartrendcolor = close > movingaverage_fast and close > movingaverage_slow and change(movingaverage_slow) > 0 ? color.green : close < movingaverage_fast and close < movingaverage_slow and change(movingaverage_slow) < 0 ? color.red : color.blue
barcolor(switch1?bartrendcolor:na)

// Output
plot(movingaverage_fast, color=color.orange, linewidth=2)
plot(movingaverage_slow, color=color.purple, linewidth=3)
plot(movingaverage_normal, color=color.blue, linewidth=2)

bgcolor(color = showDate and window() ? color.gray : na, transp = 90)

আরো