এহেলার্স স্টোকাস্টিক সাইবার চক্র কৌশল

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

img

সারসংক্ষেপ

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

কৌশলগত যুক্তি

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

সুনির্দিষ্টভাবে, মসৃণ চক্রের সূচকটি নিম্নরূপ গণনা করা হয়ঃ

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

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

এই মসৃণ সূচকের ভিত্তিতে, স্টোকাস্টিক চক্রের চক্রটি গণনা করা যেতে পারেঃ

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 এলোমেলো মান মান 1 গণনা করা হয়। এবং সংকেত মান সংকেত মান 1 এর 10-দিনের চলমান গড়ের উপর ভিত্তি করে নির্মিত হয়। যখন সংকেতের চলমান গড় লাইনটি উপরে বা নীচে অতিক্রম করে তখন ট্রেডিং সংকেতগুলি জারি করা হয়।

কৌশলটির সুবিধা

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

এর প্রধান সুবিধাগুলো হল:

  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)

আরো