ডায়নামিক ইনট্রা-ডে লং-শর্ট ব্যালেন্সিং কৌশল যা চলমান গড় এবং সুপারট্রেন্ডকে একত্রিত করে

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

img

কৌশল ওভারভিউ

ডায়নামিক ইনট্রা-ডে লং-শর্ট ব্যালেন্সিং স্ট্র্যাটেজি যা মুভিং এভারেজ এবং সুপারট্রেন্ডকে একত্রিত করে একটি পরিমাণগত ট্রেডিং কৌশল যা পাইন স্ক্রিপ্ট TM 5 এ লিখিত। কৌশলটি ডায়নামিক লং-শর্ট স্যুইচিং এবং স্টপ-লস / টেক-লাভের মাধ্যমে ঝুঁকি নিয়ন্ত্রণের সময় বাজারে ট্রেন্ডিং সুযোগগুলি ক্যাপচার করতে এমএসিডি সূচক এবং সুপারট্রেন্ড সূচক ব্যবহার করে।

কৌশলগত নীতি

এই কৌশলটির মূল বিষয় হল মার্কেটের প্রবণতা নির্ধারণের জন্য MACD সূচক এবং সুপারট্রেন্ড সূচককে একত্রিত করা।

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

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

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

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

কৌশলগত ঝুঁকি

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

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

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

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

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

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

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


/*backtest
start: 2023-03-05 00:00:00
end: 2024-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

//@version=5
strategy("EQ - INTRA - Samsuga supertrend prod", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick = false)


atrPeriod = input.int(7,    "ATR Length", minval = 1)
factor =    input.float(1.0, "Factor",     minval = 0.01, step = 0.01)
st_tf = "3"
macd_tf="30"

[supertrend, direction] =request.security(symbol = syminfo.tickerid, timeframe = st_tf,expression =  ta.supertrend(factor, atrPeriod),lookahead=barmerge.lookahead_on)

supertrend := barstate.isfirst ? na : supertrend
upTrend =    plot(direction <= 0 ? supertrend : na, "Up Trend",   color = color.green, style = plot.style_linebr)
downTrend =  plot(direction <= 0 ? na : supertrend, "Down Trend", color = color.red,   style = plot.style_linebr)
bodyMiddle = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)
longcondition = direction[1] > direction 
shortCondition = direction[1] < direction 

macdp1 = 2
macdp2=8
macdp3=4

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = macd_tf,expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
timezone_input = input("Asia/Kolkata", title="Timezone")
// log.info(timezone_input)
if(hour==15 and minute==15)
    strategy.close_all(comment = "DAY EXIT",alert_message = "X-D")
else if(hour==9 and minute==30)
    if(longcondition or histLine[1]>0)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "DL",alert_message = "L")
    else if(shortCondition or histLine[1]<0) 
        strategy.entry(id= "Short", direction=strategy.short,  comment = "DS",alert_message = "S")
else
    if(longcondition)
        strategy.close("Short",comment = "X-S", alert_message = "X-S")
        if(histLine[1]>0)    
            strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
    else if(shortCondition) 
        strategy.close("Long",comment = "X-L",alert_message = "X-L")
        if(histLine[1]<0)    
            strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")


// plot(macdLine,   title = "MACD",   color = #2962FF)
// plot(signalLine, title = "Signal", color = #FF6D00)
// 8, 21, 5
// 8,13,9
// 12,26,9
//  1--> 3, 17, 5
// 3, 10, 16
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
//  /////////----------------METHOD 1-----------------////////////////
// if(longcondition)
//     if(strategy.opentrades>0)
//         strategy.close("Long","Prev Exit", immediately = true)
//     if( histLine[0] > 0.1)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long")

    
// else if(shortCondition and strategy.openprofit<=0.1) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 2-----------------////////////////
// if(longcondition)
//     if(histLine[0] > 0)
//         strategy.entry(id= "Long", direction=strategy.long,  comment = "update long" )
//         strategy.exit("Long", loss = close*0.2)


    
// else if(shortCondition ) 
//     strategy.close("Long",comment = "Close",immediately = true)
//  /////////----------------METHOD 3-----------------////////////////



আরো