দ্বৈত-ফ্যাক্টর পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-07 15:11:37 অবশেষে সংশোধন করুন: 2023-12-07 15:11:37
অনুলিপি: 0 ক্লিকের সংখ্যা: 609
1
ফোকাস
1619
অনুসারী

দ্বৈত-ফ্যাক্টর পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

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

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

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

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

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

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

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

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

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

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

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

  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 )