সুপার ট্রেন্ড এবং MACD এর উপর ভিত্তি করে ঝুঁকি নিয়ন্ত্রণ কৌশল


সৃষ্টির তারিখ: 2024-03-11 11:24:20 অবশেষে সংশোধন করুন: 2024-03-11 11:24:20
অনুলিপি: 0 ক্লিকের সংখ্যা: 699
1
ফোকাস
1617
অনুসারী

সুপার ট্রেন্ড এবং MACD এর উপর ভিত্তি করে ঝুঁকি নিয়ন্ত্রণ কৌশল

ওভারভিউ

এই কৌশলটি সুপারট্রেন্ড সূচক এবং MACD সূচককে একত্রিত করে, ছোট প্রবণতা ক্যাপচার করে মুনাফা অর্জনের জন্য। কৌশলটি সুপারট্রেন্ড সূচককে বর্তমান বাজারের প্রবণতা বিচার করার জন্য ব্যবহার করে, এবং MACD সূচককে প্রবেশ এবং প্রস্থান করার জন্য সহায়ক শর্ত হিসাবে ব্যবহার করে। কৌশলটির যুক্তি পরিষ্কার, সহজেই বোঝা এবং বাস্তবায়ন করা যায়।

কৌশল নীতি

  1. ta.supertrend ফাংশন ব্যবহার করে সুপারট্রেন্ডের সূচক গণনা করা হয়, যার প্যারামিটারগুলি হল ATR চক্র এবং গুণিতক ফ্যাক্টর।
  2. সুপার ট্রেন্ড সূচকের দিক পরিবর্তনের উপর ভিত্তি করে ডাইরেকশন ট্রেন্ডের বিচার করা হয়, যখন দিকটি 0 এর চেয়ে বড় থেকে 0 এর সমান থেকে ছোট হয়, তখন এটি একটি উচ্চতর প্রবণতা হিসাবে বিবেচিত হয়; বিপরীতভাবে, এটি একটি নিম্নমুখী প্রবণতা হিসাবে বিবেচিত হয়।
  3. request.security ফাংশন ব্যবহার করে 30 মিনিটের সময়কালের জন্য MACD সূচক মান প্রাপ্ত করুন, যার মধ্যে রয়েছে MACD লাইন, সিগন্যাল লাইন এবং কলামযুক্ত গ্রাফ।
  4. ঊর্ধ্বমুখী প্রবণতায়, যদি MACD কলামচিত্রটি 0 এর চেয়ে বড় হয় তবে অতিরিক্ত পজিশন খুলুন এবং পূর্ববর্তী খালি পজিশনটি সমতল করুন।
  5. একটি নিম্নমুখী ট্রেন্ডে, যদি MACD কলামটি 0 এর চেয়ে কম হয়, তবে খালি পজিশন খুলুন এবং পূর্ববর্তী অতিরিক্ত পজিশনগুলিকে সমতল করুন।

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

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

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

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

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Samsuga supertrend", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)


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

[supertrend, direction] = ta.supertrend(factor, atrPeriod)

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 = 3
macdp2=10
macdp3=6

[macdLine, signalLine, histLine] =request.security(symbol = syminfo.tickerid, timeframe = "30",expression = ta.macd(close,macdp1,macdp2,macdp3),lookahead=barmerge.lookahead_on)
// 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-----------------////////////////
// log.info(str.tostring(syminfo.tickerid)+str.tostring(histLine[0]))
if(longcondition)
    if(histLine[0] > 0)    
        strategy.close("Short",comment = "E-S", alert_message = "E-S",disable_alert = true)
        strategy.entry(id= "Long", direction=strategy.long,  comment = "L",alert_message = "L")
else if(shortCondition) 
    if(histLine[0] < 0)    
        strategy.close("Long",comment = "E-L",alert_message = "E-L",disable_alert = true)
        strategy.entry(id= "Short", direction=strategy.short,  comment = "S",alert_message = "S")