
মাইকোয়ান্ট ট্রেন্ড আইডেন্টিফিকেশন কৌশল হল বিটকয়েনের দৈনিক লেনদেনের জন্য ব্যবহৃত একটি কৌশল। এই কৌশলটি দামের চলমান গড় এবং এর প্রথম এবং দ্বিতীয় স্তরের ডাইরেক্টরিগুলি গণনা করে বাজারের প্রবণতা সনাক্ত করে এবং এর ভিত্তিতে ক্রয় এবং বিক্রয় সিদ্ধান্তগুলি তৈরি করে।
এই কৌশলটি প্রথমে দামের স্বনির্ধারিত চলমান গড় ((ALMA) এবং এর প্রথম শ্রেণীর নির্দেশক এবং দ্বিতীয় শ্রেণীর নির্দেশকগুলি গণনা করে। প্রথম শ্রেণীর নির্দেশকগুলি দামের পরিবর্তনের গতি এবং দ্বিতীয় শ্রেণীর নির্দেশকগুলি মূল্যের বক্ররেখার প্রতিফলন করে। প্রথম এবং দ্বিতীয় শ্রেণীর নির্দেশকের মান অনুসারে, এটি বর্তমানে উত্থান, পতনশীলতা বা অস্থিরতার সময়কালের মধ্যে রয়েছে।
বিশেষ করে, কৌশলটি নিম্নলিখিত সূচকগুলি গণনা করেঃ
CAUSED.Accumulation/Distribution Bands এবং Caused Exposure Top and Bottom Finder সিগন্যালের উপর ভিত্তি করে শেয়ার কেনার সংখ্যা গণনা করা হয় যখন ক্রয় শর্ত পূরণ হয়। যখন বিক্রয় শর্ত পূরণ হয়, তখন সমস্ত অবস্থান বিক্রি করা হয়।
এই কৌশলটি প্রবণতা এবং সূচক বিচারকে একত্রিত করে, যা কার্যকরভাবে বাজার প্রবণতা পাল্টানোর পয়েন্টগুলি সনাক্ত করতে পারে। দামের প্রথম এবং দ্বিতীয় স্তরের নির্দেশক ব্যবহার করে প্রবণতা বিচার করা হয়, দামের ঝাঁকুনির প্রভাব থেকে রক্ষা করা হয়, যাতে সংকেত আরও স্পষ্ট হয়। সাধারণ চলন্ত গড় কৌশলগুলির তুলনায় বিচারযোগ্যতার উচ্চতর সুবিধা রয়েছে।
এই কৌশলটি ট্রেডিং সময়কালের পছন্দ এবং প্যারামিটার সামঞ্জস্যের জন্য অত্যন্ত সংবেদনশীল। যদি সময়কালটি ভুলভাবে বেছে নেওয়া হয় এবং গুরুত্বপূর্ণ মূল্যের বিপর্যয়কে আচ্ছাদন করতে ব্যর্থ হয় তবে কৌশলটি কার্যকর হবে না। যদি সূচক প্যারামিটারটি ভুলভাবে সেট করা হয় তবে ক্রয়-বিক্রয় সংকেতগুলি আরও বেশি শব্দ দ্বারা প্রভাবিত হবে, যা কৌশলটির উপার্জনকে প্রভাবিত করবে।
এই কৌশলটি আরও উন্নত করা যেতে পারে নিম্নলিখিত উপায়েঃ
মাইকোয়ান্ট ট্রেন্ড সনাক্তকরণ কৌশলটি দামের স্বনির্ধারিত চলমান গড়ের প্রথম এবং দ্বিতীয় স্তরের ডাইরেক্টরি গণনা করে কার্যকরভাবে বিটকয়েনের বাজার প্রবণতা সনাক্ত করে এবং সেই অনুযায়ী ক্রয়-বিক্রয় সিদ্ধান্ত নেয়। এই কৌশলটি একাধিক সূচকের সাথে বিচার করে, যাতে সংকেতটি অত্যধিক গোলমাল দ্বারা ব্যাহত না হয়। আরও সময় এবং প্যারামিটার অপ্টিমাইজেশনের মাধ্যমে এই কৌশলটির কার্যকারিতা বাড়ানো যেতে পারে।
/*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)