মুভিং এভারেজ এবং এভারেজ ট্রু রেঞ্জ ট্রেইলিং স্টপ লস এর উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2023-12-08 15:53:22 অবশেষে সংশোধন করুন: 2023-12-08 15:53:22
অনুলিপি: 1 ক্লিকের সংখ্যা: 696
1
ফোকাস
1621
অনুসারী

মুভিং এভারেজ এবং এভারেজ ট্রু রেঞ্জ ট্রেইলিং স্টপ লস এর উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

এই কৌশলটির কেন্দ্রবিন্দু হল মুভিং এভারেজ এমএডি (MADE) সূচক। MADE সূচকটি মুভিং এভারেজ এমএডি (EMA) গঠন করে, যা শতাংশের ফ্যাক্টর দ্বারা স্থানান্তরিত হয়। যখন দামটি ট্রেনে উঠে যায়, তখন বিক্রয় সংকেত উত্পন্ন হয়; যখন দামটি ট্রেন থেকে পড়ে যায়, তখন ক্রয় সংকেত উত্পন্ন হয়। এই কৌশলটি MADE সূচককে গড় সত্যিকারের পরিধি (ATR) এর সাথে সংযুক্ত করে।

বিশেষত, MADE সূচকটিতে তিনটি প্যারামিটার রয়েছেঃ সময়কাল, আপ-ট্র্যাক শতাংশ perAb এবং ডাউন-ট্র্যাক শতাংশ perBl। সময়কালের সময়কাল ইএমএর সময়কালের দৈর্ঘ্য নির্ধারণ করে। EMA থেকে আপ-ট্র্যাকের দূরত্ব শতাংশের ফ্যাক্টর দ্বারা নিয়ন্ত্রিত হয়। এটিআর স্টপ লস অংশটি মূলত এটিআর সময়কাল, এনএটিআরপিরিওড এবং এটিআর গুণিতক, এনএটিআর মাল্টিপ দ্বারা সেট করা হয়। যখন দাম একটি উপরের কে লাইনের স্টপ লস অতিক্রম করে, তখন স্টপ লস লাইনটি মূল্য থেকে স্থির এটিআর ক্ষতি হ্রাস করে; যখন দামটি উপরের কে লাইনের স্টপ লস লাইনের নীচে থাকে, তখন স্টপ লস লাইনটি মূল্যের সাথে স্থির এটিআর ক্ষতির সাথে সামঞ্জস্য করে।

অবশেষে, এটির সাথে মেড ইনডিকেটর সংকেত এবং এটিআর স্টপ লস শর্ত ফিল্টারিংয়ের সমন্বয়ে কেনা এবং বিক্রি সংকেত তৈরি করা হয়। বিপরীত ক্রিয়াকলাপটি বিপরীত ট্রেডিং ইনপুট স্যুইচ রিভার্সের মাধ্যমে করা যেতে পারে।

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

MADEFlex কৌশলটির নিম্নলিখিত সুবিধাগুলি রয়েছেঃ

  1. ইন্ডিকেটর সিগন্যাল এবং স্টপড মেকানিজমের সাথে মিলিত, আরও নির্ভরযোগ্য। MADE ইন্ডিকেটরগুলি নিজেই ভুল সংকেত তৈরি করতে পারে। এটিআর কুলুঙ্গি স্টপডের সাথে মিলিত, কিছু শব্দকে কার্যকরভাবে ফিল্টার করতে পারে।

  2. এটির প্যারামিটারগুলি সমৃদ্ধ, নিয়ন্ত্রণের নমনীয়তা রয়েছে। এটি মেড সূচকের প্যারামিটারগুলি এবং এটিআর প্যারামিটারগুলি নিয়ন্ত্রণ করতে পারে, সংকেতের সংখ্যা এবং গুণমান নিয়ন্ত্রণ করতে পারে।

  3. রিভার্স অপারেশন সমর্থিত। রিভার্স সুইচ দ্বারা রিভার্স ট্রেডিং, কৌশল ব্যবহারের দৃশ্যাবলী সমৃদ্ধ।

  4. ভিজ্যুয়াল স্টপার স্বজ্ঞাত। স্টপ লাইন আঁকুন, স্বজ্ঞাতভাবে স্টপ প্রভাব বিচার করুন।

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

MADEFlex এর ঝুঁকিগুলো হলঃ

  1. MADE সূচক প্যারামিটারগুলি ভুল হলে অনেকগুলি ত্রুটিপূর্ণ সংকেত তৈরি হতে পারে। সঠিক প্যারামিটারগুলি নির্ধারণের জন্য সতর্কতার সাথে পরীক্ষা করা দরকার।

  2. এটিআর স্টপ ক্ষতি খুব হালকা হতে পারে। এটির জন্য উপযুক্ত এটিআর গুণক নির্ধারণের জন্য পরীক্ষা করার পরামর্শ দেওয়া হয়।

  3. বিপরীতমুখী অপারেশন ঝুঁকিপূর্ণ। বিশেষ করে উচ্চতর অস্থিরতার পরিস্থিতিতে, বিপরীতমুখী অপারেশন ক্ষতির ঝুঁকি বাড়িয়ে তুলতে পারে। সতর্কতার সাথে ব্যবহার করা প্রয়োজন।

  4. কোনো স্টপ-আপ না থাকলে, আরো বেশি ক্ষতি হতে পারে।

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

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

  1. মেড প্যারামিটার অপ্টিমাইজ করুন, সিগন্যালের গুণমান উন্নত করুন। বিভিন্ন পিরিয়ড, শতাংশ প্যারামিটার পরীক্ষা করুন, আরও নির্ভরযোগ্য প্যারামিটার সমন্বয় খুঁজে বের করুন।

  2. এটিআর স্টপ প্যারামিটারগুলিকে অপ্টিমাইজ করুন এবং আরও ভাল ক্ষতির প্রভাব অর্জন করুন। এটিআর চক্র এবং এটিআর গুণক পরীক্ষা করে আরও উপযুক্ত সংমিশ্রণ নির্ধারণ করুন।

  3. অন্যান্য ফিল্টারিং শর্ত যোগ করা, ভুল সংকেত আরও কমাতে। উদাহরণস্বরূপ, একটি ওভারল্যাপিং রেট সূচক সংযুক্ত করে আরও ফিল্টারিং সংকেত।

  4. একটি স্টপ-অফ কৌশল যুক্ত করুন, যখন মুনাফা একটি নির্দিষ্ট স্তরে পৌঁছে যায় তখন স্টপ-অফ প্রত্যাহার করুন। মুনাফা লক করতে এবং ঝুঁকি নিয়ন্ত্রণ করতে পারে।

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2022-12-01 00:00:00
end: 2023-12-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 27/09/2022
// Moving Average Displaced Envelope. These envelopes are calculated 
// by multiplying percentage factors with their displaced expotential 
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and 
// quality of the signals. If a previous high goes above the envelope 
// a sell signal is generated. Conversely, if the previous low goes below 
// the envelope a buy signal is given.
//
// Average True Range Trailing Stops Strategy, by Sylvain Vervoort 
// The related article is copyrighted material from Stocks & Commodities Jun 2009 
//
// ATR TS used by filter for MADE signals.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title='Moving Average Displaced Envelope & ATRTS', shorttitle='MADE+ATR', overlay=true)
tradeDirection = input.string('Both', title='Trade Direction', options=['Both', 'Long', 'Short'])
Price = input(title='Source', defval=close)
Period = input.int(defval=9, minval=1)
perAb = input.float(title='Percent above', defval=.5, minval=0.01, step=0.1)
perBl = input.float(title='Percent below', defval=.5, minval=0.01, step=0.1)
disp = input.int(title='Displacement', defval=13, minval=1)

nATRPeriod = input(15)
nATRMultip = input(2)
useATR = input(false, title='ATR Filter')
reverse = input(false, title='Trade reverse')

longAllowed = tradeDirection == 'Long' or tradeDirection == 'Both'
shortAllowed = tradeDirection == 'Short' or tradeDirection == 'Both'
pos = 0
sEMA = ta.ema(Price, Period)
top = sEMA[disp] * ((100 + perAb) / 100)
bott = sEMA[disp] * ((100 - perBl) / 100)

xATR = ta.atr(nATRPeriod)
xHHs =ta.sma(ta.highest(nATRPeriod), nATRPeriod)
xLLs =ta.sma(ta.lowest(nATRPeriod),nATRPeriod)
nSpread = (xHHs - xLLs) / 2
nLoss = nATRMultip * xATR
var xATRTrailingStop = 0.0
xATRTrailingStop := close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0) ? math.max(nz(xATRTrailingStop[1]), close - nLoss) :
     close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0) ? math.min(nz(xATRTrailingStop[1]), close + nLoss) : 
     close > nz(xATRTrailingStop[1], 0) ? close - nLoss : close + nLoss

ATRLong = close > xATRTrailingStop ? true : false
ATRShort = close < xATRTrailingStop ? true : false

iff_1 = close > top ? 1 : pos[1]
pos := close < bott ? -1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
clr = strategy.position_size
if possig == 1 
    if longAllowed and ATRLong
        strategy.entry('Long', strategy.long)
    else
        if ATRLong or strategy.position_size > 0
            strategy.close_all()
if possig == -1 
    if shortAllowed and ATRShort
        strategy.entry('Short', strategy.short)
    else    
        if ATRShort or strategy.position_size < 0
            strategy.close_all()
if possig == 0
    strategy.close_all()
    
plot(xATRTrailingStop[1], color=color.blue, title='ATR Trailing Stop')
barcolor(clr < 0 ? #b50404 : clr > 0 ? #079605 : #0536b3)