রিভার্সিং মুভিং এভারেজ এনভেলপ কৌশল


সৃষ্টির তারিখ: 2023-10-20 16:05:43 অবশেষে সংশোধন করুন: 2023-10-20 16:05:43
অনুলিপি: 0 ক্লিকের সংখ্যা: 766
1
ফোকাস
1617
অনুসারী

রিভার্সিং মুভিং এভারেজ এনভেলপ কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশল দুটি অংশে বিভক্তঃ

প্রথম অংশটি হল 123 বিপরীত কৌশল। এর ট্রেডিং সিগন্যালটি এলোমেলো সূচক কেডিজে থেকে আসে। নির্দিষ্ট যুক্তি হলঃ যদি বন্ধের দামটি আগের দিনের বন্ধের দামের চেয়ে দুইটি ক্রমাগত ট্রেডিং দিনের কম হয় এবং 9 তম এলোমেলো ধীর লাইনটি 50 এর নীচে থাকে তবে একটি কেনার সংকেত উত্পন্ন হয়। যদি বন্ধের দামটি আগের দিনের বন্ধের দামের চেয়ে দুইটি ক্রমাগত ট্রেডিং দিনের বেশি হয় এবং 9 তম এলোমেলো দ্রুত লাইনটি 50 এর চেয়ে বেশি হয় তবে একটি বিক্রয় সংকেত উত্পন্ন হয়।

দ্বিতীয় অংশটি হল সমান্তরাল ওয়ার্ল্ড কৌশল। এটি সমান্তরাল এবং সমান্তরালের নীচের দুটি ওয়ার্ল্ড লাইন ব্যবহার করে প্রবণতা নির্ধারণ করে। নির্দিষ্ট যুক্তিটি হ’লঃ যদি বন্ধের দামটি উপরের ট্র্যাকের উপরে থাকে তবে এটি একটি কেনার সংকেত দেয়; যদি বন্ধের দামটি নীচের ট্র্যাকের নীচে থাকে তবে এটি একটি বিক্রয় সংকেত দেয়।

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

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

  • বিপরীতমুখী এবং প্রবণতার সাথে মিলিত হয়ে লাভের সম্ভাবনা বাড়ায়

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

  • ডাবল ফিল্টারিং ট্রেডিং কমিয়ে দেয়

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

  • parametrizable parameters নীতির জন্য নমনীয়তা প্রদান করে

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

  • একপাক্ষিক লেনদেনের ফলে কাজ সহজ হয়েছে

এই কৌশলটি শুধুমাত্র মাল্টি হেড বা খালি হেড একপাক্ষিক ট্রেডিং করে, কোন বিপরীত পজিশন খোলা হয় না। এটি কৌশল পরিচালনার যুক্তিকে সহজ করে এবং durations ঝুঁকি কমিয়ে দেয়।

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

  • বিপরীতমুখী ট্রেডিং প্রবণতা ধরতে কঠিন

এই কৌশলটি মূলত বিপরীত ট্রেডিংয়ের উপর নির্ভর করে। দীর্ঘমেয়াদী একতরফা প্রবণতা দেখা দিলে কৌশলটি ধারাবাহিক ক্ষতির কারণ হতে পারে।

  • প্যারামিটার অপ্টিমাইজেশনের অসুবিধা

নীতিতে একাধিক সামঞ্জস্যযোগ্য প্যারামিটার রয়েছে, যা প্যারামিটার অপ্টিমাইজেশনের জন্য কিছুটা অসুবিধা সৃষ্টি করে। প্যারামিটারগুলির ভুল সমন্বয় কৌশলটির কার্যকারিতা প্রভাবিত করতে পারে।

  • পজিশনের উচ্চ ঘনত্ব লেনদেনের ঝুঁকি বাড়ায়

কৌশলটি ঘন ঘন পজিশন পরিবর্তন করার জন্য ডিজাইন করা হয়েছে, যদিও এটি ছোট লাভের জন্য লক করা যায়, তবে খুব ঘন ঘন ট্রেডিং ট্রেডিং খরচ এবং অপ্রত্যাশিত ঝুঁকি বাড়িয়ে তুলতে পারে।

  • সর্বাধিক প্রত্যাহারের সীমা নির্ধারণ করা যায়নি

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

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

  • স্টপ লস বাড়ান

মোবাইল স্টপ বা ট্র্যাকিং স্টপ সেট আপ করা যেতে পারে সর্বাধিক প্রত্যাহার সীমাবদ্ধ করার জন্য। যখন বাজারে অস্বাভাবিক পরিবর্তন হয়, সময়মত স্টপ আপনার তহবিলকে সুরক্ষিত করতে পারে।

  • অপ্টিমাইজেশান প্যারামিটার সমন্বয়

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

  • অন্যান্য সূচকগুলির সাথে সংযুক্ত ফিল্টারিং সংকেত

ট্রেডিং সিগন্যাল যাচাই করার জন্য MACD, Brinband ইত্যাদির মতো সূচক যুক্ত করা, সিগন্যালের গুণমান আরও উন্নত করতে পারে এবং অবৈধ লেনদেন হ্রাস করতে পারে।

  • লেনদেনের ঘনত্ব হ্রাস

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-09-19 00:00:00
end: 2023-10-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 22/03/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
// Moving Average Envelopes are percentage-based envelopes set above and 
// below a moving average. The moving average, which forms the base for 
// this indicator, can be a simple or exponential moving average. Each 
// envelope is then set the same percentage above or below the moving average. 
// This creates parallel bands that follow price action. With a moving average 
// as the base, Moving Average Envelopes can be used as a trend following indicator. 
// However, this indicator is not limited to just trend following. The envelopes 
// can also be used to identify overbought and oversold levels when the trend is 
// relatively flat. 
//
// 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


MAE(Length,PercentShift) =>
    pos = 0.0
    xSMA = sma(close, Length)
    xHighBand = xSMA + (xSMA * PercentShift / 100)
    xLowBand = xSMA - (xSMA * PercentShift / 100)
    pos := iff(close > xHighBand, 1,
             iff(close <xLowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Moving Average Envelopes", 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, "---- MA Envelope ----")
LengthMA = input(18, minval=1)
PercentShift = input(0.2, minval = 0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMAE = MAE(LengthMA,PercentShift)
pos = iff(posReversal123 == 1 and posMAE == 1 , 1,
	   iff(posReversal123 == -1 and posMAE == -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 )