সুপার ট্রেন্ড এবং CCI কৌশল সহ স্বল্পমেয়াদী ট্রেডিং


সৃষ্টির তারিখ: 2024-02-26 10:39:49 অবশেষে সংশোধন করুন: 2024-02-26 10:39:49
অনুলিপি: 0 ক্লিকের সংখ্যা: 927
1
ফোকাস
1617
অনুসারী

সুপার ট্রেন্ড এবং CCI কৌশল সহ স্বল্পমেয়াদী ট্রেডিং

ওভারভিউ

এই কৌশলটি দুটি ভিন্ন প্যারামিটার সেটের উপর ভিত্তি করে সুপার ট্রেন্ডিং সূচক এবং সিসিআই সূচকের উপর ভিত্তি করে, যার লক্ষ্য হ’ল সংক্ষিপ্ত লাইনের দামের ওঠানামা ধরে রাখা এবং উচ্চ-প্রবাহের লেনদেন করা। সুপার ট্রেন্ডিং সূচকটি গতিশীলভাবে এটিআর গণনা করে, দামের প্রবণতার দিক নির্ধারণ করে; এবং সিসিআই সূচকটি বাজারটি ওভারসোল এবং ওভারসোল কিনা তা নির্ধারণ করতে ব্যবহৃত হয়। কৌশলটি উভয়কে একত্রিত করে একটি লেনদেনের সংকেত তৈরি করে।

কৌশল নীতি

  • ১৪ চক্রের এটিআর ব্যবহার করে দ্রুত ওভারট্রেন্ডের হিসাব করা হয়, সেটিং ফ্যাক্টর ৩; ১৪ চক্রের এটিআর ব্যবহার করে ধীর ওভারট্রেন্ডের হিসাব করা হয়, সেটিং ফ্যাক্টর ৬। দ্রুত ওভারট্রেন্ড বেশি সংবেদনশীল, যা স্বল্পমেয়াদী পরিবর্তনগুলিকে ধরতে পারে; ধীর ওভারট্রেন্ড মূল প্রবণতার দিক নির্ধারণ করে।

  • যখন দ্রুত ওভারট্রেন্ড দামের নীচে দিয়ে যায় এবং ধীর ওভারট্রেন্ড দামের উপরে থাকে, তখন সম্ভাব্য বিপরীত সংকেত হিসাবে বিচার করুন, আরও করুন; যখন দ্রুত ওভারট্রেন্ডে দাম অতিক্রম করে এবং ধীর ওভারট্রেন্ড দামের নীচে থাকে, তখন সম্ভাব্য বিপরীত সংকেত হিসাবে বিচার করুন, খালি করুন।

  • একই সময়ে, সিসিআই ব্যবহার করে বাজার ওভারবয় ওভারসোলের অবস্থা নির্ধারণ করুন। CCI 100 এর উপরে বাজার ওভারবয় এবং 100 এর নিচে বাজার ওভারসোল। CCI সংকেত ফিল্টারিংয়ের সাথে মিথ্যে ব্রেকথ্রু যুক্ত করুন।

  • এই কৌশলটির মূল যুক্তি হল যে ওভারবয় ওভারসেলের ক্ষেত্রে, ওভারট্রেন্ড সূচকটি বিপরীত সিগন্যালের সম্ভাবনা বেশি।

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

  • সিসিআই ওভার-ব্রেক ওভার-বিক্রয় পরিস্থিতির উপর ভিত্তি করে ওভার-ট্রেন্ডের সিদ্ধান্ত এবং ওভার-ট্রেন্ডের সিদ্ধান্তের সমন্বয়ে, আপনি কার্যকরভাবে জাল ব্রেকআউটগুলি ফিল্টার করতে পারেন এবং সংকেতের গুণমান উন্নত করতে পারেন।

  • ট্রেডিং সিগন্যালের জন্য দ্রুত ওভারট্রেন্ডিং ক্রস তৈরি করুন।

  • CCI এবং hypertrends এর পরামিতিগুলি বিভিন্ন বাজারের অবস্থার সাথে সামঞ্জস্য রেখে নমনীয়ভাবে সামঞ্জস্য করা যায়।

  • কৌশলগুলি পরিষ্কার এবং সহজেই বোঝা যায়, এবং প্যারামিটারগুলি সহজেই সামঞ্জস্য করা যায়।

ঝুঁকি ও সমাধান

  • সুপারট্রেন্ডের নিজস্ব সময়সীমা রয়েছে এবং এটি প্রথম বিপরীত হওয়ার সুযোগটি মিস করতে পারে। এটিআর চক্রটি সংক্ষিপ্ত করার চেষ্টা করা যেতে পারে।

  • CCI-র রিটার্নের ঝুঁকি রয়েছে, অত্যধিক ওঠানামার ফলে পুনরাবৃত্তি ট্রেডিং হতে পারে। CCI-র প্যারামিটার বাড়ানোর বা সীমানা সামঞ্জস্য করার জন্য পরীক্ষা করা যেতে পারে।

  • উচ্চ ফ্রিকোয়েন্সি ট্রেডিং ট্রেডিং ফ্রিকোয়েন্সি এবং ফি বোঝা বাড়াতে পারে। পজিশন হোল্ডিং সময়কে সামঞ্জস্য করার পরামর্শ দেওয়া হয়েছে, পজিশন খোলার ফ্রিকোয়েন্সি হ্রাস করা হয়েছে।

অনুকূলিতকরণ

  • সর্বোচ্চ প্রত্যাহার বা লাভ-ক্ষতি অনুপাতের মতো সূচকগুলির উপর ভিত্তি করে প্যারামিটারগুলির সমন্বয়কে সর্বোত্তম প্যারামিটারগুলির সন্ধানের জন্য অপ্টিমাইজ করা যায়।

  • মেশিন লার্নিং পদ্ধতি যেমন র্যান্ডম বন প্যারামিটারগুলির জন্য বৈশিষ্ট্য নির্বাচন, প্যারামিটারগুলির স্বয়ংক্রিয় অপ্টিমাইজেশনের জন্য ব্যবহার করা যেতে পারে।

  • ঝুঁকি নিয়ন্ত্রণের জন্য নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ কতবার পজিশন খুলতে হবে তা পরীক্ষা করা যেতে পারে।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-02-19 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend & CCI Strategy Scalp", overlay=true)

// SuperTrend Settings
atrLength1 = input(14, "ATR Length 1")
factor1 = input(3.0, "Factor 1" )
atrLength2 = input(14, "ATR Length 2")
factor2 = input(6.0, "Factor 2")
 // Calculate SuperTrend 1
[superTrend1, direction1] = ta.supertrend(factor1, atrLength1)

// // Calculate SuperTrend 2
[superTrend2, direction2] = ta.supertrend(factor2, atrLength2)

// superTrend1 := barstate.isfirst ? na : superTrend1
// upTrend1 =    plot(direction1 < 0 ? superTrend1 : na, "Up Trend",   color = color.green, style = plot.style_linebr)
// downTrend1 =  plot(direction1 < 0 ? na : superTrend1, "Down Trend", color = color.red,   style = plot.style_linebr)
// bodyMiddle1 = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)

// fill(bodyMiddle1, upTrend1,   color.new(color.green, 90), fillgaps = false)
// fill(bodyMiddle1, downTrend1, color.new(color.red,   90), fillgaps = false)

// superTrend2 := barstate.isfirst ? na : superTrend2
// upTrend2 =    plot(direction1 < 0 ? superTrend2 : na, "Up Trend",   color = color.green, style = plot.style_linebr)
// downTrend2 =  plot(direction1 < 0 ? na : superTrend2, "Down Trend", color = color.red,   style = plot.style_linebr)
// bodyMiddle2 = plot(barstate.isfirst ? na : (open + close) / 2, "Body Middle",display = display.none)

// fill(bodyMiddle2, upTrend2,   color.new(color.green, 90), fillgaps = false)
// fill(bodyMiddle2, downTrend2, color.new(color.red,   90), fillgaps = false)
// CCI Settings
//cciLength = input.int(14, title="CCI Length")
cciLevel = input.int(100, title="CCI Level")

// Calculate CCI
length = input.int(20, minval=1)
src = input(hlc3, title="Source")
ma = ta.sma(src, length)
cci = (src - ma) / (0.015 * ta.dev(src, length))
//plot(cci, "CCI", color=#2962FF)
//band1 = hline(100, "Upper Band", color=#787B86, linestyle=hline.style_dashed)
//hline(0, "Middle Band", color=color.new(#787B86, 50))
//band0 = hline(-100, "Lower Band", color=#787B86, linestyle=hline.style_dashed)
//fill(band1, band0, color=color.rgb(33, 150, 243, 90), title="Background")

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)

typeMA = input.string(title = "Method", defval = "SMA", options=["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"], group="Smoothing")
smoothingLength = input.int(title = "Length", defval = 5, minval = 1, maxval = 100, group="Smoothing")

smoothingLine = ma(cci, smoothingLength, typeMA)
//plot(smoothingLine, title="Smoothing Line", color=#f37f20, display=display.none)


// Entry conditions
longCondition = superTrend1 > close and superTrend2 < close and smoothingLine < -100
shortCondition = superTrend1 < close and superTrend2 > close and smoothingLine > 100

/// Initialize variables to track trade direction
var bool isLong = na
var bool isShort = na

// Strategy entry and exit
if (longCondition)
    strategy.entry("Long", strategy.long)
    isLong := true
    isShort := false
    
if (shortCondition)
    strategy.entry("Short", strategy.short)
    isShort := true
    isLong := false

// Close Long positions
if (isLong)
    strategy.close("Long", when = superTrend1 < close or superTrend2 > close or cci > 100)

// Close Short positions
if (isShort)
    strategy.close("Short", when = superTrend1 > close or superTrend2 < close or cci < -100)



// Plotting
plot(superTrend1, color=color.blue, title="SuperTrend 1")
plot(superTrend2, color=color.red, title="SuperTrend 2")
//plot(cci, color=color.orange, title="CCI")