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


সৃষ্টির তারিখ: 2024-03-28 18:15:32 অবশেষে সংশোধন করুন: 2024-03-28 18:15:32
অনুলিপি: 0 ক্লিকের সংখ্যা: 605
1
ফোকাস
1617
অনুসারী

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

ওভারভিউ

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

কৌশল নীতি

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

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

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

কৌশলগত ঝুঁকি

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

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
// 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")