ইএমএ ওসিলেটরের প্রবণতা কৌশল অনুসরণ

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

img

সারসংক্ষেপ

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

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

কৌশলটি প্রথমে বন্ধ মূল্য এবং দৈর্ঘ্যের ema_length এর EMA এর মধ্যে পার্থক্য v গণনা করে। তারপরে এটি ema_length সময়ের উপর v এর স্ট্যান্ডার্ড ডিভিয়েশন dev গণনা করে। এরপরে এটি দীর্ঘ জন্য k=1 এবং সংক্ষিপ্ত জন্য k=-1 সহ দিকের সহগ k নির্ধারণ করে। কেনার সংকেত থ্রেশহোল্ড dev_limit কে * dev * ফ্যাক্টর সীমা দ্বারা গণনা করা হয়। যখন v dev_limit অতিক্রম করে, তখন একটি কেনার সংকেত ট্রিগার হয়। প্রস্থান সংকেত হয় যখন v 0 অতিক্রম করে।

কৌশল দুটি মোড প্রদান করেঃ

  1. শর্ট কিনুন, লম্বা যান যখন v নেতিবাচক ডেভ_লিমিটের নিচে অতিক্রম করে, একটি ডাউনট্রেন্ড অনুসরণ করতে।

  2. লং কিনুন, লং যান যখন v ধনাত্মক ডেভ_লিমিটের উপরে অতিক্রম করে, একটি আপট্রেন্ড অনুসরণ করতে।

সংক্ষেপে, কৌশলটি গতিশীলভাবে মূল্য এবং EMA এর মধ্যে পার্থক্যের স্ট্যান্ডার্ড বিচ্যুতি গণনা করে এবং প্রবণতা অনুসরণ করে। ফ্যাক্টরটি কিনুন সংকেতগুলির সংবেদনশীলতা নিয়ন্ত্রণ করে। ema_length EMA সময়কাল নির্ধারণ করে। কিনুন মোড অর্ডার দিক নিয়ন্ত্রণ করে।

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

এই কৌশলটির সুবিধাগুলির মধ্যে রয়েছেঃ

  1. ইএমএ মূল্যের মান সমতলকরণের মাধ্যমে প্রবণতার দিকনির্দেশনা ভালোভাবে চিহ্নিত করে।

  2. স্ট্যান্ডার্ড ডিভিয়েশন ভিত্তিক গতিশীল থ্রেশহোল্ড স্থির থ্রেশহোল্ডের তুলনায় ভালভাবে মানিয়ে নেয়।

  3. দুইটি ক্রয় মোড আপট্রেন্ড বা ডাউনট্রেন্ড অনুসরণ করার অনুমতি দেয়।

  4. এই ফ্যাক্টরটি ক্রয়ের সংবেদনশীলতা সামঞ্জস্য করার ক্ষেত্রে নমনীয়তা প্রদান করে। ema_length EMA সময়ের অপ্টিমাইজেশানকে অনুমতি দেয়।

  5. যুক্তি সহজ এবং বোঝা এবং সংশোধন করা সহজ।

  6. পজিশনের আকারকে আক্রমণাত্মক প্রবণতা অনুসরণ করার জন্য নমনীয়ভাবে কনফিগার করা যেতে পারে।

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

কৌশলটির ঝুঁকি:

  1. ইএমএ-তে কিছুটা পিছিয়ে পড়ছে এবং প্রবণতা পরিবর্তনের সময়টি মিস করতে পারে।

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

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

  4. ঘন ঘন লং/শর্ট স্যুইচগুলি ট্রেডিং ফ্রিকোয়েন্সি বাড়ায়।

  5. বিভিন্ন বাজারে ঘন ঘন সিগন্যাল খরচ বাড়ায়।

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

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

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

  1. সর্বোত্তম দৈর্ঘ্য খুঁজে বের করার জন্য বিভিন্ন EMA সময়ের পরীক্ষা করা।

  2. সর্বোত্তম সংবেদনশীলতা খুঁজে পেতে বিভিন্ন ফ্যাক্টর মান পরীক্ষা করা।

  3. পজিশনের আকার নির্ধারণের কৌশলগুলি অপ্টিমাইজ করা, যেমন পিরামিডিং।

  4. বিপজ্জনক বাজারে ভুল ট্রেড এড়াতে ফিল্টার যোগ করা।

  5. একক ট্রেড লস নিয়ন্ত্রণের জন্য স্টপ লস অন্তর্ভুক্ত করা।

  6. দুটি ক্রয় মোডের জন্য পৃথকভাবে প্যারামিটার অপ্টিমাইজ করা।

  7. প্রবণতা অনুসরণ বন্ধ করার জন্য প্রবণতা বিপরীত সংকেত গবেষণা।

সিদ্ধান্ত

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


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Azzrael

// Based on EMA and EMA Oscilator https://www.tradingview.com/script/qM9wm0PW-EMA-Oscilator-Azzrael/

// (EMA - close) + Std Dev + Factor = detecting oversell/overbuy
// Long only!
// Pyramiding - sometimes, depends on ...
// There 2 enter strategies in one script 
// 1 - Classic, buy on entering to OverSell zone (more profitable ~> 70%)
// 2 - Crazy, buy on entering to OverBuy zone (catching trend and pyramiding, more net profit)
// Exit - crossing zero of (EMA - close)

//@version=5
strategy("STR:EMA Oscilator [Azzrael]", overlay=false, 
 margin_long=100, 
 margin_short=100, 
 currency=currency.USD,
 default_qty_type=strategy.percent_of_equity,
 default_qty_value=30,
 pyramiding=3)

entry_name="Buy"

ema_length = input.int(200, "Period", minval=2, step=10)
limit = input.float(1.7, "Factor", minval=1, step=0.1, maxval=10)
dno = input.string(defval="Buy on enter to OverSell", title="Model", options=["Buy on enter to OverSell", "Buy on enter to OverBuy"]) == "Buy on enter to OverSell"

v = close - ta.ema(close, ema_length)
dev = ta.stdev(v, ema_length)
k = dno ? -1 : 1
dev_limit = k*dev*limit

cond_long = dno ? ta.crossunder(v, dev_limit) : ta.crossover(v, dev_limit)
cond_close = ta.cross(v, 0) 

// dev visualization
sig_col = (dno and v <= dev_limit) or (not dno and v >= dev_limit) ? color.green : color.new(color.blue, 80)
plot(dev_limit, color=color.green)
plot(k*dev, color=color.new(color.blue, 60))
plot(v, color=sig_col )
hline(0)

// Make love not war
strategy.entry(entry_name, strategy.long, when=cond_long)
strategy.close(entry_name, when=cond_close)


আরো