প্রাইম নাম্বার ব্যান্ড ব্যাকটেস্ট কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-01-08 11:54:52
ট্যাগঃ

img

সারসংক্ষেপ

প্রাইম নম্বর ব্যান্ড ব্যাকটেস্ট কৌশলটি একটি মূল্যের চারপাশে সর্বোচ্চ এবং সর্বনিম্ন প্রাইম সংখ্যা সনাক্ত করে এবং এই দুটি প্রাইম নম্বর সিরিজকে একটি ব্যান্ড হিসাবে প্লট করে বাজারের প্রবণতা বিচার করে। এই কৌশলটি মডুলাস ফিনান্সিয়াল ইঞ্জিনিয়ারিং ইনকর্পোরেটেড দ্বারা বিকাশ করা হয়েছিল।

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

  1. ইনপুট সহনশীলতা শতাংশের উপর ভিত্তি করে একটি নির্দিষ্ট দামের ওঠানামা পরিসীমা অতিক্রম করুন সর্বোচ্চ এবং সর্বনিম্ন অগত্যা সংখ্যা খুঁজে পেতে।
  2. সর্বশেষ N বারগুলিতে অ-সংখ্যা ব্যাংকের সর্বোচ্চ এবং সর্বনিম্ন পয়েন্টগুলি পেতে সর্বোচ্চ এবং সর্বনিম্ন ফাংশনগুলি ব্যবহার করুন।
  3. ক্লোজিং মূল্য প্রাইম নম্বর ব্যান্ডের সর্বোচ্চ এবং সর্বনিম্ন পয়েন্টগুলি অতিক্রম করে কিনা তার উপর ভিত্তি করে দীর্ঘ বা সংক্ষিপ্ত দিক নির্ধারণ করুন।
  4. ট্রেডিং সিগন্যাল বিপরীত করতে পারেন।

সুবিধা বিশ্লেষণ

  1. প্রাইম নাম্বারগুলির র্যান্ডম এবং অনিয়মিত বন্টনের বৈশিষ্ট্য ব্যবহার করে বাজারের র্যান্ডমালিটি ক্যাপচার করুন।
  2. মৌলিক সংখ্যার ব্যান্ডের একটি নির্দিষ্ট বিলম্ব রয়েছে, যা কিছু শব্দ ফিল্টার করতে পারে।
  3. প্রাইম নম্বর ব্যান্ডের উপরের এবং নীচের সীমা নমনীয় এবং বিভিন্ন চক্র এবং বিভিন্ন ট্রেডিং জাতের সাথে মানিয়ে নিতে সহনশীলতা শতাংশের মাধ্যমে সামঞ্জস্য করা যেতে পারে।

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

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

পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করে, অন্যান্য সূচকগুলির সাথে একত্রিত করে ইত্যাদি ঝুঁকিগুলি এড়ানো যেতে পারে।

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

  1. সহজ চলমান গড় এবং অন্যান্য সূচকগুলির সংমিশ্রণে সংকেতগুলি ট্রিগার করার জন্য দ্বৈত শর্ত সেট করুন।
  2. অন্যান্য র্যান্ডম সংখ্যা যেমন ফিবোনাচি সংখ্যা ব্যবহারের জন্য গবেষণা করুন।
  3. স্বয়ংক্রিয় প্যারামিটার অপ্টিমাইজেশান অর্জনের জন্য মেশিন লার্নিং অ্যালগরিদম চালু করা।

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

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


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/03/2018
// Determining market trends has become a science even though a high number 
// or people still believe it’s a gambling game. Mathematicians, technicians, 
// brokers and investors have worked together in developing quite several 
// indicators to help them better understand and forecast market movements.
// The Prime Number Bands indicator was developed by Modulus Financial Engineering 
// Inc. This indicator is charted by indentifying the highest and lowest prime number 
// in the neighborhood and plotting the two series as a band.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
PrimeNumberUpBand(price, percent) =>
    res = 0
    res1 = 0
    for j = price to price + (price * percent / 100)
        res1 := j
	    for i = 2 to sqrt(price)
        	res1 := iff(j % i == 0 , 0, j)
            if res1 == 0 
                break
		if res1 > 0 
		    break
    res := iff(res1 == 0, res[1], res1)
    res

PrimeNumberDnBand(price, percent) =>
    res = 0
    res2 = 0
    for j = price to price - (price * percent / 100)
        res2 := j
	    for i = 2 to sqrt(price)
        	res2 := iff(j % i == 0 , 0, j)
            if res2 == 0 
                break
		if res2 > 0 
		    break
    res := iff(res2 == 0, res[1], res2)
    res

strategy(title="Prime Number Bands Backtest", overlay = true)
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
Length = input(5, minval=1)
srcUp = input(title="Source Up Band",  defval=high)
srcDn = input(title="Source Down Band",  defval=low)
reverse = input(false, title="Trade reverse")
xPNUB = PrimeNumberUpBand(srcUp, percent)
xPNDB = PrimeNumberDnBand(srcDn, percent)
xHighestPNUB = highest(xPNUB, Length)
xLowestPNUB = lowest(xPNDB, Length)
pos = iff(close > xHighestPNUB[1], 1,
       iff(close < xLowestPNUB[1], -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(xHighestPNUB, color=red, title="PNUp")
plot(xLowestPNUB, color=green, title="PNDn")

আরো