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


সৃষ্টির তারিখ: 2023-11-23 13:38:02 অবশেষে সংশোধন করুন: 2023-11-23 13:38:02
অনুলিপি: 0 ক্লিকের সংখ্যা: 631
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

সমান্তরাল ক্রসিং কৌশল হল একটি ট্রেডিং কৌশল যা চলমান সমান্তরাল উপর ভিত্তি করে তৈরি করা হয়। এটি একটি ক্রসিং দ্রুত চলমান সমান্তরাল এবং ধীর চলমান সমান্তরাল ব্যবহার করে একটি ক্রয় এবং বিক্রয় সংকেত হিসাবে। যখন দ্রুত সমান্তরালটি নীচের দিক থেকে ধীর সমান্তরালকে ভেঙে দেয় তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন দ্রুত সমান্তরালটি নীচের দিক থেকে ধীর সমান্তরালকে ভেঙে দেয় তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

কৌশল নীতি

এই কৌশলটি দ্রুত গড় এবং ধীর গড় হিসাবে নির্ধারিত সময়ের জন্য একটি সরল চলমান গড় গণনা করতে sma ফাংশন ব্যবহার করে। এই কৌশলটির ডিফল্ট দ্রুত গড় সময়কাল 18 দিন, যা প্যারামিটার দ্বারা সামঞ্জস্য করা যেতে পারে।

যখন দ্রুত গড় লাইনটি নীচের দিক থেকে ধীর গড় লাইনটি ভেঙে যায়, ক্রসউন্ডার ফাংশন ব্যবহার করে ক্রস সংকেত সনাক্ত করা হয়, একটি কেনার সংকেত উত্পন্ন করা হয়। যখন দ্রুত গড় লাইনটি নীচের দিক থেকে ধীর গড় লাইনটি ভেঙে যায়, ক্রসওভার ফাংশন ব্যবহার করে ক্রস সংকেত সনাক্ত করা হয়, একটি বিক্রয় সংকেত উত্পন্ন করা হয়।

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

সামর্থ্য বিশ্লেষণ

  • একটি শক্তিশালী ট্রেন্ড ট্র্যাকিং ক্ষমতা সঙ্গে একটি চলমান গড় লাইন ক্রস ব্যবহার করে, কার্যকরভাবে মূল্য প্রবণতা ক্যাপচার করতে পারেন
  • গড়রেখার কৌশল সহজ সরল, যুক্তিসঙ্গতভাবে সুস্পষ্ট এবং সহজেই বোঝা যায়
  • বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য রেখে গড় লাইন প্যারামিটারগুলিকে সামঞ্জস্য করে কৌশলটি অপ্টিমাইজ করা যায়
  • ট্রেডিংয়ের স্বয়ংক্রিয়করণের জন্য কৌশল, যা মানুষের হস্তক্ষেপ ছাড়াই পরিচালনার খরচ কমাবে

ঝুঁকি ও সমাধান

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

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-11-15 00:00:00
end: 2023-11-17 04:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "MA Close Strategy", shorttitle = "MA Close",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

MASource   = input(defval = open, title = "MA Source")
MaLength   = input(defval = 18, title = "MA Period", minval = 1)

StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")
stopLoss = input(50, title = "Stop loss percentage(0.1%)") 

window() => time >=  timestamp(StartYear, StartMonth, StartDay,00,00) ? true : false

MA = sma(MASource,MaLength)

plot(MA, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)

long = crossunder(MA, close)
short = crossover(MA, close)

if (long)
    strategy.entry("LongId", strategy.long, when = long)
    strategy.exit("ExitLong", from_entry = "LongId", when = short)

if (short)
    strategy.entry("ShortId", strategy.short, when = short)
    strategy.exit("ExitShort", from_entry = "ShortId", when = long)

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)