গতিশীল চ্যানেল ব্রেকআউট কৌশল উপর ভিত্তি করে


সৃষ্টির তারিখ: 2024-02-27 15:15:07 অবশেষে সংশোধন করুন: 2024-02-27 15:15:07
অনুলিপি: 0 ক্লিকের সংখ্যা: 567
1
ফোকাস
1617
অনুসারী

গতিশীল চ্যানেল ব্রেকআউট কৌশল উপর ভিত্তি করে

ওভারভিউ

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

কৌশল নীতি

  1. চ্যানেলের মধ্যবর্তী অবস্থান গণনা করুনঃ সূচকীয় চলমান গড় ব্যবহার করে মূল্যের মধ্যবর্তী অবস্থান গণনা করুন
  2. চ্যানেল ব্যান্ডউইথ হিসাব করাঃ চ্যানেল ব্যান্ডউইথ হিসাব করা হয় প্রকৃত বা গড় প্রকৃত ব্যাপ্তি বা দামের উত্তোলন ব্যবহার করে
  3. ট্রানজেলের উপরের এবং নীচের লাইনঃ মধ্যবর্তী ট্রানজেলের ± এন গুণ ট্রানজেল ব্যান্ডউইথ
  4. প্রবেশের ক্রম: যখন দামটি উপরের লাইনটি স্পর্শ করে, একটি ক্রয়-বিক্রয় মূল্যের বিরতি স্থাপন করে এবং বিরতির জন্য অপেক্ষা করে; যখন দামটি নীচের লাইনটি স্পর্শ করে, একটি বিক্রয়-বিক্রয় মূল্যের বিরতি স্থাপন করে এবং বিরতির জন্য অপেক্ষা করে
  5. প্রস্থান ক্রমঃ ক্রয়ের পরে মধ্যপথে ফিরে যাওয়ার সময় বা সর্বোচ্চ দাম প্রবেশের দামের চেয়ে বেশি হলে স্টপ; বিক্রয়ের পরে মধ্যপথে ফিরে আসার সময় বা সর্বনিম্ন দাম প্রবেশের দামের চেয়ে কম হলে স্টপ

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

  1. গতিশীল চ্যানেল ব্যবহার করে, দ্রুত বাজারের প্রবণতা পরিবর্তন করতে সক্ষম
  2. দামের দিকনির্দেশনা নির্ধারণের জন্য মধ্যম রেখা ব্যবহার করা হয়
  3. এন ডাবল ব্যান্ডউইথ সেটিং যা রানওয়ে ব্যাপ্তিকে যুক্তিসঙ্গত করে তোলে এবং ঘন ঘন পজিশনের পরিবর্তন এড়ায়
  4. প্রবণতা তত্ত্বের সাথে সামঞ্জস্য রেখে এবং প্রবণতার উপর ভিত্তি করে একটি ব্রেকথ্রু পদ্ধতি ব্যবহার করা।
  5. স্টপ লস কন্ডিশন সেট করুন এবং ঝুঁকি কঠোরভাবে নিয়ন্ত্রণ করুন

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

  1. মধ্যম কক্ষপথ গণনা পদ্ধতির পছন্দগুলি চ্যানেলের পরিসীমা এবং মূল্যের মিলের প্রভাবকে প্রভাবিত করে
  2. N গুণককে ছোট বা বড় করে সেট করা হলে, কৌশলটির ফলন প্রভাবিত হবে
  3. বিক্রির মাধ্যমে বিপণনকারীরা মিথ্যা সংকেত তৈরি করতে পারে, কঠোরভাবে ক্ষতিপূরণ দেওয়া উচিত

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

  1. বিভিন্ন মধ্যম কক্ষপথ গণনা পদ্ধতি ব্যবহার করে সেরা প্যারামিটার খুঁজুন
  2. বিভিন্ন N-এর মান পরীক্ষা করে সর্বোত্তম গুণিতক খুঁজে বের করা
  3. ভুয়া সংকেত এড়ানোর জন্য ব্রেক আপের মাত্রা বাড়ান
  4. অপ্টিমাইজ করা স্টপ লজিক, কঠোরভাবে একক ক্ষতি নিয়ন্ত্রণ

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Keltner Strategy", overlay=true)
length = input.int(20, minval=1)
mult = input.float(2.0, "Multiplier")
src = input(close, title="Source")
exp = input(true, "Use Exponential MA")
BandsStyle = input.string("Average True Range", options = ["Average True Range", "True Range", "Range"], title="Bands Style")
atrlength = input(10, "ATR Length")
esma(source, length)=>
	s = ta.sma(source, length)
	e = ta.ema(source, length)
	exp ? e : s
ma = esma(src, length)
rangema = BandsStyle == "True Range" ? ta.tr(true) : BandsStyle == "Average True Range" ? ta.atr(atrlength) : ta.rma(high - low, length)
upper = ma + rangema * mult
lower = ma - rangema * mult
crossUpper = ta.crossover(src, upper)
crossLower = ta.crossunder(src, lower)
bprice = 0.0
bprice := crossUpper ? high+syminfo.mintick : nz(bprice[1])
sprice = 0.0
sprice := crossLower ? low -syminfo.mintick : nz(sprice[1])
crossBcond = false
crossBcond := crossUpper ? true
     : na(crossBcond[1]) ? false : crossBcond[1]
crossScond = false
crossScond := crossLower ? true
     : na(crossScond[1]) ? false : crossScond[1]
cancelBcond = crossBcond and (src < ma or high >= bprice )
cancelScond = crossScond and (src > ma or low <= sprice )
if (cancelBcond)
	strategy.cancel("KltChLE")
if (crossUpper)
	strategy.entry("KltChLE", strategy.long, stop=bprice, comment="KltChLE")
if (cancelScond)
	strategy.cancel("KltChSE")
if (crossLower)
	strategy.entry("KltChSE", strategy.short, stop=sprice, comment="KltChSE")