ট্রিপল সুপার ট্রেন্ড EMA ADX ফিল্টার কৌশল


সৃষ্টির তারিখ: 2023-09-18 14:02:12 অবশেষে সংশোধন করুন: 2023-09-18 14:02:12
অনুলিপি: 1 ক্লিকের সংখ্যা: 1696
1
ফোকাস
1617
অনুসারী

ওভারভিউ

এটি একটি কোয়ান্টাম ট্রেডিং কৌশল যা ট্রিপল সুপারট্রেন্ড, ইএমএ এবং এডিএক্স সূচকগুলিকে একত্রিত করে। এটি একটি ট্রিপল সুপারট্রেন্ড সিস্টেম ব্যবহার করে ট্রেডিং সংকেত প্রেরণ করে এবং ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণ এবং ট্রেডিং সংকেতের গুণমান উন্নত করতে ইএমএ এবং এডিএক্সকে ফিল্টারিং শর্ত হিসাবে সংযুক্ত করে।

কৌশল নীতি

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

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

এই কৌশলটি একই সাথে তিনটি সুপারট্রেন্ডের সমর্থনকারী প্রতিরোধের রেখা আঁকে, যা প্রবণতার দিকনির্দেশনা নির্ধারণে সহায়তা করে।

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

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

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

  • সুপারট্রেন্ডের মতো সূচকগুলি পিছিয়ে রয়েছে, দেরিতে প্রবেশ এবং তাড়াতাড়ি প্রস্থান হতে পারে।
  • কিন্তু এই ধরনের ফিল্টারিংয়ের ক্ষেত্রে, আপনি যদি খুব বেশি কঠোর হন, তাহলে আপনি সুযোগ হারাতে পারেন।
  • এই ধরনের ব্যবসায়ের ক্ষেত্রে, হুইপসওয়ের ফলে ক্ষতির সম্ভাবনা থাকে।
  • পুনরায় প্রবেশের অনুমতি দিলে ট্রেডিং ফ্রিকোয়েন্সি এবং স্লাইড পয়েন্টের খরচ বাড়বে।

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

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে উন্নত করা যেতে পারেঃ

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// ©kunjandetroja


//@version=5
strategy('Triple Supertrend with EMA and ADX', overlay=true)

m1 = input.float(1,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 1')
m2 = input.float(2,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 2')
m3 = input.float(3,"ATR Multi",minval = 1,maxval= 6,step=0.5,group='ST 3')
p1 = input.int(10,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 1')
p2 = input.int(15,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 2')
p3 = input.int(20,"ATR Multi",minval = 5,maxval= 25,step=1,group='ST 3')
len_EMA = input.int(200,"EMA Len",minval = 5,maxval= 250,step=1)
len_ADX = input.int(14,"ADX Len",minval = 1,maxval= 25,step=1)
len_Di = input.int(14,"Di Len",minval = 1,maxval= 25,step=1)
adx_above = input.float(25,"adx filter",minval = 1,maxval= 50,step=0.5)
var bool long_position = false
adx_filter = input.bool(false, "Add Adx & EMA filter")
renetry = input.bool(true, "Allow Reentry")

f_getColor_Resistance(_dir, _color) =>
    _dir == 1 and _dir == _dir[1] ? _color : na
f_getColor_Support(_dir, _color) =>
    _dir == -1 and _dir == _dir[1] ? _color : na

[superTrend1, dir1] = ta.supertrend(m1, p1)
[superTrend2, dir2] = ta.supertrend(m2, p2)
[superTrend3, dir3] = ta.supertrend(m3, p3)
EMA = ta.ema(close, len_EMA)
[diplus,diminus,adx] = ta.dmi(len_Di,len_ADX)

// ADX Filter
adxup = adx > adx_above and close > EMA
adxdown = adx > adx_above and close < EMA

sum_dir = dir1 + dir2 + dir3

dir_long = if(adx_filter == false)
    sum_dir == -3
else
    sum_dir == -3 and adxup
dir_short = if(adx_filter == false)
    sum_dir == 3
else
    sum_dir == 3 and adxdown
Exit_long = dir1 == 1 and dir1 != dir1[1]
Exit_short = dir1 == -1 and dir1 != dir1[1]

// BuySignal = dir_long and dir_long != dir_long[1]
// SellSignal = dir_short and dir_short != dir_short[1]
// if BuySignal
//     label.new(bar_index, low, 'Long', style=label.style_label_up)
// if SellSignal
//     label.new(bar_index, high, 'Short', style=label.style_label_down)

longenter = if(renetry == false)
    dir_long and long_position == false
else
    dir_long
shortenter = if(renetry == false)
    dir_short and long_position == true
else
    dir_short
if longenter
    long_position := true
if shortenter
    long_position := false

strategy.entry('BUY', strategy.long, when=longenter)
strategy.entry('SELL', strategy.short, when=shortenter)   
strategy.close('BUY', Exit_long)
strategy.close('SELL', Exit_short)

buy1 = ta.barssince(dir_long)
sell1 = ta.barssince(dir_short)

colR1 = f_getColor_Resistance(dir1, color.red)
colS1 = f_getColor_Support(dir1, color.green)

colR2 = f_getColor_Resistance(dir2, color.orange)
colS2 = f_getColor_Support(dir2, color.yellow)

colR3 = f_getColor_Resistance(dir3, color.blue)
colS3 = f_getColor_Support(dir3, color.maroon)

plot(superTrend1, 'R1', colR1, linewidth=2)
plot(superTrend1, 'S1', colS1, linewidth=2)

plot(superTrend2, 'R1', colR2, linewidth=2)
plot(superTrend2, 'S1', colS2, linewidth=2)

plot(superTrend3, 'R1', colR3, linewidth=2)
plot(superTrend3, 'S1', colS3, linewidth=2)

// // Intraday only
// var int new_day = na
// var int new_month = na
// var int new_year = na
// var int close_trades_after_time_of_day = na

// if dayofmonth != dayofmonth[1]
//     new_day := dayofmonth
// if month != month[1]
//     new_month := month
// if year != year[1]
//     new_year := year
// close_trades_after_time_of_day := timestamp(new_year,new_month,new_day,15,15)

// strategy.close_all(time > close_trades_after_time_of_day)