সিগন্যাল স্মুথিংয়ের উপর ভিত্তি করে এলএস সাইকেল কৌশল


সৃষ্টির তারিখ: 2024-02-19 10:42:34 অবশেষে সংশোধন করুন: 2024-02-19 10:42:34
অনুলিপি: 2 ক্লিকের সংখ্যা: 376
1
ফোকাস
1234
অনুসারী

সিগন্যাল স্মুথিংয়ের উপর ভিত্তি করে এলএস সাইকেল কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. মূল প্রাইস সিগন্যালsrc এর উপর দ্বিতীয় ধাপের মসৃণ প্রক্রিয়াকরণ করা হয়, যার ফলে মসৃণ সিগন্যাল smooth হয়।

  2. মসৃণকরণ সংকেতের উপর ভিত্তি করে চক্রের সূচক cycle. গণনা পদ্ধতি হলঃ cycle := (1 - .5 alpha) (1 - .5 alpha) (smooth - 2 smooth[1] + smooth[2]) + 2 (1 - alpha) cycle[1] - (1 - alpha) (1 - alpha) * cycle[2]

যেখানে α হল সমতলীকরণ প্যারামিটার।

  1. চক্রীয় সূচকগুলির জন্য একটি পর্যায়ের সূচক মসৃণ করা হয়, যা চূড়ান্ত লেনদেনের সংকেত দেয়। গণনা পদ্ধতি হলঃ signal := alpha2 cycle + (1 - alpha2) nz(signal[1])

যার মধ্যে α2 হল এক-স্তরের মসৃণকরণ প্যারামিটার।

  1. যখন সিগন্যালের উপর দিয়ে সিগন্যাল যায়[1] যখন বেশি কাজ; যখন signal নিচে প্রবাহিত হয়[১] খালি সময়

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

  1. দামের সংকেতের দ্বিতীয় স্তরের মসৃণকরণের মাধ্যমে, উচ্চ-ফ্রিকোয়েন্সি শব্দগুলি কার্যকরভাবে ফিল্টার করা যায়, যার ফলে ট্রেডিং সংকেত আরও নির্ভরযোগ্য হয়।

  2. ইলস চক্রের সূচক তত্ত্ব ব্যবহার করে, বাজারের প্রবণতার রূপান্তর পয়েন্টগুলি আরও সঠিকভাবে নির্ধারণ করা যেতে পারে।

  3. প্রথম পর্যায়ের সূচকগুলি আরও নির্ভরযোগ্য ট্রেডিং সংকেত তৈরি করতে, পুনরাবৃত্ত সূচকগুলির আংশিক গোলমালকে সরিয়ে দেয়।

  4. সমগ্র কৌশল প্রক্রিয়া যুক্তিসঙ্গত, বৈজ্ঞানিক, প্যারামিটার অপ্টিমাইজেশান স্থান বড়, বাস্তব ডিস্ক কর্মক্ষমতা চমৎকার

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

  1. অন্যান্য প্রযুক্তিগত সূচক কৌশলগুলির মতো, এই কৌশলটি বাজারের সিস্টেমিক ঝুঁকির প্রতি সংবেদনশীল। একটি বড় কালো ঘুড়ি ঘটনার ক্ষেত্রে, বড় ক্ষতি হতে পারে।

  2. গণনা প্রক্রিয়াটি জটিল হওয়ায়, প্যারামিটার সেটিংটি ভুল হলে গণনাটি বিলম্বিত হতে পারে, যার ফলে রিয়েল-ডিস্কের প্রভাব প্রভাবিত হয়। প্যারামিটার সেটিংটি বৈজ্ঞানিকভাবে যুক্তিসঙ্গত কিনা তা নিশ্চিত করার জন্য সতর্কতার সাথে পরীক্ষা করা দরকার।

  3. মসৃণকরণ এছাড়াও ট্রেডিং সংকেত বিলম্বিত হতে পারে, সময়মত বাজারের পালা পয়েন্ট ক্যাপচার করতে ব্যর্থ হতে পারে, যার ফলে সুযোগ হারিয়ে যায়। মসৃণকরণ প্যারামিটারগুলির জন্য একটি ভারসাম্যপূর্ণ সেটিং প্রয়োজন।

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

  1. বিভিন্ন ধরণের মসৃণকরণ অ্যালগরিদম পরীক্ষা করা যেতে পারে, যেমন এক-স্তরের সূচকীয় মসৃণকরণ, গড় সমতল মসৃণকরণ ইত্যাদি, সর্বোত্তম মসৃণকরণ সমাধান খুঁজে পেতে।

  2. এই পদ্ধতিতে প্যারামিটারগুলিকে বাজারের অবস্থার সাথে সামঞ্জস্য করে পরিবর্তন করা যায়।

  3. স্টপ লস এবং স্টপ স্টপ কৌশলগুলি ডিজাইন করা যেতে পারে যা একক ক্ষতির ঝুঁকি হ্রাস করে এবং একই সাথে মুনাফা লক করে।

  4. অন্যান্য মেশিন লার্নিং মডেলের সাথে মিলিত হয়ে মডেলের সংমিশ্রণ করা যায়, অন্য মডেলের মাধ্যমে ট্রেডিং সিগন্যাল ফিল্টার করা যায়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-19 00:00:00
end: 2024-02-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Ehlers Cyber Cycle Strategy",overlay=false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 1, commission_type = strategy.commission.percent, commission_value = 0.1)
src = input(hl2, title = "Source") 
alpha = input(.07, title = "Alpha")
lag = input(9, title = "Lag")
smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

cycle = na
if na(cycle[7])
    cycle := (src - 2 * src[1] + src[2]) / 4
else
    cycle := (1 - .5 * alpha) * (1 - .5 * alpha) * (smooth - 2 * smooth[1] + smooth[2]) + 2 * (1 - alpha) * cycle[1] - (1 - alpha) * (1 - alpha) * cycle[2]

alpha2 = 1 / (lag + 1)
signal = na
signal := alpha2 * cycle + (1 - alpha2) * nz(signal[1])
oppositeTrade = input(true)
barsSinceEntry = 0
barsSinceEntry := nz(barsSinceEntry[1]) + 1
if strategy.position_size == 0
    barsSinceEntry := 0
if (crossover(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossunder(signal, signal[1]))
    strategy.entry("Long", strategy.long)
    barsSinceEntry := 0
if (crossunder(signal, signal[1]) and not oppositeTrade) or (oppositeTrade and crossover(signal, signal[1]))
    strategy.entry("Short", strategy.short)
    barsSinceEntry := 0
if strategy.openprofit < 0 and barsSinceEntry > 8
    strategy.close_all()
    barsSinceEntry := 0
    
    
plot(0, title="ZeroLine", color=gray) 
plotSrc = signal
cyclePlot = plot(plotSrc, title = "CyberCycle", color = blue)
triggerPlot = plot(plotSrc[1], title = "Trigger", color = green)
fill(cyclePlot, triggerPlot, color = plotSrc < plotSrc[1] ? red : lime, transp = 50)