সুপারট্রেন্ডের উপর ভিত্তি করে দীর্ঘমেয়াদী ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-09-20 17:14:33 অবশেষে সংশোধন করুন: 2023-09-20 17:14:33
অনুলিপি: 0 ক্লিকের সংখ্যা: 770
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এই কৌশলটি সুপারট্রেন্ড সূচকের মাধ্যমে দীর্ঘ লাইন প্রবেশের সুযোগগুলি চিহ্নিত করে। এটি গড় বাস্তব পরিসীমা এটিআর এবং গুণক ব্যবহার করে গতিশীল সমর্থন স্থল নির্ধারণ করে এবং দীর্ঘ অবস্থানে প্রবেশ করে। কৌশলটি দীর্ঘ অবস্থানের ব্যবসায়ের সুযোগগুলিতে মনোনিবেশ করে।

কৌশল নীতি

  1. এটিআর চক্র এবং গুণক অনুসারে উচ্চতর এবং নিম্নতর ট্র্যাকিংয়ের হিসাব করা হয়েছে। দামগুলি যখন উচ্চতর হয় তখন উত্সাহিত হয় এবং যখন নিম্নতর হয় তখন পতিত হয়।

  2. বর্তমান প্রবণতা গণনা করুন, 1 একটি উত্থান, -1 একটি পতন বোঝায়। যখন দামটি ট্রেনে উঠে যায়, তখন প্রবণতাটি একটি পতন ঘোরাফেরা করে, একটি কেনার সংকেত ট্রিগার করে; যখন এটি ট্রেন থেকে বেরিয়ে যায়, তখন প্রবণতাটি একটি পতন ঘোরাফেরা করে, একটি বিক্রয় সংকেত ট্রিগার করে।

  3. প্রবণতা ফিল্টার হিসাবে চলমান গড়ের সাথে মিলিত, ক্রয়ের জন্য এমএ এর চেয়ে বেশি দামের প্রয়োজন হয়, এবং বিক্রয়ের জন্য এমএ এর চেয়ে কম দামের প্রয়োজন হয়, যাতে ভুয়া ব্রেকডাউন এড়ানো যায়।

  4. ট্রেডিং সিগন্যাল, ট্রেডিং ট্রেন্ড ইত্যাদির উপর দৃষ্টিভঙ্গি প্রদর্শন করে।

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

এই কৌশলটি নিম্নলিখিত সুবিধাগুলি নিয়ে গঠিতঃ

  1. সুপারট্রেন্ড সূচক ব্যবহার করে গতিশীলভাবে দামের পরিবর্তনগুলি ট্র্যাক করা যায়, যা সময়মতো প্রবণতা পরিবর্তনকে প্রতিফলিত করে।

  2. এটিআর স্টপ-অফ পদ্ধতিটি বাজারের ওঠানামা অনুযায়ী স্টপ-অফ স্থিতি পরিবর্তন করতে পারে, লাভের লকিংয়ের পক্ষে।

  3. এমএ নির্মূলের সাথে মিথ্যে ব্রেকআউটের সংমিশ্রণে, বাজারের গোলমাল এবং অস্থিরতা থেকে কার্যকরভাবে ট্রেডিং সিগন্যালগুলিকে ফিল্টার করা যায়।

  4. এটি সহজেই পরিচালনা করা যায় এবং ট্রেডিং কৌশল এবং বাজারের পরিস্থিতিকে সহজেই প্রদর্শন করে।

  5. ট্রেডিং শুধুমাত্র ট্রেন্ড টার্নপয়েন্টের উপর নির্ভর করে, যা লং লাইন হোল্ডিংয়ের জন্য খুবই উপযুক্ত।

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

এই কৌশলটি নিম্নলিখিত ঝুঁকির সাথে জড়িতঃ

  1. সুপারট্রেন্ড সূচকটি প্যারামিটার সংবেদনশীল, মাল্টি-এয়ারলাইন নিয়মিত হয় এবং প্রায়শই লেনদেন হতে পারে।

  2. স্ট্যাম্প লাইনটি প্রায়শই ঝড়ের সময় চালু করা হয়।

  3. লেনদেনের খরচ ছাড়াও, ছোট পরিমাণে অর্থ লেনদেনের খরচ দ্বারা প্রভাবিত হয়।

  4. স্টপ লস সেট না করা, প্রত্যাহারের ঝুঁকি বেশি।

  5. ট্রেন্ড ওয়াইফ কিছু সুযোগ হাতছাড়া করতে পারে।

নিম্নলিখিত উপায়ে ঝুঁকি কমাতে পারেনঃ

  1. এটিআর প্যারামিটারগুলিকে অপ্টিমাইজ করুন এবং মাল্টি-এয়ারলাইন সামঞ্জস্যের ফ্রিকোয়েন্সি হ্রাস করুন।

  2. সমতুল্য কে-লাইন ফিল্টার যুক্ত করুন, উচ্চ-ফ্রিকোয়েন্সি ছোট তরঙ্গ দ্বারা ক্ষতিগ্রস্ত হওয়া এড়াতে।

  3. স্টপ লস সেট করুন, স্টপ ফ্রিজ করুন, মুনাফা সুরক্ষিত করুন।

  4. চলমান গড়ের চক্রের যথাযথ সমন্বয়, ফিল্টারিংয়ের প্রভাবকে ভারসাম্যপূর্ণ করে তোলে।

  5. তহবিল ব্যবস্থাপনা অপ্টিমাইজ করুন এবং লেনদেনের খরচ কমানো।

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

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

  1. বিভিন্ন মূল্যের উৎস পরীক্ষা করুন, যেমন বন্ধের মূল্য, সর্বোচ্চ মূল্য ইত্যাদি।

  2. অন্যান্য গতিশীল স্টপ লস ইন্ডিকেটর চেষ্টা করুন, যেমন চ্যান্ডেলিয়ার এক্সট।

  3. পজিশন ম্যানেজমেন্ট মডিউল যুক্ত করুন এবং তহবিলের ব্যবহারের দক্ষতা অনুকূলিত করুন।

  4. রিফাইন এন্ট্রি টাইমিংয়ের সাথে ওভাররাইটিং ইন্ডিকেটর যুক্ত করা হয়েছে।

  5. স্টপ লস মডিউল যোগ করুন, ঝুঁকি নিয়ন্ত্রণ করুন।

  6. বিভিন্ন বাজারের জন্য সমন্বয় প্যারামিটার

  7. মেশিন লার্নিং অ্যালগরিদমের মাধ্যমে প্যারামিটার অপ্টিমাইজেশান আবিষ্কার করুন।

  8. অন্যান্য সূচক সমন্বয় করে বিচার করা, যা ফিল্টারিংয়ের নির্ভুলতা বাড়ায়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2020-09-13 00:00:00
end: 2023-09-19 00:00:00
period: 3d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("SuperTrend Long Strategy", overlay=true, initial_capital=50000, currency=currency.USD, default_qty_type=strategy.cash, default_qty_value=50000)

Periods = input(title="ATR Period", type=input.integer, defval=10)
src = input(hl2, title="Source")
Multiplier = input(title="ATR Multiplier", type=input.float, step=0.1, defval=3.0)
changeATR = input(title="Change ATR Calculation Method ?", type=input.bool, defval=true)
showsignals = input(title="Show Buy/Sell Signals ?", type=input.bool, defval=false)
highlighting = input(title="Highlighter On/Off ?", type=input.bool, defval=true)
barcoloring = input(title="Bar Coloring On/Off ?", type=input.bool, defval=true)

atr2 = sma(tr, Periods)
atr = changeATR ? atr(Periods) : atr2

up = src - (Multiplier * atr)
up1 = nz(up[1], up)
up := close[1] > up1 ? max(up, up1) : up

dn = src + (Multiplier * atr)
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? min(dn, dn1) : dn

trend = 1
trend := nz(trend[1], trend)
trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend

// Moving Average as Trend Filter
periodes_ma = input(title="Moving Average Period", type=input.integer, defval=20)
src_ma = input(title="Moving Average Source", type=input.source, defval=close)
ma = sma(src_ma, periodes_ma)

upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green)
buySignal = trend == 1 and trend[1] == -1 and close > ma
plotshape(buySignal ? up : na, title="UpTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.green, 0))
plotshape(buySignal and showsignals ? up : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0))

dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red)
sellSignal = trend == -1 and trend[1] == 1 and close < ma
plotshape(sellSignal ? dn : na, title="DownTrend Begins", location=location.absolute, style=shape.circle, size=size.tiny, color=color.new(color.red, 0))
plotshape(sellSignal and showsignals ? dn : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0))

mPlot = plot(ohlc4, title="", style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? (trend == 1 ? color.new(color.green, 70) : color.white) : color.white
shortFillColor = highlighting ? (trend == -1 ? color.new(color.red, 70) : color.white) : color.white
fill(mPlot, upPlot, title="UpTrend Highlighter", color=longFillColor)
fill(mPlot, dnPlot, title="DownTrend Highlighter", color=shortFillColor)

FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2018, title = "From Year", minval = 999)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 9999, title = "To Year", minval = 999)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       

window()  => time >= start and time <= finish ? true : false

longCondition = buySignal
if (longCondition)
    strategy.entry("BUY", strategy.long, when = window())

shortCondition = sellSignal
if (shortCondition)
    strategy.close("BUY")
    strategy.entry("SELL", strategy.short, when = window())

buy1 = barssince(buySignal)
sell1 = barssince(sellSignal)
color1 = buy1[1] < sell1[1] ? color.green : buy1[1] > sell1[1] ? color.red : na
barcolor(barcoloring ? color1 : na)