রিসোর্স লোড হচ্ছে... লোডিং...

কৌশল অনুসরণ করে গতিশীল প্রবণতা

লেখক:চাওঝাং, তারিখঃ 2024-06-03 16:57:51
ট্যাগঃএটিআর

img

সারসংক্ষেপ

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

কৌশল নীতি

  1. সুপারট্রেন্ড সূচকের উপরের (উপরে) এবং নীচের (ডন) ব্যান্ডগুলি গণনা করুন এবং বন্ধের দাম এবং উপরের এবং নীচের ব্যান্ডগুলির মধ্যে সম্পর্কের ভিত্তিতে বর্তমান প্রবণতা দিক (প্রবণতা) নির্ধারণ করুন।
  2. যখন প্রবণতা নিম্নগামী (-1) থেকে ঊর্ধ্বগামী (1) তে পরিবর্তিত হয় তখন একটি ক্রয় সংকেত (buySignal) উৎপন্ন করা হয় এবং যখন প্রবণতা ঊর্ধ্বগামী (1) থেকে ঊর্ধ্বগামী (-1) তে পরিবর্তিত হয় তখন একটি বিক্রয় সংকেত (sellSignal) উৎপন্ন করা হয়।
  3. যখন একটি ক্রয় সংকেত উৎপন্ন হয়, তখন একটি লং পজিশন খুলুন এবং স্টপ-লস স্তর হিসাবে নিম্ন ব্যান্ড (ডন) সেট করুন; যখন একটি বিক্রয় সংকেত উৎপন্ন হয়, তখন একটি শর্ট পজিশন খুলুন এবং স্টপ-লস স্তর হিসাবে উপরের ব্যান্ড (উপরে) সেট করুন।
  4. স্টপ-লস লজিক চালু করুন, যেখানে স্টপ-লস স্তরটি নির্দিষ্ট সংখ্যক পয়েন্ট (ট্রেইলিং ভ্যালু) দ্বারা মূল্য বৃদ্ধি / পতনের সময় উপরে / নীচে সরানো হয়, স্টপ-লস সুরক্ষা প্রদান করে।
  5. ফিক্সড টেক-প্রফিট লজিক প্রবর্তন করুন, যখন ট্রেন্ড পরিবর্তন হয় তখন লাভের জন্য অবস্থান বন্ধ করুন।

কৌশলগত সুবিধা

  1. অভিযোজনযোগ্যতাঃ সুপারট্রেন্ড সূচকটি মূল্য এবং অস্থিরতা একত্রিত করে, যা এটিকে বিভিন্ন বাজার পরিস্থিতি এবং ট্রেডিং সরঞ্জামগুলির সাথে মানিয়ে নিতে সক্ষম করে।
  2. ডায়নামিক স্টপ-লসঃ ইন্ডিকেটর লাইনকে ডায়নামিক স্টপ-লস লেভেল হিসেবে ব্যবহার করলে ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায় এবং ক্ষতি হ্রাস করা যায়।
  3. ট্রেলিং স্টপ-লসঃ ট্রেলিং স্টপ-লস লজিক প্রবর্তন করলে ট্রেন্ড অব্যাহত থাকলে মুনাফা রক্ষা করতে পারে, কৌশলটির লাভজনকতা বাড়ায়।
  4. স্পষ্ট সংকেতঃ কৌশল দ্বারা উত্পন্ন ক্রয় এবং বিক্রয় সংকেত স্পষ্ট এবং পরিচালনা এবং সম্পাদন করা সহজ।
  5. নমনীয় পরামিতিঃ কৌশলটির পরামিতিগুলি (যেমন ATR সময়কাল, ATR গুণক ইত্যাদি) বাজারের বৈশিষ্ট্য এবং ট্রেডিং স্টাইলের উপর ভিত্তি করে সামঞ্জস্য করা যেতে পারে, অভিযোজনযোগ্যতা উন্নত করে।

কৌশলগত ঝুঁকি

  1. পরামিতি ঝুঁকিঃ বিভিন্ন পরামিতি সেটিং কৌশল কর্মক্ষমতা উল্লেখযোগ্য পার্থক্য হতে পারে, পুঙ্খানুপুঙ্খ ব্যাকটেস্টিং এবং পরামিতি অপ্টিমাইজেশান প্রয়োজন।
  2. অস্থির বাজার ঝুঁকিঃ অস্থির বাজারগুলিতে, প্রবণতার ঘন ঘন পরিবর্তনগুলি কৌশলটিকে অত্যধিক ট্রেডিং সংকেত তৈরি করতে পারে, লেনদেনের ব্যয় এবং স্লিপিং ঝুঁকি বাড়িয়ে তুলতে পারে।
  3. হঠাৎ প্রবণতা পরিবর্তনের ঝুঁকিঃ যখন বাজারের প্রবণতা হঠাৎ পরিবর্তিত হয়, তখন কৌশলটি যথাসময়ে অবস্থানগুলিকে সামঞ্জস্য করতে সক্ষম নাও হতে পারে, যার ফলে ক্ষতি বৃদ্ধি পায়।
  4. অতিরিক্ত অপ্টিমাইজেশান ঝুঁকিঃ কৌশলটি অতিরিক্ত অপ্টিমাইজেশান করলে কার্ভ ফিটিং হতে পারে, যার ফলে ভবিষ্যতের বাজারে খারাপ পারফরম্যান্স হতে পারে।

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

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

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

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


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Supertrend Strategy', overlay=true, format=format.price, precision=2)
Periods = input.int(title='ATR Period', defval=10)
src = input.source(hl2, title='Source')
Multiplier = input.float(title='ATR Multiplier', step=0.1, defval=3.0)
changeATR = input.bool(title='Change ATR Calculation Method ?', defval=true)
showsignals = input.bool(title='Show Buy/Sell Signals ?', defval=true)
highlighting = input.bool(title='Highlighter On/Off ?', defval=true)

// ATR calculation
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2

// Supertrend calculations
up = src - Multiplier * atr
up1 = nz(up[1], up)
up := close[1] > up1 ? math.max(up, up1) : up
dn = src + Multiplier * atr
dn1 = nz(dn[1], dn)
dn := close[1] < dn1 ? math.min(dn, dn1) : dn

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

// Plotting
upPlot = plot(trend == 1 ? up : na, title='Up Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.green, 0))
buySignal = trend == 1 and trend[1] == -1
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), textcolor=color.new(color.white, 0))

dnPlot = plot(trend == 1 ? na : dn, title='Down Trend', style=plot.style_linebr, linewidth=2, color=color.new(color.red, 0))
sellSignal = trend == -1 and trend[1] == 1
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), textcolor=color.new(color.white, 0))

// Highlighting
mPlot = plot(ohlc4, title='', style=plot.style_circles, linewidth=0)
longFillColor = highlighting ? trend == 1 ? color.green : color.white : color.white
shortFillColor = highlighting ? trend == -1 ? color.red : color.white : color.white
fill(mPlot, upPlot, title='UpTrend Highligter', color=longFillColor, transp=90)
fill(mPlot, dnPlot, title='DownTrend Highligter', color=shortFillColor, transp=90)

// Alerts
alertcondition(buySignal, title='SuperTrend Buy', message='SuperTrend Buy!')
alertcondition(sellSignal, title='SuperTrend Sell', message='SuperTrend Sell!')
changeCond = trend != trend[1]
alertcondition(changeCond, title='SuperTrend Direction Change', message='SuperTrend has changed direction!')

// Pip and trailing stop calculation
pips = 50
pipValue = syminfo.mintick * pips
trailingPips = 10
trailingValue = syminfo.mintick * trailingPips

// Strategy
if (buySignal)
    strategy.entry("Long", strategy.long, stop=dn, comment="SuperTrend Buy")
if (sellSignal)
    strategy.entry("Short", strategy.short, stop=up, comment="SuperTrend Sell")

// Take profit on trend change
if (changeCond and trend == -1)
    strategy.close("Long", comment="SuperTrend Direction Change")
if (changeCond and trend == 1)
    strategy.close("Short", comment="SuperTrend Direction Change")

// Initial Stop Loss
longStopLevel = up - pipValue
shortStopLevel = dn + pipValue

// Trailing Stop Loss
var float longTrailStop = na
var float shortTrailStop = na

if (strategy.opentrades > 0)
    if (strategy.position_size > 0)  // Long position
        if (longTrailStop == na or close > strategy.position_avg_price + trailingValue)
            longTrailStop := high - trailingValue
        strategy.exit("Stop Loss Long", from_entry="Long", stop=longTrailStop)
    if (strategy.position_size < 0)  // Short position
        if (shortTrailStop == na or close < strategy.position_avg_price - trailingValue)
            shortTrailStop := low + trailingValue
        strategy.exit("Stop Loss Short", from_entry="Short", stop=shortTrailStop)

// Initial Exit
strategy.exit("Initial Stop Loss Long", from_entry="Long", stop=longStopLevel)
strategy.exit("Initial Stop Loss Short", from_entry="Short", stop=shortStopLevel)

সম্পর্কিত

আরো