ডাবল রিভার্সাল আর্বিট্রেজ কৌশল

লেখক:চাওঝাং, তারিখঃ 2024-02-06 09:58:04
ট্যাগঃ

img

সারসংক্ষেপ

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

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

এই কৌশল দুটি উপ-কৌশল নিয়ে গঠিতঃ

  1. 123 বিপরীতমুখী সিস্টেম: এটি উলফ জেন্সনের বই থেকে নেওয়া হয়েছে কিভাবে আমি আমার অর্থকে ফিউচার মার্কেটে তিনগুণ করেছি, পৃষ্ঠা 183. এর ট্রেডিং নিয়মগুলি হলঃ যখন বন্ধের দাম পূর্ববর্তী বন্ধের দামের চেয়ে বেশি এবং 2 দিন আগে বন্ধের দামের চেয়ে কম হয়, যখন ধীর K লাইন 50 এর নীচে থাকে তখন দীর্ঘ যান; যখন বন্ধের দাম পূর্ববর্তী বন্ধের দামের চেয়ে কম এবং 2 দিন আগে বন্ধের দামের চেয়ে বেশি হয়, তখন দ্রুত K লাইন 50 এর উপরে থাকে।

  2. গ্যান সুইং দোলকঃ এটি রবার্ট ক্রাউজ এর বই এ ডব্লিউডি গ্যান ট্রেজার ডিসকভারড থেকে অভিযোজিত। এটি একটি নির্দিষ্ট সময়ের মধ্যে সর্বোচ্চ এবং সর্বনিম্ন মূল্যের উত্থান এবং পতন গণনা করে বাজারের দোলগুলির দিকনির্দেশ বিচার করে।

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

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

এই কৌশলটির সবচেয়ে বড় সুবিধা হ'ল দুটি উপ-কৌশলগুলির সংকেতগুলিকে একীভূত করে এটি কার্যকরভাবে মিথ্যা সংকেতগুলি ফিল্টার করতে পারে এবং ট্রেডিং সংকেতগুলির নির্ভুলতা উন্নত করতে পারে। দুটি উপ-কৌশলগুলির প্রত্যেকের নিজস্ব শক্তি রয়েছে। 123 বিপরীতমুখী সিস্টেম হঠাৎ বিপরীতমুখী প্রবণতা ক্যাপচার করতে পারে, যখন গ্যান সুইং দোলক প্রবণতা বিপরীতমুখী প্রবণতার পরিপক্কতা নির্ধারণ করতে পারে। উভয়কে একত্রিত করে ট্রেডিং সংকেতগুলিকে আরও নির্ভরযোগ্য করে তুলতে পারে, যার ফলে কৌশলটির স্থায়িত্ব বাড়ায়।

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

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

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

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

কৌশলটি নিম্নলিখিত দিকগুলিতে অপ্টিমাইজ করা যেতে পারেঃ

  1. লেনদেনের ফ্রিকোয়েন্সি বাড়ানোর জন্য উপ-কৌশলগুলির পরামিতিগুলি সামঞ্জস্য করা;
  2. সিগন্যালের গুণমান উন্নত করার জন্য অন্যান্য প্রযুক্তিগত সূচকগুলির মূল্যায়ন যুক্ত করুন;
  3. বিভিন্ন পণ্য এবং সময়সীমার উপর ভিত্তি করে উপ-কৌশলগুলির ওজনকে অনুকূল করা;
  4. একক লেনদেনের ক্ষতি নিয়ন্ত্রণের জন্য স্টপ লস মেকানিজম যুক্ত করুন।

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

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


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/11/2020
// 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
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// 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

    
GannSO(Length) =>
    pos = 0.0
    xGSO = 0.0
    xHH = highest(Length)
    xLL = lowest(Length)
    xGSO:= iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], 1,
             iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], -1, nz(xGSO[1],0)))
    pos := iff(xGSO > 0, 1,
    	     iff(xGSO < 0, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Gann Swing Oscillator", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthGSO = input(5, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posGannSO = GannSO(LengthGSO)
pos = iff(posReversal123 == 1 and posGannSO == 1 , 1,
	   iff(posReversal123 == -1 and posGannSO == -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 )

আরো