চলন্ত গড় প্রবণতা ট্র্যাকিং অপ্টিমাইজেশান কৌশল


সৃষ্টির তারিখ: 2024-01-04 15:44:23 অবশেষে সংশোধন করুন: 2024-01-04 15:44:23
অনুলিপি: 0 ক্লিকের সংখ্যা: 328

চলন্ত গড় প্রবণতা ট্র্যাকিং অপ্টিমাইজেশান কৌশল

ওভারভিউ

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

কৌশল নীতি

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

কোডটি স্টোক্যাস্টিকের উচ্চতা 1080 এবং নিম্ন 1020 সেট করে এবং স্টোক্যাস্টিকের মধ্যমটি মাঝখানে স্থির থাকে। স্টোক্যাস্টিকের ক্রয়/বিক্রয় সংকেত তৈরি করার সময়, কোডটি ওটিটি সূচকের উপর ভিত্তি করে সংকেতের কার্যকারিতা বিচার করবে। যদি দাম ওটিটি গড়ের উপরে অতিক্রম করে তবে একটি ক্রয় সংকেত প্রেরণ করা হবে এবং যদি দাম ওটিটি গড়ের নীচে অতিক্রম করে তবে একটি বিক্রয় সংকেত দেওয়া হবে।

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

সামর্থ্য বিশ্লেষণ

স্টোক্যাস্টিক এবং ওটিটি সূচকগুলির সমন্বয় ব্যবহার করে এই কৌশলটি নিম্নলিখিত দিকগুলিকে অনুকূল করে তোলেঃ

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

সামগ্রিকভাবে, এই কৌশলটি স্টোক্যাস্টিক সংকেতগুলিকে ওটিটি ব্যবহার করে ফিল্টার করে, যা কার্যকরভাবে সংকেতের গুণমান এবং কৌশলগত উপার্জনকে উন্নত করে, ট্রেডিংয়ের সংখ্যা এবং কৌশলগত অস্থিরতা হ্রাস করে, প্রবণতার কাছাকাছি, কম ঝুঁকি এবং উচ্চ উপার্জনের প্রভাব অর্জন করে।

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

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

উপরোক্ত ঝুঁকি মোকাবেলায় নিম্নলিখিত পদক্ষেপগুলি গ্রহণ করা যেতে পারেঃ

  1. বিভিন্ন শ্রেণীর শেয়ারের জন্য বিভিন্ন প্যারামিটার ব্যবহার করা হয়।
  2. তিনি বলেন, “এটি একটি নতুন এবং উদ্বেগজনক বিষয়।
  3. প্যারামিটার অপ্টিমাইজেশান টেস্টের জন্য সর্বোত্তম সেটিং খুঁজুন।
  4. ঝুঁকি কমানোর জন্য মোবাইল স্টপ লস চালু করা হয়েছে।
  5. সিগন্যাল শনাক্তকরণ ব্যবস্থাকে আরও কঠোর করার জন্য বিচার শর্তাবলী সংশোধন করা হয়েছে।

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

এই কৌশলটি নিম্নলিখিত ক্ষেত্রে আরও উন্নত করা যেতে পারেঃ

  1. বিভিন্ন বাজার এবং স্টক শ্রেণীর উপর নির্ভর করে প্যারামিটারগুলি সামঞ্জস্য করুন। এখন ডিফল্ট মানগুলি সর্বজনীন এবং বিভিন্ন স্টকগুলির জন্য পৃথকভাবে পরীক্ষার জন্য সর্বোত্তম প্যারামিটার সমন্বয় খুঁজে পেতে পারে।

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

  3. অপ্টিমাইজড সিগন্যাল বিচার লজিক. বর্তমান বিচার লজিকটি সহজ, দামের উপরে এবং নীচে সরাসরি ক্রয় এবং বিক্রয় সংকেত চিহ্নিত করে। সংকেতের নির্ভরযোগ্যতা নিশ্চিত করার জন্য আরও সূচক এবং মূল্যের আকৃতির বিচারকে একত্রিত করার বিষয়টি বিবেচনা করা যেতে পারে।

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

  5. বিভিন্ন সূচক ও ওটিটির সমন্বয় পরীক্ষা করুন। স্টোক্যাস্টিক ও ওটিটির সমন্বয় বর্তমানে ব্যবহৃত হয়। অন্যান্য সূচক যেমন এমএসিডি, আরএসআই এবং ওটিটির সমন্বয়ের প্রভাব পরীক্ষা করা যেতে পারে।

  6. ফান্ড ম্যানেজমেন্ট এবং পজিশন ম্যানেজমেন্ট মডিউল একত্রিত করা হয়েছে। বর্তমানে কোন ফান্ড ম্যানেজমেন্ট এবং পজিশন কন্ট্রোল ব্যবস্থা নেই, সম্পূর্ণরূপে স্টপ লস-এর উপর নির্ভর করে। বিভিন্ন ধরণের ফান্ড ম্যানেজমেন্ট এবং পজিশন ম্যানেজমেন্ট পদ্ধতি পরীক্ষা করা যেতে পারে যাতে একক এবং সামগ্রিক ঝুঁকি আরও নিয়ন্ত্রণ করা যায়।

সারসংক্ষেপ

স্টোচ্যাস্টিক ও ওটিটি সূচকগুলির মধ্যে একটি জৈবিক সংমিশ্রণ। এটি দুটি সূচকগুলির সামঞ্জস্যপূর্ণ সুবিধাগুলি ব্যবহার করে, সংকেতের নির্ভুলতা বাড়ায় এবং কার্যকরভাবে বড় প্রবণতা ধরে রাখার পাশাপাশি ঝুঁকি হ্রাস করে।

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

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

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

//@version=4
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © KivancOzbilgic
//created by: @Anil_Ozeksi
//developer: ANIL ÖZEKŞİ
//author: @kivancozbilgic


strategy(title="Stochastic Optimized Trend Tracker", shorttitle="SOTT", format=format.price, precision=2)
periodK = input(250, title="%K Length", minval=1)
smoothK = input(50, title="%K Smoothing", minval=1)
src1 = input(close, title="Source")
length=input(3, "OTT Period", minval=1)
percent=input(0.618, "OTT Percent", type=input.float, step=0.1, minval=0)
showsupport = input(title="Show Support Line?", type=input.bool, defval=false)
showsignalsc = input(title="Show Stochastic/OTT Crossing Signals?", type=input.bool, defval=false)
Var_Func1(src1,length)=>
    valpha1=2/(length+1)
    vud11=src1>src1[1] ? src1-src1[1] : 0
    vdd11=src1<src1[1] ? src1[1]-src1 : 0
    vUD1=sum(vud11,9)
    vDD1=sum(vdd11,9)
    vCMO1=nz((vUD1-vDD1)/(vUD1+vDD1))
    VAR1=0.0
    VAR1:=nz(valpha1*abs(vCMO1)*src1)+(1-valpha1*abs(vCMO1))*nz(VAR1[1])
VAR1=Var_Func1(src1,length)
k = Var_Func1(stoch(close, high, low, periodK), smoothK)
src=k+1000
Var_Func(src,length)=>
    valpha=2/(length+1)
    vud1=src>src[1] ? src-src[1] : 0
    vdd1=src<src[1] ? src[1]-src : 0
    vUD=sum(vud1,9)
    vDD=sum(vdd1,9)
    vCMO=nz((vUD-vDD)/(vUD+vDD))
    VAR=0.0
    VAR:=nz(valpha*abs(vCMO)*src)+(1-valpha*abs(vCMO))*nz(VAR[1])
VAR=Var_Func(src,length)
h0 = hline(1080, "Upper Band", color=#606060)
h1 = hline(1020, "Lower Band", color=#606060)
fill(h0, h1, color=#9915FF, transp=80, title="Background")
plot(k+1000, title="%K", color=#0094FF)
MAvg=Var_Func(src, length)
fark=MAvg*percent*0.01
longStop = MAvg - fark
longStopPrev = nz(longStop[1], longStop)
longStop := MAvg > longStopPrev ? max(longStop, longStopPrev) : longStop
shortStop =  MAvg + fark
shortStopPrev = nz(shortStop[1], shortStop)
shortStop := MAvg < shortStopPrev ? min(shortStop, shortStopPrev) : shortStop
dir = 1
dir := nz(dir[1], dir)
dir := dir == -1 and MAvg > shortStopPrev ? 1 : dir == 1 and MAvg < longStopPrev ? -1 : dir
MT = dir==1 ? longStop: shortStop
OTT=MAvg>MT ? MT*(200+percent)/200 : MT*(200-percent)/200 
plot(showsupport ? MAvg : na, color=#0585E1, linewidth=2, title="Support Line")
OTTC = #B800D9 
pALL=plot(nz(OTT[2]), color=OTTC, linewidth=2, title="OTT", transp=0)
alertcondition(cross(src, OTT[2]), title="Price Cross Alert", message="OTT - Price Crossing!")
alertcondition(crossover(src, OTT[2]), title="Price Crossover Alarm", message="PRICE OVER OTT - BUY SIGNAL!")
alertcondition(crossunder(src, OTT[2]), title="Price Crossunder Alarm", message="PRICE UNDER OTT - SELL SIGNAL!")
buySignalc = crossover(src, OTT[2])
plotshape(buySignalc and showsignalsc ? OTT*0.995 : na, title="Buy", text="Buy", location=location.absolute, style=shape.labelup, size=size.tiny, color=color.green, textcolor=color.white, transp=0)
sellSignallc = crossunder(src, OTT[2])
plotshape(sellSignallc and showsignalsc ? OTT*1.005 : na, title="Sell", text="Sell", location=location.absolute, style=shape.labeldown, size=size.tiny, color=color.red, textcolor=color.white, transp=0)

dummy0 = input(true, title = "=Backtest Inputs=")
FromDay    = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromMonth  = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromYear   = input(defval = 2005, title = "From Year", minval = 2005)
ToDay      = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth    = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToYear     = input(defval = 9999, title = "To Year", minval = 2006)
Start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)
Finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)
Timerange() =>
    time >= Start and time <= Finish ? true : false
if buySignalc
    strategy.entry("Long", strategy.long,when=Timerange())
if sellSignallc
    strategy.entry("Short", strategy.short,when=Timerange())