Ehlers stochastic চক্র পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-17 16:03:30 অবশেষে সংশোধন করুন: 2024-01-17 16:03:30
অনুলিপি: 0 ক্লিকের সংখ্যা: 793
1
ফোকাস
1617
অনুসারী

Ehlers stochastic চক্র পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

সুনির্দিষ্টভাবে বলতে গেলে, smoothed cyclic indicator এর গণনা পদ্ধতি হলঃ

smooth = (src + 2 * src[1] + 2 * src[2] + src[3]) / 6

যেখানে src হল ইনপুট প্রাইস ডেটা, যেমন ক্লোজ-আপ প্রাইস। এই সূচকটি বর্তমান প্রাইস এবং পূর্ববর্তী 3 টি সময়ের প্রাইসকে একত্রিত করে একটি মসৃণ চক্রের সংকেত তৈরি করে।

এই smoothed সূচক উপর ভিত্তি করে, তারপর একটি র্যান্ডম সূচক 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]

এই গণনা সূত্রের মধ্যে সমতলীকরণের পর পর্যায়ক্রমিক সংকেতের বিভাজক এবং পূর্ববর্তী দুটি পর্যায়ের মান রয়েছে। α হল সমতলীকরণ ফ্যাক্টর, যা নতুন ও পুরানো পর্যায়ের মানের ওজনকে সামঞ্জস্য করে।

অবশেষে, এই চক্র সূচকের উপর ভিত্তি করে একটি 0-100 এর একটি এলোমেলো মান value1 গণনা করা হয় এবং value1 এর 10 দিনের চলমান গড়ের উপর ভিত্তি করে একটি সংকেত মান signal তৈরি করা হয়। যখন সংকেতটি চলমান গড়ের উপরে বা নীচে অতিক্রম করে তখন একটি লেনদেনের সংকেত দেওয়া হয়

কৌশলগত সুবিধা

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

প্রধান সুবিধাঃ

  1. চক্রীয় সূচকগুলি চক্রীয় প্যাটার্নগুলি সনাক্ত করতে পারে, এলোমেলো সূচকগুলি এক্সএফবি ট্রেডিংয়ের সময় সরবরাহ করে
  2. ডাবল ইন্ডিকেটর ডিজাইন, যা কার্যকরভাবে মিথ্যা সংকেত ফিল্টার করে
  3. কাস্টমাইজযোগ্য প্যারামিটার, বিভিন্ন বাজার পরিবেশে অভিযোজিত

কৌশলগত ঝুঁকি

এই কৌশলটি নিম্নলিখিত ঝুঁকির সাথে জড়িতঃ

  1. অপ্রয়োজনীয় প্যারামিটার সেটিং ট্রেডিং ফ্রিকোয়েন্সি, ট্রেডিং ফি এবং স্লাইড পয়েন্ট খরচ বৃদ্ধি করতে পারে
  2. দামের তীব্র ওঠানামা মোকাবেলা করতে না পারায় বিপুল ক্ষতি হতে পারে
  3. চক্রের সূচকটি বক্ররেখার সামঞ্জস্যের উপর নির্ভরশীল, অনুপযুক্ত সামঞ্জস্যের ফলে ভুল সংকেত হতে পারে

অপ্টিমাইজেশান প্যারামিটার সেটিং, স্টপ লস সেটিং এবং অন্যান্য ফিল্টারিং সূচকগুলির সাথে মিলিত পদ্ধতির মাধ্যমে ঝুঁকি নিয়ন্ত্রণ করা যেতে পারে।

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

এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ

  1. অন্যান্য প্রযুক্তিগত সূচকের সাথে সংযুক্ত সংকেত ফিল্টার করুন, যেমন ব্রিন ব্যান্ড, আরএসআই ইত্যাদি, ভুল সংকেত হ্রাস করুন
  2. বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ লস পরিবর্তনশীলভাবে সামঞ্জস্য করার জন্য একটি অভিযোজিত প্রস্থান ব্যবস্থা যোগ করুন
  3. মেশিন লার্নিং পদ্ধতি ব্যবহার করে প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে অপ্টিমাইজ করুন যাতে এটি বাজারে গতিশীল হতে পারে
  4. মূলধন ব্যবহারের অনুকূলীকরণ, মূলধন ব্যবহারের দক্ষতা বৃদ্ধি, যেমন লিভারেজ, লাভের মাধ্যমে

সারসংক্ষেপ

এলেস র্যান্ডম চক্র কৌশলটি র্যান্ডম সূচক এবং চক্র সূচকগুলির সুবিধাগুলিকে সমন্বিতভাবে ব্যবহার করে, ডাবল সিগন্যাল ডিজাইনের মাধ্যমে কার্যকরভাবে ঝুঁকি নিয়ন্ত্রণ করে, আরও বেশি চক্রীয় বাজারে ভাল আয় করতে সক্ষম। আরও অপ্টিমাইজেশনের মাধ্যমে, কৌশলটি একটি প্রস্তাবিত পরিমাণযুক্ত ট্রেডিং কৌশল হতে পারে।

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

//@version=3
strategy("Ehlers Stochastic 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
len = input(8, title = "Stochastic len")
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]

value1 = stoch(cycle, cycle, cycle, len) / 100
value2 = 2 * ((4 * value1 + 3 * value1[1] + 2 * value1[2] + value1[3]) / 10 - 0.5)

signal = value2
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)