আউট-অফ-দ্য-বক্স মেশিন লার্নিং ট্রেডিং কৌশল


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

আউট-অফ-দ্য-বক্স মেশিন লার্নিং ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটি মূলত নিম্নলিখিত বিষয়গুলির উপর ভিত্তি করে তৈরি করা হয়েছেঃ

  1. বাজারের প্রবণতার দিকনির্দেশের জন্য হুলের গড় লাইন ব্যবহার করুন
  2. স্বল্প ও মধ্যমেয়াদী প্রবণতা নির্ধারণের জন্য EMA ব্যবহার করা হয়
  3. K-লাইন এন্ট্রি চ্যানেল ব্যবহার করে মূল SUPPORT/RESISTANCE অবস্থান নির্ধারণ করুন
  4. SECURITY-এর ওপেনিং ও ক্লোজিং ক্রস-পয়েন্ট ব্যবহার করে সিদ্ধান্ত নেওয়া

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

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

অবশেষে, কৌশলটি 60 পিরিয়ডের ওপেন এবং ক্লোজিং মূল্যকে কল করে, যখন ক্লোজিং মূল্যের ওপরে ওপেনিং মূল্য অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন করে, যখন এটি অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন করে। এইভাবে পুরো লেনদেনের যুক্তি সম্পন্ন হয়।

কৌশলগত শক্তি বিশ্লেষণ

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

  1. মাল্টিমিটার প্যাকেজ, সিগন্যালের নির্ভুলতা বাড়ায়

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

  1. নমনীয় প্যারামিটার সেটিং

hull গড় লাইনের দৈর্ঘ্য, EMA চক্রের সংখ্যা এবং ওপেনিং এবং ক্লোজিং ক্রস চক্রের সংখ্যা প্যারামিটার দ্বারা সামঞ্জস্য করা যায়, যাতে কৌশলটি বিভিন্ন বাজারের পরিস্থিতিতে নমনীয় হতে পারে।

  1. স্বয়ংক্রিয় ট্রেডিং সংকেত

সূচক এবং মূল্যের উপর ভিত্তি করে ক্রস ট্রেডিং সংকেতগুলি স্বয়ংক্রিয়ভাবে ক্রয় এবং বিক্রয়কে ট্রিগার করতে পারে, যা ম্যানুয়াল বিচার ছাড়াই অপারেশনটি কমিয়ে দেয়।

  1. দৃশ্যমান প্রদর্শন

কৌশলগত চার্টগুলি বাজারের কাঠামো, প্রবণতা অবস্থা এবং মূল মূল্যগুলি স্পষ্টভাবে প্রদর্শন করতে পারে, কৌশলগত সিদ্ধান্তের ভিত্তিটি স্বজ্ঞাতভাবে প্রদর্শন করে।

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

যদিও এই কৌশলটি অনেক দিক থেকে অপ্টিমাইজ করা হয়েছে, তবুও কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ

  1. “অনেকের জন্য, এটা ট্র্যাক করা অসম্ভব।

দামের তীব্র ওঠানামা চলাকালীন সময়ে, সূচকগুলি ব্যর্থ হতে পারে বা বিলম্বিত হতে পারে, যার ফলে কৌশলগুলি সময়মতো দামের পরিবর্তনগুলি ট্র্যাক করতে পারে না। এই পরিস্থিতির সাথে খাপ খাইয়ে নেওয়ার জন্য প্যারামিটারগুলি অপ্টিমাইজ করা দরকার।

  1. সিগন্যাল ত্রুটি

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

  1. মাল্টি স্পেস MIX ঝুঁকি

কৌশল একই সময়ে অতিরিক্ত লঘু করা, যদি ভুল বিচার করা হয়, তবে দ্বিপাক্ষিক ক্ষতির ঝুঁকি রয়েছে। এটি নিয়ন্ত্রণের জন্য কঠোরভাবে ক্ষতি বা পজিশন কমানোর প্রয়োজন।

  1. ওভার অপ্টিমাইজেশন ঝুঁকি

প্যারামিটার সেট করা খুব জটিল এবং অপ্টিমাইজড হওয়ার ঝুঁকি রয়েছে। এটি সিস্টেমকে সহজতর করতে হবে এবং প্যারামিটার সমন্বয়গুলির সংখ্যা নিয়ন্ত্রণ করতে হবে।

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

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

  1. আরও সূচক সংকেত যোগ করুন

ইতোমধ্যে প্রচলিত সূচকগুলি ছাড়াও, আরও সহায়ক সূচক যেমন BOLL চ্যানেল, কেডি সূচক ইত্যাদি প্রবর্তন করা যেতে পারে, যা সিস্টেমের বিচারের ভিত্তিকে সমৃদ্ধ করে।

  1. ডিপ লার্নিং মডেল

সংকেতের গুণমান উন্নত করার জন্য সাধারণ সূচকগুলিকে বৈশিষ্ট্য হিসাবে ব্যবহার করুন এবং এলএসটিএম এর মতো গভীর শিক্ষণ মডেলগুলিকে প্রশিক্ষণ দিন।

  1. মৌলিক তথ্যের সাথে মিলিত

মেক্রো ইকোনমিক ডেটা, নীতি সংক্রান্ত তথ্য এবং অন্যান্য মৌলিক বিষয় যোগ করা, মেগা-চক্রের সিদ্ধান্তের অপ্টিমাইজেশন করা।

  1. ঝুঁকি ও পজিশন ব্যবস্থাপনা

স্টপ লস কৌশল প্রবর্তন করুন, কৌশল অনুযায়ী মুনাফার অস্থিরতার গতিশীলতা অনুসারে পজিশন স্কেলটি সামঞ্জস্য করুন, ঝুঁকি কঠোরভাবে নিয়ন্ত্রণ করুন।

সারসংক্ষেপ

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

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

//@version=4
strategy(title='Ali Jitu Abus', shorttitle='Ali_Jitu_Abis_Strategy', overlay=true, pyramiding=0, initial_capital=1000, currency=currency.USD)

//Candle body resistance Channel-----------------------------//
len = 34
src = input(close, title="Candle body resistance channel")
out = sma(src, len)
last8h = highest(close, 13)
lastl8 = lowest(close, 13)
bearish = cross(close,out) == 1 and falling(close, 1)
bullish = cross(close,out) == 1 and rising(close, 1)
channel2=input(false, title="Bar Channel On/Off")
ul2=plot(channel2?last8h:last8h==nz(last8h[1])?last8h:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level top", offset=0)
ll2=plot(channel2?lastl8:lastl8==nz(lastl8[1])?lastl8:na, color=black, linewidth=1, style=linebr, title="Candle body resistance level bottom", offset=0)
//fill(ul2, ll2, color=black, transp=95, title="Candle body resistance Channel")

//-----------------Support and Resistance 
RST = input(title='Support / Resistance length:',  defval=10) 
RSTT = valuewhen(high >= highest(high, RST), high, 0)
RSTB = valuewhen(low <= lowest(low, RST), low, 0)
RT2 = plot(RSTT, color=RSTT != RSTT[1] ? na : red, linewidth=1, offset=+0)
RB2 = plot(RSTB, color=RSTB != RSTB[1] ? na : green, linewidth=1, offset=0)

//--------------------Trend colour ema------------------------------------------------// 
src0 = close, len0 = input(13, minval=1, title="EMA 1")
ema0 = ema(src0, len0)
direction = rising(ema0, 2) ? +1 : falling(ema0, 2) ? -1 : 0
plot_color = direction > 0  ? lime: direction < 0 ? red : na
plot(ema0, title="EMA", style=line, linewidth=1, color = plot_color)

//-------------------- ema 2------------------------------------------------//
src02 = close, len02 = input(21, minval=1, title="EMA 2")
ema02 = ema(src02, len02)
direction2 = rising(ema02, 2) ? +1 : falling(ema02, 2) ? -1 : 0
plot_color2 = direction2 > 0  ? lime: direction2 < 0 ? red : na
plot(ema02, title="EMA Signal 2", style=line, linewidth=1, color = plot_color2)

//=============Hull MA//
show_hma = input(false, title="Display Hull MA Set:")
hma_src = input(close, title="Hull MA's Source:")
hma_base_length = input(8, minval=1, title="Hull MA's Base Length:")
hma_length_scalar = input(5, minval=0, title="Hull MA's Length Scalar:")
hullma(src, length)=>wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(not show_hma ? na : hullma(hma_src, hma_base_length+hma_length_scalar*6), color=black, linewidth=2, title="Hull MA")

//============ signal Generator ==================================//
Period=input('60')
ch1 = request.security(syminfo.tickerid, Period, open)
ch2 = request.security(syminfo.tickerid, Period, close)
longCondition = crossover(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
if (longCondition)
    strategy.entry("BUY", strategy.long)
shortCondition = crossunder(request.security(syminfo.tickerid, Period, close),request.security(syminfo.tickerid, Period, open))
if (shortCondition)
    strategy.entry("SELL", strategy.short)

plot(request.security(syminfo.tickerid, Period, close), color=red, title="Period request.security Close")
plot(request.security(syminfo.tickerid, Period, open), color=green, title="Period request.security Open")

///////////////////////////////////////////////////////////////////////////////////////////