ব্রেকআউট কৌশল অতিক্রম করা

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

সারসংক্ষেপ

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

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

এই কৌশলটি প্রবেশ এবং প্রস্থান পয়েন্ট নির্ধারণের জন্য চলমান গড়ের সোনার ক্রস এবং মৃত্যুর ক্রসের উপর ভিত্তি করে। কোড দুটি বুলিয়ান ইনপুট পরামিতি ব্যবহার করেupOrDownএবংlongOrShortলং বা শর্ট নির্ধারণ করতে;percentInputদাম পরিবর্তনের প্রান্তিক শতাংশ নির্ধারণ করা;closePositionDaysপজিশন ধরে রাখার জন্য দিনের সংখ্যা নির্ধারণ করতে।

মূল যুক্তি হলঃ গতকালের তুলনায় আজকের বৃদ্ধি / হ্রাস গণনা করুন। যদি এটি ইনপুট থ্রেশহোল্ড শতাংশে পৌঁছে যায়, তবে একটি ট্রেডিং সংকেত সক্রিয় হয়। যদি এটি একটি দীর্ঘ সংকেত হয়, যখন আজকের দাম গতকালের তুলনায় থ্রেশহোল্ডের চেয়ে বেশি বৃদ্ধি পায়, তখন দীর্ঘ যান। যদি এটি একটি সংক্ষিপ্ত সংকেত হয়, যখন আজকের দাম গতকালের তুলনায় থ্রেশহোল্ডের চেয়ে বেশি হ্রাস পায়, তখন সংক্ষিপ্ত যান।

লং/শর্ট হওয়ার পর, এন্ট্রি দিবস এবং পরবর্তী ৪ দিন চার্টে রঙিন চিহ্নিত হবে। ৪ দিন পর পজিশনটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে।

সুবিধা

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

ঝুঁকি

  • মুভিং গড়গুলির বিলম্বিত প্রভাব রয়েছে, দ্রুত মূল্য পরিবর্তনের সেরা সময়টি মিস করতে পারে
  • স্বল্পমেয়াদে মূল্যের উল্লেখযোগ্য পরিবর্তন ঘটতে পারে, অপ্রয়োজনীয় সংকেত তৈরি করে
  • অনুপযুক্ত প্যারামিটার সেটিং কৌশল কর্মক্ষমতা প্রভাবিত করতে পারে
  • অপ্রত্যাশিত ঘটনার প্রভাবের জন্য কার্যকরভাবে প্রতিক্রিয়া জানাতে অক্ষম

ঝুঁকি ব্যবস্থাপনাঃ

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

অপ্টিমাইজেশান নির্দেশাবলী

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

সংক্ষিপ্তসার

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


/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//  Created by Leon Ross

strategy(title = "DaysAfterCertainPercentChangev1", shorttitle = "DACPCv1", overlay = true, 
  pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, 
  calc_on_every_tick=true, initial_capital=100000)
  
//Inputs
longOrShort = input(title="Long=Checked Short=Unchecked", type=bool, defval=true) //long=true, down=false
upOrDown = input(title="Direction of Today vs. Previous day: Up=Checked Down=Unchecked", type=bool, defval=true) //up=true, down=false: this is the direction of days vs previous day
percentInput = input(title="Percent", type=float, defval=4.5)
closePositionDays = input(title="How Many Days to Close Position", defval=4)

//Conditions
//percentUpValue = (close / close[1]) - 1
//percentUp = percentUpValue >= (percentInput/100.0)
//upConditions = percentUp
//percentDownValue = 1- (close / close[1])
//percentDown = percentDownValue >= (percentInput/100.0)
//downConditions = percentDown
upValue = (close / close[1]) - 1
downValue = 1 - (close / close[1])
allConditions = if(upOrDown)
    upValue >= (percentInput/100.0)
else
    downValue >= (percentInput/100.0)
    
//Plots
bgcolor(allConditions ? (upOrDown ? green : red) : na, transp=70)
bgcolor(allConditions ? silver : na, transp=70, offset=1)
bgcolor(allConditions ? silver : na, transp=70, offset=2)
bgcolor(allConditions ? silver : na, transp=70, offset=3)
bgcolor(allConditions ? silver : na, transp=70, offset=4)
//bgcolor(downConditions == 1 ? red : na, transp=70)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=1)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=2)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=3)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=4)

//Entires
if(longOrShort)
    strategy.entry(id = "Long", long = true, when = allConditions) 
else
    strategy.entry(id = "Short", long = false, when = allConditions)

//Exits
if (barssince(allConditions) == closePositionDays)
    if(longOrShort)
        strategy.close("Long")
    else
        strategy.close("Short")




আরো