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

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

img

সারসংক্ষেপ

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

নীতি

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

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

তারপর বন্ধের মূল্য এবং খোলার মূল্যের মধ্যে সম্পর্কের ভিত্তিতে, এটি 3 ধরণের ট্রেডিং বার সংজ্ঞায়িত করেঃ 1 বৃদ্ধি, -1 হ্রাস এবং 0 কোন পরিবর্তন নেই।

এই ভিত্তিতে, 3 মোমবাতি প্যাটার্ন স্বীকৃতি নিয়ম নির্মিত হয়ঃ

  1. গ্লোবিং প্যাটার্নঃ বর্তমান মোমবাতি পূর্ববর্তীটি গ্লোব করে, কেনা বা বিক্রয় সংকেত তৈরি করে।

  2. হারামি প্যাটার্নঃ পূর্ববর্তী মোমবাতি বর্তমান মোমবাতিকে গ্রাস করে, ক্রয় বা বিক্রয় সংকেত তৈরি করে।

  3. হারামি ক্রস প্যাটার্নঃ হারামি এবং ডোজি সংমিশ্রণ, ক্রয় বা বিক্রয় সংকেত তৈরি করে।

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

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

সুবিধা

  • সংমিশ্রণ স্থিতিশীলতা বৃদ্ধি করে। একক প্যাটার্ন নির্দিষ্ট বাজারের অবস্থার জন্য প্রবণ। সংমিশ্রণ নির্ভরযোগ্যতা উন্নত করতে পারে।

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

  • নমনীয়তাঃ ব্যবহারকারীরা অবাধে মডেলগুলিকে একত্রিত করতে পারে এবং বিভিন্ন বাজারের গতিশীলতার জন্য পরামিতিগুলি সামঞ্জস্য করতে পারে।

  • স্টপ লস এবং পজিশন হ্যান্ডলিং লজিক ঝুঁকি কার্যকরভাবে পরিচালনা করে।

ঝুঁকি

  • জটিলতা. আরো প্যারামিটার মানে আরো জটিলতা. ভুল সমন্বয় কর্মক্ষমতা হ্রাস করতে পারে.

  • প্যারামিটার টিউনিংয়ের জন্য দক্ষতা প্রয়োজন। সঠিক প্যারামিটার প্যারামিটার সেট করার জন্য অভিজ্ঞতা প্রয়োজন।

  • একতরফা হোল্ডিং ঝুঁকি. দীর্ঘ বা স্বল্প শুধুমাত্র মুনাফা সম্ভাব্যতা সীমাবদ্ধ. উভয় দীর্ঘ এবং স্বল্প অনুমতি সাহায্য করতে পারেন.

  • বিপরীতমুখী পয়েন্টগুলি অনুপস্থিত। প্যাটার্নগুলিতে ফোকাস করা প্রবণতা বিপরীতমুখী সংকেতগুলির দৃষ্টি হারাতে পারে। অন্যান্য সূচক যুক্ত করা সম্ভাব্য বিপরীতমুখী পয়েন্টগুলি সনাক্ত করতে সহায়তা করতে পারে।

উন্নতকরণ

  • হোল্ডিং ঝুঁকি কমাতে স্টপ লস যোগ করুন।

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

  • বিভিন্ন পণ্যের মধ্যে পরীক্ষামূলক মডেল পরামিতি, প্রতিটি পণ্যের জন্য উপযুক্ত সর্বোত্তম পরামিতি সেট স্থাপন।

  • এআই ব্যবহার করে প্যারামিটার এবং প্যাটার্ন স্বীকৃতি অপ্টিমাইজ করতে সহায়তা করার জন্য মেশিন লার্নিং চালু করুন।

সিদ্ধান্ত

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


/*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()

আরো