মাল্টি-মডেল কম্বিনেশন ক্যান্ডেলস্টিক প্যাটার্ন কৌশল


সৃষ্টির তারিখ: 2023-10-17 15:53:06 অবশেষে সংশোধন করুন: 2023-10-17 15:53:06
অনুলিপি: 0 ক্লিকের সংখ্যা: 671
1
ফোকাস
1617
অনুসারী

মাল্টি-মডেল কম্বিনেশন ক্যান্ডেলস্টিক প্যাটার্ন কৌশল

ওভারভিউ

এই কৌশলটি একাধিক ক্যানিমেট্রিক মডেলের সমন্বয়ে স্টক ট্রেডিংয়ের জন্য ব্যবহৃত হয়। এটি প্যাকেজ লাইন মডেল, ফাঁকা ক্যানিমেট্রিক মডেল এবং ক্রস স্টার মডেলের সমন্বয়ে বিভিন্ন বাজারের অবস্থার মধ্যে ট্রেডিংয়ের সুযোগগুলি ধরতে পারে।

মূলনীতি

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

প্রথমত, এটি কিছু মৌলিক ভেরিয়েবল সংজ্ঞায়িত করে যা স্ট্রিংয়ের বৈশিষ্ট্যগুলি বর্ণনা করে, যেমন স্ট্রিংয়ের সত্তার আকার, body, ওপেন, ক্লোজ ইত্যাদি।

তারপর, এটি 3 টি ট্রেডিং বার প্রকারের সংজ্ঞায়িত করে, যার মধ্যে 1 টি ট্রেডিং বারের সাথে সম্পর্কিতঃ 1 টি ট্রেডিং বারের সাথে সম্পর্কিত, -1 টি ট্রেডিং বারের সাথে সম্পর্কিত, এবং 0 টি ট্রেডিং বারের সাথে সম্পর্কিত।

এর উপর ভিত্তি করে, আমরা 3 টি কোয়ান্টাম রুলস তৈরি করেছিঃ

  1. প্যাকেজিং লাইন মডেলঃ বর্তমান K লাইনটি পূর্ববর্তী K লাইনকে আবৃত করে এবং ক্রয় বা বিক্রয় সংকেত তৈরি করে।

  2. হরামি প্যাটার্নঃ উপরের K লাইনটি বর্তমান K লাইনকে ঘিরে রাখে এবং ক্রয় বা বিক্রয় সংকেত দেয়।

  3. হরামি ক্রস প্যাটার্নঃ খালি হার্টের টুকরা এবং ক্রস প্যাটার্নের সমন্বয়ে ক্রয় বা বিক্রয় সংকেত তৈরি হয়।

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

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

সুবিধা

  • একাধিক ফর্মের সংমিশ্রণ, স্থিতিশীলতা শক্তিশালী। একক ফর্মটি নির্দিষ্ট বাজার পরিবেশের দ্বারা বেশি প্রভাবিত হতে পারে, সমন্বয়যুক্ত ফর্মটি স্থিতিশীলতা বাড়িয়ে তুলতে পারে।

  • একই দিকের আকৃতি নিশ্চিতকরণ, সমন্বিত বিচার, ভুল বিচার এড়ানো। বিভিন্ন আকৃতির মডেল বিভিন্ন দৃষ্টিকোণ থেকে প্রবণতা বিচার করে, একে অপরের সংকেত যাচাই করতে পারে।

  • প্যারামিটারগুলি সামঞ্জস্যযোগ্য এবং অভিযোজিত। ব্যবহারকারীরা বিভিন্ন আকারের মডেলগুলি বেছে নিতে, লেনদেনের সময়সীমার পরিসীমা এবং অন্যান্য প্যারামিটারগুলিকে সামঞ্জস্য করতে এবং বাজারের পরিবর্তনের সাথে নমনীয়তার সাথে মোকাবিলা করতে পারেন।

  • সুশৃঙ্খল ট্রেডিং লজিক. অবস্থান ধরে রাখার বিচার এবং ক্ষতি বন্ধ করার প্রস্থান লজিকের সাথে মিলিত, ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায়।

ঝুঁকি

  • একাধিক প্যারামিটার সমন্বয় জটিলতা বৃদ্ধি করে। প্রতিটি প্যারামিটার সমন্বয় পরীক্ষা করা প্রয়োজন, এবং ভুল প্যারামিটার সমন্বয় প্রভাব হ্রাস করতে পারে।

  • shape প্যারামিটার সেট করা অভিজ্ঞতা নির্ভর। shape প্যারামিটার যেমন বস্তুর আকার উপযুক্ত কিনা তা সংশোধন করার জন্য অভিজ্ঞতা অর্জন করা প্রয়োজন।

  • একতরফা পজিশন হোল্ডিংয়ের ঝুঁকি। কেবলমাত্র অতিরিক্ত বা কেবলমাত্র শূন্যপদ লাভের স্থানকে সীমাবদ্ধ করে। প্যারামিটার সেটিংয়ের মাধ্যমে একই সাথে অতিরিক্ত শূন্যপদ করা যেতে পারে।

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

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

  • একতরফা পজিশনের ঝুঁকি কমানোর জন্য স্টপ লস কৌশল বাড়ানো।

  • অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে মিলিত হয়ে, বড় প্রবণতার দিকনির্দেশনা নির্ধারণ করুন এবং বিপরীতমুখী লেনদেন এড়িয়ে চলুন যেমন MACD, Bollinger Band ইত্যাদি।

  • বিভিন্ন জাতের প্যারামিটার পছন্দ পরীক্ষা করে, বিভিন্ন জাতের জন্য উপযুক্ত ফর্ম্যাট সমন্বয় তৈরি করুন।

  • মেশিন লার্নিং অ্যালগরিদম যুক্ত করা হয়েছে, যা এআই দ্বারা প্যারামিটার অপ্টিমাইজেশন এবং মোড সনাক্তকরণকে সহায়তা করে।

সারসংক্ষেপ

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

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

//Noro
//2018

//@version=3
strategy(title = "Noro's CandleModels Tests", shorttitle = "CandleModels tests", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")

eng = input(true, defval = true, title = "Model Engulfing")
har = input(true, defval = true, title = "Model Harami")
harc = input(true, defval = true, title = "Model Harami Cross")

fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
rev = input(false, defval = false, title = "Reversive trading")

//Body
body = abs(close - open)
abody = sma(body, 10)

//MinMax Bars
min = min(close, open)
max = max(close, open)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
doji = body < abody / 10
up1 = eng and bar == 1 and bar[1] == -1 and min <= min[1] and max >= max[1]
dn1 = eng and bar == -1 and bar[1] == 1 and min <= min[1] and max >= max[1]
up2 = har and bar == 1 and bar[1] == -1 and min >= min[1] and max <= max[1]
dn2 = har and bar == -1 and bar[1] == 1 and min >= min[1] and max <= max[1]
up3 = harc and doji and bar[1] == -1 and low >= min[1] and high <= max[1]
dn3 = harc and doji and bar[1] == 1 and low >= min[1] and high <= max[1]
exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and body > abody / 2 and rev == false

//Trading
if up1 or up2 or up3
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2 or dn3
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()