মাল্টি-লেভেল শিফট মুভিং গড় ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখঃ 2023-09-23 15:55:20
ট্যাগঃ

সারসংক্ষেপ

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

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

  1. বেস লাইন হিসাবে এসআরসি মূল্যের লিন সময়ের সহজ চলমান গড় গণনা করুন।

  2. দীর্ঘ এবং সংক্ষিপ্ত প্যারামিটার উপর ভিত্তি করে দীর্ঘ এবং সংক্ষিপ্ত লাইন সংখ্যা সেট করুন।

  3. লংলাইন1 ইত্যাদি লংলেভেল1 ইত্যাদি অনুপাত অনুযায়ী বেস লাইন স্থানান্তর করে সেট করা হয়। শর্টলাইনগুলি অনুরূপভাবে সেট করা হয়।

  4. ট্রেডিংয়ের সময়সীমার মধ্যে যখন মূল্য লাইন অতিক্রম করে তখন একাধিক স্তরে ট্রেড করুন।

  5. যখন দাম বেস লাইন স্পর্শ করবে তখন হ্রাস বন্ধ করুন।

  6. শেষ সময়ের পর সব অবস্থান বন্ধ করুন।

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

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

  1. মাল্টি-লেভেল এন্ট্রি ট্রেন্ডের বিভিন্ন পর্যায়ে মুনাফা অর্জনের অনুমতি দেয়।

  2. বিভিন্ন পণ্য এবং ট্রেডিং স্টাইলের জন্য পরামিতি সহ অত্যন্ত কাস্টমাইজযোগ্য।

  3. চলমান গড়ের উপর ভিত্তি করে নির্ভরযোগ্য ব্রেকআউট সিস্টেম।

  4. ট্রেডযোগ্য সময়সীমা নির্ধারণ করে বড় ইভেন্টগুলি এড়ানো।

  5. স্টপ লসের মাধ্যমে হ্রাস করা হয়েছে।

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

কৌশলটির কিছু ঝুঁকিঃ

  1. পিরামিড পজিশনের উচ্চ ঝুঁকি, পর্যাপ্ত মূলধন প্রয়োজন।

  2. অপ্রয়োজনীয় প্যারামিটারগুলি অত্যধিক ট্রেডিংয়ের দিকে পরিচালিত করতে পারে।

  3. স্থির প্রস্থানের সময় বিলম্বিত ট্রেন্ড মুনাফা মিস করতে পারে।

  4. ওভার নাইট পজিশন এবং ক্যারি কস্টের জন্য কোনো হিসাব নেই।

  5. অবস্থান আকারের উপর কোন নিয়ন্ত্রণ নেই।

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

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

  1. স্থির প্রস্থান সময়ের পরিবর্তে ট্রেলিং স্টপ লস যোগ করুন।

  2. ওভার নাইট পজিশনের জন্য বহন খরচ বিবেচনা করুন।

  3. বিলম্বিত মুনাফা ক্যাপচার করার জন্য ট্রেলিং স্টপ লস যোগ করুন।

  4. বর্তমান এক্সপোজারের উপর ভিত্তি করে গতিশীলভাবে আকারের অবস্থান।

  5. বিভিন্ন পণ্য এবং বিল্ড অপ্টিমাইজেশান পদ্ধতিতে পরামিতি পরীক্ষা করুন।

  6. অপ্রয়োজনীয় স্টপ এড়ানোর জন্য স্টপ লস স্তরগুলি অপ্টিমাইজ করুন।

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

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


/*backtest
start: 2022-09-16 00:00:00
end: 2023-09-22 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.1", shorttitle = "ShiftMA-multi", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)

//Settings
long = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for long")
short = input(3, defval = 3, minval = 0, maxval = 3, title = "Lines for short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot")
len = input(3, minval = 1, title = "MA Length")
src = input(ohlc4, title = "MA Source")
shortlevel3 = input(15.0, title = "Short line 3")
shortlevel2 = input(10.0, title = "Short line 2")
shortlevel1 = input(5.0, title = "Short line 1")
longlevel1 = input(-5.0, title = "Long line 1")
longlevel2 = input(-10.0, title = "Long line 2")
longlevel3 = input(-15.0, title = "Long line 3")
needoffset = input(true, title = "Offset")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

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

//MA
ma = sma(src, len)
longline1 = long >= 1 ? round(ma * ((100 + longlevel1) / 100) * mult) / mult : close
longline2 = long >= 2 ? round(ma * ((100 + longlevel2) / 100) * mult) / mult : close
longline3 = long >= 3 ? round(ma * ((100 + longlevel3) / 100) * mult) / mult : close
shortline1 = short >= 1 ? round(ma * ((100 + shortlevel1) / 100) * mult) / mult : close
shortline2 = short >= 2 ? round(ma * ((100 + shortlevel2) / 100) * mult) / mult : close
shortline3 = short >= 3 ? round(ma * ((100 + shortlevel3) / 100) * mult) / mult : close

//Lines
colorlong1 = long >= 1 ? color.lime : na
colorlong2 = long >= 2 ? color.lime : na
colorlong3 = long >= 3 ? color.lime : na
colorshort1 = short >= 1 ? color.red : na
colorshort2 = short >= 2 ? color.red : na
colorshort3 = short >= 3 ? color.red : na
offset = needoffset ? 1 : 0
plot(shortline3, offset = offset, color = colorshort1)
plot(shortline2, offset = offset, color = colorshort2)
plot(shortline1, offset = offset, color = colorshort3)
plot(ma, offset = offset, color = color.blue)
plot(longline1, offset = offset, color = colorlong1)
plot(longline2, offset = offset, color = colorlong2)
plot(longline3, offset = offset, color = colorlong3)

//Trading
lot = 0.0
lot := size == 0 ? strategy.equity / close * capital / 100 : lot[1]
lots = 0.0
needtime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)
if ma > 0
    lots := round(size / lot)
    strategy.entry("L1", strategy.long, lot, limit = longline1, when = (lots == 0 and long >= 1 and needtime))
    lots := round(size / lot)
    strategy.entry("L2", strategy.long, lot, limit = longline2, when = (lots <= 1 and long >= 2 and needtime))
    lots := round(size / lot)
    strategy.entry("L3", strategy.long, lot, limit = longline3, when = (lots <= 2 and long >= 3 and needtime))
    
    lots := round(size / lot)
    strategy.entry("S1", strategy.short, lot, limit = shortline1, when = (lots == 0 and short >= 1 and needtime))
    lots := round(size / lot)
    strategy.entry("S2", strategy.short, lot, limit = shortline2, when = (lots >= -1 and short >= 2 and needtime))
    lots := round(size / lot)
    strategy.entry("S3", strategy.short, lot, limit = shortline3, when = (lots >= -2 and short >= 3 and needtime))
if size > 0
    strategy.entry("TPL", strategy.short, 0, limit = ma)
if size < 0
    strategy.entry("TPS", strategy.long, 0, limit = ma)
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()

আরো