মোমেন্টাম ডাবল স্লাইডিং উইন্ডো টিএসআই নির্দেশক


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

মোমেন্টাম ডাবল স্লাইডিং উইন্ডো টিএসআই নির্দেশক

প্রথম, কৌশলগত বিশ্লেষণ

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

2. কৌশল নীতি

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

প্রথমত, মূল্যের পরিবর্তনের একক গণনা করুনঃ

pc = change(price)

তারপর ডাবল স্লাইডিং উইন্ডো ব্যবহার করে মূল্য পরিবর্তনের উপর ডাবল স্লাইডিং করুনঃ

double_smoothed_pc = double_smooth(pc, long, short)

দামের পরিবর্তনের পরম মান গণনা করুন, একইভাবে ডাবল স্লাইডিং উইন্ডো ব্যবহার করে ডাবল মসৃণ করুনঃ

double_smoothed_abs_pc = double_smooth(abs(pc), long, short)

অবশেষে, সমতলীকরণের পর মূল্য পরিবর্তনের পর সমতলীকরণের পর মূল্য পরিবর্তনের পর পরামিতি ব্যবহার করে টিএসআই সূচকটি পাওয়া যায় যা ক্রয়-বিক্রয় শক্তিকে প্রতিফলিত করেঃ

tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)

বিভিন্ন দৈর্ঘ্যের দীর্ঘ এবং ছোট উইন্ডো সময় সেট করে, স্বল্পমেয়াদী বাজার শব্দটি কিছুটা ফিল্টার করা যায়, যাতে টিএসআই সূচকটি মাঝারি এবং দীর্ঘমেয়াদী প্রবণতাগুলিতে ক্রয়-বিক্রয় শক্তিকে আরও ভালভাবে প্রতিফলিত করে। টিএসআই সূচকটি যখন তার চলমান গড়টি অতিক্রম করে তখন একটি কেনার সংকেত উত্পন্ন করে; যখন এটি তার চলমান গড়টি অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন করে।

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

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

৪, কৌশলগত ঝুঁকি

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

সিগন্যালের গড় দৈর্ঘ্য যথাযথভাবে সংক্ষিপ্ত করার জন্য উইন্ডো পিরিয়ডের প্যারামিটারগুলি সামঞ্জস্য করে অপ্টিমাইজ করা যেতে পারে; যখন বাজার অস্থির হয়, ঝুঁকি নিয়ন্ত্রণের জন্য বাণিজ্যটি অস্থায়ীভাবে বন্ধ করা যেতে পারে।

৫। অপ্টিমাইজেশান

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

6. সারাংশ

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

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

//@version=2
strategy("True Strength Indicator BTCUSD 2H", shorttitle="TSI BTCUSD 2H",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)

//BASED ON True Strength Indicator MTF
resCustom = input(title="Timeframe",  defval="120" )
long = input(title="Long Length",  defval=25)
short = input(title="Short Length",  defval=13)
signal = input(title="Signal Length",  defval=13)

length = input(title="Период",  defval=300)

FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"

price = request.security(syminfo.tickerid,resCustom,close)


double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
tsi2=ema(tsi_value, signal)
plot(tsi_value, color=lime,linewidth=2)
plot(tsi2, color=red,linewidth=2)

hline(30, title="Zero")
hline(50, title="Zero",linewidth=2)
hline(70, title="Zero")

buy = crossover(tsi_value, tsi2)
sell = crossunder(tsi_value, tsi2)

if(buy)
    strategy.entry("BUY", strategy.long, when = window())
if(sell)
    strategy.entry("SELL", strategy.short, when = window()) 

//greentsi =tsi_value
//redtsi = tsi2

//bgcolor( greentsi>redtsi and rsiserie > 50 ? lime : na, transp=90)
//bgcolor( greentsi<redtsi and rsiserie < 50 ? red : na, transp=90)

//yellow1= redtsi > greentsi and rsiserie > 50 
//yellow2 = redtsi < greentsi and rsiserie < 50 
//bgcolor( yellow1 ? yellow : na, transp=80)
//bgcolor( yellow2  ? yellow : na, transp=50)

//bgcolor( yellow1 and yellow1[1] ? yellow : na, transp=70)
//bgcolor( yellow2  and yellow2[2] ? yellow : na, transp=70)

//bgcolor( rsiserie > 70 ? lime : na, transp=60)
//bgcolor( rsiserie < 30  ? red : na, transp=60)