ডাবল ফ্যাক্টর কোয়ান্ট ট্রেডিং কৌশল

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

img

সারসংক্ষেপ

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

নীতিমালা

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

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

সিগন্যাল মার্জ করার নিয়মটি হলঃ দুটি উপ-কৌশল একই দিকের সংকেত দিলে প্রকৃত ট্রেডিং সংকেতগুলি উত্পন্ন হয়, অন্যথায় সংকেতগুলির দ্বন্দ্বের সময় কোনও নতুন অবস্থান খোলা হয় না।

সুবিধা

এই কৌশলটি দ্বৈত কারণের সংমিশ্রণে স্বল্পমেয়াদী বিপরীত প্রভাব এবং দীর্ঘমেয়াদী প্রবণতার বৈশিষ্ট্য উভয়ই বিবেচনা করে বহু-কোণীয় বাজার মূল্যায়ন করে, কৌশলটির ঝুঁকি প্রতিরোধের উন্নতি করে।

একটি একক গতির কৌশল তুলনায়, এই কৌশলটি হঠাৎ দামের পতনের সময় সময়মতো ক্ষতি বন্ধ করতে বা অবস্থান বিপরীত করতে পারে, বিপরীত ফ্যাক্টর ব্যবহার করে কার্যকরভাবে দিনের মধ্যে ঝুঁকি নিয়ন্ত্রণ করে।

একটি একক বিপরীতমুখী কৌশল তুলনায়, প্রবণতা দিকের জন্য প্রাইম নম্বর দোলক প্রবর্তন করে ঘন ঘন বিপরীতমুখী ব্যবসায় থেকে ওভারট্রেডিং এড়ানো যায়।

ঝুঁকি

সবচেয়ে বড় ঝুঁকি হল দুটি কারণের মধ্যে সিগন্যাল দ্বন্দ্ব। যদি 123 বিপরীতমুখী বিক্রয় ওভারক্রয় / oversold লক্ষণ দেখায় এবং বিপরীতমুখী সংকেত উত্পাদন করে, যখন প্রাইম নম্বর দোলক এটি এখনও প্রবণতা দেখায়, সরাসরি বিপরীতমুখী ব্যবসায়ের ফলে ক্ষতি হতে পারে।

এই ঝুঁকি নিয়ন্ত্রণের জন্য, অতিরিক্ত যুক্তি যুক্ত করা হয় - প্রকৃত ট্রেডগুলি কেবল তখনই তৈরি হয় যখন দুটি সংকেত দিকের সাথে সারিবদ্ধ হয়। তবে এটি কিছু ট্রেডিং সুযোগও মিস করতে পারে।

উন্নতি

  1. নির্দিষ্ট পণ্যগুলির জন্য আরও ভাল বিপরীত প্যারামিটার সেটগুলি খুঁজে পেতে স্টোকাস্টিক পরামিতিগুলি অনুকূলিত করুন

  2. গোলমাল ব্যবসায় হ্রাস করার জন্য প্রাইম নাম্বার অস্কিলেটরের সহনশীলতা শতাংশ অপ্টিমাইজ করুন

  3. একমুখী ক্ষতি সম্প্রসারণ সীমাবদ্ধ করার জন্য স্টপ লস কৌশল যোগ করুন

  4. বিভিন্ন বাজারের পরিবেশের জন্য অবস্থানগুলি সামঞ্জস্য করার জন্য অবস্থান আকারের মডিউল যুক্ত করুন

  5. মেশিন লার্নিং মডেল যোগ করুন দুটি কারণের মধ্যে সংকেত বিশ্বাসযোগ্যতা বিচার করতে, দ্বন্দ্ব হ্রাস

সিদ্ধান্ত

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


/*backtest
start: 2023-11-29 00:00:00
end: 2023-12-06 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 28/04/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// 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.
//
// Developed by Modulus Financial Engineering Inc., the prime number oscillator indicates the 
// nearest prime number, be it at the top or the bottom of the series, and outlines the 
// difference between that prime number and the respective series.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

PrimeNumberOscillator(price, percent) =>
    res = 0.0
    res1 = 0.0
    res2 = 0.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
    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(res1 - price < price - res2,  res1 - price, res2 - price)
    res := iff(res == 0, res[1], res)
    res
    
PNO(percent) =>
    pos = 0.0
    xPNO = PrimeNumberOscillator(close, percent)
    pos:= iff(xPNO > 0, 1,
           iff(xPNO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Prime Number Oscillator", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Prime Number Oscillator ----")
percent = input(5, minval=0.01, step = 0.01, title="Tolerance Percentage")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPNO = PNO(percent)
pos = iff(posReversal123 == 1 and posPNO == 1 , 1,
	   iff(posReversal123 == -1 and posPNO == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

আরো