ব্যাংকনিফ্টি ফিউচারগুলির জন্য এসএএম-ভিত্তিক ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

এই কৌশলটির মূল বিষয় হল এসএমএকে একটি প্রবণতা সূচক হিসাবে ব্যবহার করা। বিশেষত, কৌশলটি প্রথমে একটি নির্দিষ্ট সময়ের এসএমএ গণনা করে (ডিফল্ট 200), এবং তারপরে দাম এবং এসএমএর আপেক্ষিক অবস্থানের উপর ভিত্তি করে প্রবণতার দিক নির্ধারণ করে। যখন দাম এসএমএর উপরে অতিক্রম করে, তখন এটি বিবেচনা করা হয় যে একটি ঊর্ধ্বমুখী প্রবণতা গঠিত হয়েছে, এবং একটি দীর্ঘ অবস্থান নেওয়া হয়; যখন দাম এসএমএর নীচে অতিক্রম করে, তখন এটি একটি নিম্নমুখী প্রবণতা গঠিত হয়েছে বলে মনে করা হয়, এবং একটি শর্ট অবস্থান নেওয়া হয়। এছাড়াও, কৌশলটি ঝুঁকি নিয়ন্ত্রণ এবং লাভের লক করার জন্য স্টপ-লস এবং লাভের শর্তও নির্ধারণ করে। স্টপ-লসের শর্তগুলির মধ্যে রয়েছেঃ দামটি এসএমএকে একটি নির্দিষ্ট পরিসরের মাধ্যমে (স্টপ লস বাফার প্যারামিটার দ্বারা সেট করা হয়েছে), দামটি একটি নির্দিষ্ট পরিসরের মাধ্যমে (স্টপ লস প্যারামিটার দ্বারা সেট করা হয়েছে), এবং 15:00 ট্রেডিংয়ের সময়টি প্রবেশের সময়

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

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

কৌশলগত ঝুঁকি

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

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

  1. পরামিতি অপ্টিমাইজেশানঃ বর্তমান বাজারের পরিবেশের জন্য সবচেয়ে উপযুক্ত পরামিতি সেটিংস ব্যাকটেস্টিং এবং বিভিন্ন পরামিতি সমন্বয় অপ্টিমাইজেশান দ্বারা পাওয়া যাবে।
  2. অন্যান্য সূচকগুলির সাথে সংমিশ্রণঃ কৌশলটির নির্ভরযোগ্যতা এবং নির্ভুলতা উন্নত করার জন্য অন্যান্য প্রযুক্তিগত সূচকগুলির (যেমন RSI, MACD, ইত্যাদি) সাথে SMA সংমিশ্রণ বিবেচনা করুন।
  3. ডায়নামিক স্টপ লসঃ ঝুঁকি নিয়ন্ত্রণের জন্য একটি ডায়নামিক স্টপ লস কৌশল (যেমন ট্রেলিং স্টপ লস) গ্রহণ করার কথা বিবেচনা করুন।
  4. লেনদেনের সময়সীমা সীমাবদ্ধ করাঃ দিনের মধ্যে লেনদেনের সময়সীমা কম অস্থিরতার সময়সীমার মধ্যে সীমাবদ্ধ করার কথা বিবেচনা করুন (যেমন খোলার আগে এবং পরে এবং বন্ধের পরে) যাতে দিনের মধ্যে অস্থিরতার প্রভাব হ্রাস পায়।

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

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


// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Bhasker_S

//@version=5
strategy("Strategy BankNifty SMA", overlay=true, margin_long=100, margin_short=100)

src = input(close, title="Source")
timeFrame = input.timeframe(defval='5', title = "Select Chart Timeframe")
typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
len = input.int(200, minval=1, title="Length", step = 10)
alertPrecision = input.float(0, "Alert Precision", minval = 0, maxval = 50, step=1)
slTimeFrame = input.timeframe(defval='1', title = "Select Stoploss Candle Timeframe")
slBuffer = input.float(0, "Stop Loss Buffer", minval = 0, maxval = 50, step = 1)
targetSlab = input.float(150, "Target Price", minval = 1, maxval = 2000, step = 10)
Stoploss  = input.float(20, "Stop Loss", minval = 1, maxval = 2000, step = 5)
offset = input.int(title="Offset", defval=0, minval=-500, maxval=500)

//out = ta.sma(src, len)


ma(source, length, type) =>
    switch type
        "SMA" => ta.sma(source, length)
        "EMA" => ta.ema(source, length)
        "SMMA (RMA)" => ta.rma(source, length)
        "WMA" => ta.wma(source, length)
        "VWMA" => ta.vwma(source, length)

tfSource = request.security(syminfo.tickerid, timeFrame, src, barmerge.gaps_on, barmerge.lookahead_off)
mySMA = ma(tfSource, len, typeMA)
plot(mySMA, color=color.rgb(243, 33, 89), title="MA", offset=offset, linewidth = 2)

slClose = request.security(syminfo.tickerid, slTimeFrame, src, barmerge.gaps_on, barmerge.lookahead_off)


highTravel = low > mySMA
lowTravel = high < mySMA

touchabove = (((high[1] + alertPrecision) > mySMA[1]) and (low[1] < mySMA[1])) //and (high[2] < mySMA[2])
touchbelow = (((low[1] - alertPrecision) < mySMA[1]) and (high[1] > mySMA[1])) //and (low[2] > mySMA[2])

crossabove = math.min(open, close) > mySMA
crossbelow = math.max(open, close) < mySMA

upalert = (touchabove or touchbelow) and crossabove
downalert = (touchabove or touchbelow) and crossbelow

h=hour(time('1'),"Asia/Kolkata")
m=minute(time('1'),"Asia/Kolkata")
startTime=h*100+m

if upalert and strategy.position_size == 0 
    strategy.entry("buy", strategy.long, 15)
    
if downalert and strategy.position_size == 0
    strategy.entry("sell", strategy.short, 15)

longexit = (slClose < (mySMA - slBuffer)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - Stoploss)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + targetSlab)) or (hour(time) == 15)
shortexit = (slClose > (mySMA + slBuffer)) or (slClose > (strategy.opentrades.entry_price(strategy.opentrades - 1) + Stoploss)) or (slClose < (strategy.opentrades.entry_price(strategy.opentrades - 1) - targetSlab)) or (hour(time) == 15)

if longexit
    strategy.close("buy")

if shortexit
    strategy.close("sell")


আরো