মাল্টি ইন্ডিকেটর সংমিশ্রণ অভিযোজনমূলক প্রবণতা কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

এই কৌশলটির মূল সূচক হ'ল ডাবল হাল চলমান গড়, যা দুটি পরামিতি কেহ এবং তেহ দ্বারা নিয়ন্ত্রিত হয়। এই দুটি পরামিতি যথাক্রমে দ্রুত লাইন এবং ধীর লাইনের চক্র নির্ধারণ করে। দ্রুত লাইন এবং ধীর লাইনের দ্বারা গঠিত সোনার ক্রস এবং মৃত ক্রস বর্তমান প্রবণতা বিচার করে।

সহায়ক বিচারের সূচক হল ভলিউম ওয়েটেড মুভিং এভারেজ meh1। যখন দাম meh1 এর চেয়ে বেশি হয়, তখন এটি একটি উত্থান প্রবণতা; যখন দাম meh1 এর চেয়ে কম হয়, তখন এটি একটি হ্রাস প্রবণতা।

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

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

এই সূচকগুলির সংকেতগুলি একত্রিত করে, প্রবণতাটি সঠিকভাবে বিচার করা যেতে পারে, এবং পরামিতিগুলি স্বয়ংক্রিয়ভাবে বাজারের সাথে সিঙ্ক্রোনাইজ করার জন্য সামঞ্জস্য করা যেতে পারে।

সুবিধা

  1. ডাবল হেল্ল চলমান গড় ব্যবহার করে মূল বিচার সূচক হিসাবে, একাধিক অন্যান্য সূচকগুলির সাথে মিলিয়ে বিচার সঠিকতা উন্নত করতে পারে এবং মিথ্যা সংকেত হ্রাস করতে পারে।

  2. বাজারে প্রবেশ এবং বেরিয়ে আসার সময় নির্ধারণের জন্য এসটিআই সূচক প্রয়োগ করা ঝুঁকি নিয়ন্ত্রণ করতে পারে।

  3. শক্তিশালী অভিযোজনযোগ্যতার জন্য একাধিক নিয়মিত পরামিতি যা বাজারের পরিবর্তনের সাথে স্বয়ংক্রিয়ভাবে মানিয়ে নিতে পারে।

  4. সূচক সংমিশ্রণ এবং পরামিতি স্ব-নির্ধারণের ধারণা কৌশলটিকে শক্তিশালী অবিচ্ছিন্ন লাভজনকতার সাথে স্থিতিশীল করে তোলে।

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

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

  2. অনুপযুক্ত প্যারামিটার সেটিং কৌশল ব্যর্থতা হতে পারে। প্যারামিটার অভিজ্ঞতা উপর ভিত্তি করে যুক্তিসঙ্গতভাবে সেট করা প্রয়োজন।

  3. একাধিক সূচকের সংমিশ্রণ গণনার পরিমাণ বৃদ্ধি করে, যা বড় ডেটা স্টক এবং সময়কালের ত্রুটির সম্ভাবনা বৃদ্ধি করে। ডেটা ব্যাপ্তি নিয়ন্ত্রণ করা প্রয়োজন।

  4. অস্বাভাবিক তথ্য থেকে হস্তক্ষেপ রোধ করার জন্য সূচকগুলির গণনার প্রভাব পর্যবেক্ষণ করার প্রয়োজন।

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

  1. সিগন্যালটিকে আরো সঠিক ও নির্ভরযোগ্য করার জন্য BOLL এর মতো অন্যান্য সহায়ক সূচক পরীক্ষা করা যেতে পারে।

  2. একক লাভ এবং ক্ষতি নিয়ন্ত্রণের জন্য প্রবেশ এবং প্রস্থান যুক্তি অনুকূল করুন, স্টপ লস সেট করুন এবং লাভের শর্তগুলি নিন।

  3. বিভিন্ন জাতের জন্য প্যারামিটারগুলি প্রশিক্ষণ এবং অনুকূলিতকরণ করুন যাতে তারা বিভিন্ন জাতের জন্য আরও উপযুক্ত হয়।

  4. সাম্প্রতিক লেনদেনের প্রভাবের উপর ভিত্তি করে কৌশল পরামিতিগুলি স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে প্যারামিটার স্ব-সমন্বয় মডিউলটি বাড়ান।

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

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


/*backtest
start: 2023-11-18 00:00:00
end: 2023-12-18 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross420", overlay=true, calc_on_order_fills= true, calc_on_every_tick=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = 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)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)

আরো