এই কৌশলটির নাম হল দ্বি-বিতরণ ভিত্তিক মূল্যের সর্বোচ্চ মানের প্রত্যাবর্তন কৌশল। এই কৌশলটি দ্বি-বিতরণ ফাংশন ব্যবহার করে দামের বিপরীত হওয়ার সম্ভাবনা নির্ধারণ করে এবং ডাবল ইএমএ সমান্তরাল কৌশলটি ট্রেডিং সংকেত তৈরি করে।
নীতির গণনা লজিক নিম্নরূপঃ
সাম্প্রতিক 20 টি কে লাইনের মধ্যে কতবার বন্ধের মূল্য বৃদ্ধি পেয়েছে তা গণনা করুন এবং শেষ 100 টি কে লাইনের মধ্যে উত্থানের সময়কালের অনুপাত p গণনা করুন
ক্রমাগত চক্রের সংখ্যা এবং সম্ভাব্যতা p কে একটি দ্বি-বিন্যস্ত ফাংশনে নিয়ে আসা, যা ক্রমাগত বিতরণ ফাংশন ((CDF)) গণনা করে।
সিডিএফ-এর জন্য ১০ এবং ২০ তারিখের ইএমএ গড়ের হিসাব করা হয়েছে। যখন দ্রুত লাইনটি ধীর লাইনটি অতিক্রম করে, তখন দামের চূড়ান্ত মূল্যের প্রত্যাবর্তনের সম্ভাবনা বেশি বলে মনে করা হয়, যা একটি ক্রয় সংকেত তৈরি করে।
যখন একটি দ্রুত লাইন একটি ধীর লাইন অতিক্রম করে, তখন দামগুলি স্বল্পমেয়াদী উচ্চতায় থাকতে পারে, যার ফলে একটি বিক্রয় সংকেত তৈরি হয়।
এই কৌশলটির সুবিধা হল সম্ভাব্যতা পদ্ধতির মাধ্যমে দামের সর্বোচ্চ মূল্যের রিটার্নের সময় নির্ধারণ করা। তবে প্যারামিটারগুলিকে বাজার অনুসারে সামঞ্জস্য করতে হবে যাতে খুব বেশি মিথ্যা সংকেত তৈরি না হয়।
সামগ্রিকভাবে, পরিসংখ্যানগত পদ্ধতিগুলি মূল্যের আচরণের নিয়মগুলিকে উদ্দেশ্যমূলকভাবে সনাক্ত করতে সহায়তা করে। তবে শেষ পর্যন্ত ব্যবসায়ীদের বাজারের বিষয়ে তীক্ষ্ণ বিচারক থাকতে হবে এবং প্রযুক্তিগত সূচকগুলিকে সহায়ক সরঞ্জাম হিসাবে সঠিকভাবে ব্যবহার করতে হবে।
/*backtest
start: 2022-09-06 00:00:00
end: 2023-05-01 00:00:00
period: 1d
basePeriod: 1h
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/
// © pieroliviermarquis
//@version=4
strategy("Binomial Strategy", overlay=false, default_qty_type= strategy.percent_of_equity, default_qty_value= 100, slippage=1, initial_capital= 10000, calc_on_every_tick=true)
factorial(length) =>
n = 1
if length != 0
for i = 1 to length
n := n * i
n
binomial_pdf(success, trials, p) =>
q = 1-p
coef = factorial(trials) / (factorial(trials-success) * factorial(success))
pdf = coef * pow(p, success) * pow(q, trials-success)
binomial_cdf(success, trials, p) =>
q = 1-p
cdf = 0.0
for i = 0 to success
cdf := cdf + binomial_pdf(i, trials, p)
up = close[0] > close[1] ? 1 : 0
//long-term probabilities
lt_lookback = 100
lt_up_bars = sum(up, lt_lookback)
prob = lt_up_bars/lt_lookback
//lookback for cdf
lookback = 20
up_bars = sum(up, lookback)
cdf = binomial_cdf(up_bars, lookback, prob)
//ema on cdf
ema1 = ema(cdf, 10)
ema2 = ema(cdf, 20)
plot(cdf*100)
plot(ema1*100, color=color.red)
plot(ema2*100, color=color.orange)
buy = ema1 > ema2
sell = ema1 < ema2
//////////////////////Bar Colors//////////////////
var color buy_or_sell = na
if buy == true
buy_or_sell := #3BB3E4
else if sell == true
buy_or_sell := #FF006E
barcolor(buy_or_sell)
///////////////////////////Orders////////////////
if buy
strategy.entry("Long", strategy.long, comment="")
if sell
strategy.close("Long", comment="Sell")