মুভিং এভারেজ ট্রেডিং কৌশল

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

সারসংক্ষেপ

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

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

কৌশলটি SMA ফাংশন ব্যবহার করে দৈর্ঘ্য len সঙ্গে চলমান গড় রেখা ma গণনা করে। তারপর এটি 3 অতিরিক্ত চলমান গড় রেখা longline1, longline2, longline3 গণনা করে যা যথাক্রমে -4%, -5%, -6% দ্বারা স্থানান্তরিত হয়।

লং সিগন্যাল জেনারেশনের জন্য, যদি বর্তমান অবস্থানটি সমতল হয় তবে দাম লংলাইন 1 এর উপরে অতিক্রম করলে এটি 1 লটের সাথে দীর্ঘ হয়। যদি ইতিমধ্যে 1 লট দীর্ঘ হয় তবে দাম লংলাইন 2 এর উপরে অতিক্রম করার সময় এটি আরও 1 লট যুক্ত করে। যদি ইতিমধ্যে 2 লট দীর্ঘ হয় তবে দাম লংলাইন 3 এর উপরে অতিক্রম করার সময় এটি আরও 1 লট যুক্ত করে। সর্বোচ্চ লং অবস্থান 3 লট।

সংক্ষিপ্ত সংকেত উৎপন্ন করার জন্য, যদি ইতিমধ্যে দীর্ঘ হয়, তবে দামটি এমএ এর নীচে ক্রস করলে এটি সমস্ত দীর্ঘ পজিশন থেকে বেরিয়ে আসে।

ধাপে ধাপে এন্ট্রি কৌশল প্রবণতা অনুসরণ করতে পারবেন।

সুবিধা

  • ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য চলমান গড় ব্যবহার করে বাজার গোলমাল ফিল্টার করে এবং স্থিতিশীল মুনাফা দেয়
  • ধাপে ধাপে দীর্ঘ/সংক্ষিপ্ত এন্ট্রিগুলি প্রবণতা থেকে আরও বেশি লাভ করতে পারে
  • প্রবণতাকে আরও ভালভাবে ধরার জন্য প্রবেশের পয়েন্ট হিসাবে সরানো চলমান গড় ব্যবহার করা হয়
  • তুলনামূলকভাবে ছোট পরিমাণে ব্যবহার, সর্বোচ্চ ব্যবহার 20% এর কাছাকাছি নিয়ন্ত্রিত

ঝুঁকি

  • পরিসীমা সীমাবদ্ধ বাজারগুলির সময় কৌশল অনুসরণ করে খাঁটি প্রবণতা হ্রাস পায়
  • চলমান গড় থেকে বিলম্বিত সংকেতগুলি প্রবণতা টার্নিং পয়েন্টগুলি মিস করতে পারে
  • ধাপে ধাপে লং এন্ট্রি উচ্চ মূল্যের পিছনে এবং ঝুঁকি বৃদ্ধি করতে পারে
  • কোন স্টপ লস মেকানিজম হঠাৎ ঘটনা থেকে বড় ক্ষতি হতে পারে

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

  • প্রবণতা বাঁক পয়েন্ট নির্ধারণের জন্য অন্যান্য সূচক যোগ করুন
  • যুক্তিসঙ্গতভাবে চলমান গড় পরামিতি সেট করুন, খুব বেশি দীর্ঘ না, খুব বিলম্ব সংকেত এড়ানোর জন্য
  • উচ্চ দামের পিছনে না যাওয়ার জন্য ধাপে ধাপে দীর্ঘ প্রবেশের লট হ্রাস করুন
  • হ্রাস সীমাবদ্ধ করতে চলমান স্টপ লস যোগ করুন

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

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

  1. প্রবণতা শক্তি নির্ধারণের জন্য MACD এর মত অন্যান্য সূচক যোগ করুন

  2. সেরা সমন্বয় খুঁজে পেতে চলন্ত গড় পরামিতি অপ্টিমাইজ করুন

  3. উচ্চমূল্যের পিছনে না চলার জন্য পর্যায়ক্রমে প্রবেশের লটের আকার এবং অনুপাত সামঞ্জস্য করুন

  4. ATR এর উপর ভিত্তি করে চলমান স্টপ লস মেকানিজম যোগ করুন

  5. বাজারের অস্থিরতার উপর ভিত্তি করে গতিশীলভাবে পজিশনের আকার সামঞ্জস্য করুন, উচ্চ অস্থিরতার সময় আকার হ্রাস করুন

  6. সর্বোত্তম প্রতীক খুঁজে পেতে বিভিন্ন পণ্যের উপর পরীক্ষার পরামিতি

  7. নির্দিষ্ট প্যাটার্ন থেকে মুনাফা নেওয়ার জন্য একটি প্রস্থান মডিউল তৈরি করুন

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

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


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

//Noro
//2019

//@version=4
strategy(title = "Noro's ShiftMA-multi Strategy v1.0", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Lenghs")
src = input(ohlc4, title = "MA Source")
longlevel1 = input(-4.0, title = "Long line 1")
longlevel2 = input(-5.0, title = "Long line 2")
longlevel3 = input(-6.0, title = "Long line 3")
needoffset = input(true, title = "Offset")

//Variables
size = strategy.position_size
mult = 1 / syminfo.mintick

//MA
ma = sma(src, len)
longline1 = round(ma * ((100 + longlevel1) / 100) * mult) / mult
longline2 = round(ma * ((100 + longlevel2) / 100) * mult) / mult
longline3 = round(ma * ((100 + longlevel3) / 100) * mult) / mult

//Lines
offset = needoffset ? 1 : 0
plot(ma, color = color.blue)
plot(longline1, offset = offset, color = color.lime)
plot(longline2, offset = offset, color = color.lime)
plot(longline3, offset = offset, color = color.lime)

//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
if ma > 0
    lots := round(size / lot)
    strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0))
    lots := round(size / lot)
    strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1))
    lots := round(size / lot)
    strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2))
if size > 0
    strategy.entry("TP", strategy.short, 0, limit = ma)
    

আরো