MyQuant ট্রেন্ড আইডেন্টিফায়ার কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

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

বিশেষ করে, কৌশলটি নিম্নলিখিত সূচকগুলি গণনা করেঃ

  • ALMA: দামের অভিযোজিত চলমান গড়, দৈর্ঘ্য 140, দ্রুত ফ্যাক্টর 1.1, সিগমা 6
  • ডেমোঃ ALMA এর প্রথম শ্রেণীর ডেরিভেটিভ
  • d2ema: দামের দ্বিতীয় শ্রেণীর ডেরিভেটিভকে প্রতিফলিত করে ডেমার প্রথম শ্রেণীর ডেরিভেটিভ
  • সূচকঃ ডেমার সূচকের ওসিলেশন সূচক
  • ind: মুভিং মিডিয়ার থেকে মূল্যের বিচ্যুতি সূচক

যখন কেনার শর্ত পূরণ হয়, তখন এটি CAUSED Accumulation/Distribution Bands এবং Caused Exposure Top and Bottom Finder থেকে প্রাপ্ত সংকেতগুলির ভিত্তিতে কেনার শেয়ারের সংখ্যা গণনা করে। যখন বিক্রয় শর্ত পূরণ হয়, তখন এটি সমস্ত বর্তমান অবস্থান বিক্রি করে।

কৌশলটির সুবিধা

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

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

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

অপ্টিমাইজেশনের নির্দেশাবলী

কৌশলটি নিম্নলিখিত দিকগুলিতে আরও অনুকূলিত করা যেতে পারেঃ

  1. ব্যাকটেস্ট এবং লাইভ ট্রেডিং সময়কালের স্মার্ট নির্বাচনের মাধ্যমে সময়সীমা নির্বাচন করার জন্য লজিক অপ্টিমাইজ করুন।
  2. সূচক প্যারামিটারগুলি অপ্টিমাইজ করুন, যেমন ALMA এবং dema ইত্যাদির দৈর্ঘ্য সামঞ্জস্য করা।
  3. সর্বাধিক ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস শর্তের রায় যোগ করুন।
  4. বিভিন্ন ক্রিপ্টোকারেন্সির প্রভাবগুলি মূল্যায়ন করুন এবং সেরা পারফরম্যান্সগুলি বেছে নিন।

সিদ্ধান্ত

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


/*backtest
start: 2023-02-15 00:00:00
end: 2024-02-21 00:00:00
period: 1d
basePeriod: 1h
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/
// © spacekadet17
// 
//@version=5

strategy(title="Trend Identifier Strategy", shorttitle="Trend Identifier Strategy", format=format.price, precision=4, overlay = false, initial_capital = 1000, pyramiding = 10, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type = strategy.commission.percent, commission_value = 0.03)

//start-end time
startyear = input.int(2020,"start year")
startmonth = input.int(1,"start month")
startday = input.int(1,"start day")
endyear = input.int(2025,"end year")
endmonth = input.int(1,"end month")
endday = input.int(1,"end day")

timeEnd = time <= timestamp(syminfo.timezone,endyear,endmonth,endday,0,0)
timeStart = time >= timestamp(syminfo.timezone,startyear,startmonth,startday,0,0)
choosetime = input(false,"Choose Time Interval")
condTime = (choosetime ? (timeStart and timeEnd) : true)

// time frame?
tfc = 1
if timeframe.isdaily
    tfc := 24

// indicators: price normalized alma, and its 1st and 2nd derivatives
ema = ta.alma(close,140,1.1,6)
dema = (ema-ema[1])/ema
stodema = ta.ema(ta.ema(ta.stoch(dema,dema,dema,100),3),3)

d2ema = ta.ema(dema-dema[1],5)
stod2ema = ta.ema(ta.ema(ta.stoch(d2ema,d2ema,d2ema,100),3),3)

ind = (close-ta.ema(close,120*24/tfc))/close
heat = ta.ema(ta.stoch(ind,ind,ind,120*24/tfc),3)
index = ta.ema(heat,7*24/tfc)

//plot graph
green = color.rgb(20,255,100)
yellow = color.yellow
red = color.red
blue = color.rgb(20,120,255)
tcolor = (dema>0) and (d2ema>0)? green : (dema>0) and (d2ema<0) ? yellow : (dema < 0) and (d2ema<0) ? red : (dema < 0) and (d2ema>0) ? blue : color.black
demaema = ta.ema(dema,21)
plot(demaema, color = tcolor)

//strategy buy-sell conditions
cond1a = strategy.position_size <= 0
cond1b = strategy.position_size > 0

if (condTime and cond1a and ( ( ((tcolor[1] == red and demaema<0.02) or (tcolor[1] == blue and demaema < 0.02) or (tcolor[1] == yellow and demaema>-0.02) ) and tcolor == green) or (tcolor[1] == red and tcolor == blue and demaema < -0.01) ) and index<85 and ind<0.4)
    strategy.entry("buy",strategy.long, (strategy.equity-strategy.position_size*close)/1/close)
    
if (condTime and cond1b and ( (((tcolor[1] == yellow and demaema > -0.02) or (tcolor[1] == blue and demaema < 0.02) or (tcolor[1] == green and demaema < 0.02)) and tcolor == red) or (tcolor[1] == green and tcolor == yellow and demaema > 0.015) ) and index>15 and ind>-0.1)
    strategy.order("sell",strategy.short, strategy.position_size)


আরো