সুবিধাজনক চলমান গড় ব্রেকআউট ট্রেন্ড অনুসরণকারী সিস্টেম

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

img

সারসংক্ষেপ

এটি একটি ক্লাসিক ট্রেন্ড অনুসরণকারী সিস্টেম। এটি প্রবণতা দিক নির্ধারণের জন্য চলমান গড় ক্রসওভারগুলি ব্যবহার করে এবং যখন দাম ডনচিয়ান চ্যানেলগুলি থেকে বেরিয়ে আসে তখন প্রবেশ করে। ডনচিয়ান চ্যানেল প্যারামিটারটি স্বল্পমেয়াদী বাজারের গোলমাল ফিল্টার করতে 50 দিনের জন্য সেট করা হয়। চলমান গড়গুলি 40 দিনের এবং 120 দিনের এক্সপোনেন্সিয়াল চলমান গড়, যা মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা আরও ভালভাবে ক্যাপচার করতে পারে। স্টপ লসটি পৃথক ব্যবসায়ের ক্ষতি কার্যকরভাবে নিয়ন্ত্রণ করতে মূল্যের নীচে 4x এটিআর এ সেট করা হয়।

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

কৌশলটি মূলত নিম্নলিখিত বিষয়গুলির উপর ভিত্তি করেঃ

  1. ৪০ দিনের এবং ১২০ দিনের এক্সপোনেন্সিয়াল মুভিং এভারেজগুলি একটি প্রবণতা নির্ধারণের সূচক তৈরির জন্য ব্যবহৃত হয়। যখন দ্রুত লাইনটি নীচে থেকে ধীর রেখার উপরে অতিক্রম করে, এটি একটি সোনার ক্রস সংকেত, যা একটি আপট্রেন্ডকে নির্দেশ করে। যখন দ্রুত লাইনটি উপরে থেকে ধীর রেখার নীচে অতিক্রম করে, এটি একটি মৃত্যু ক্রস সংকেত, যা একটি ডাউনট্রেন্ডকে নির্দেশ করে।

  2. ডনচিয়ান চ্যানেল প্যারামিটারটি বাজারের গোলমাল ফিল্টার করার জন্য 50 দিনের জন্য সেট করা আছে। দামটি উপরের ব্যান্ডের উপরে ভেঙে গেলে কেবল দীর্ঘ যান এবং দামটি ফাঁদে পড়া এড়াতে নীচের ব্যান্ডের নীচে ভেঙে গেলে কেবল শর্ট যান।

  3. স্টপ লসটি মূল্যের নীচে 4x এটিআর এ সেট করা হয়। এটিআর কার্যকরভাবে বাজারের অস্থিরতা এবং ঝুঁকি পরিমাপ করতে পারে। এর বহুগুণে স্টপ লস সেট করা পৃথক ব্যবসায়ের ক্ষতি নিয়ন্ত্রণ করতে পারে।

  4. এক্সপোনেনশিয়াল মুভিং মিডিয়ার বর্তমান মূল্য প্রবণতার সাথে আরও ভালভাবে খাপ খায়, যখন সহজ মুভিং মিডিয়ার খুব মসৃণ হয়।

  5. 50 দিনের চ্যানেল সময়কাল 40 দিনের এবং 120 দিনের চলমান গড়ের সাথে কার্যকরভাবে মিথ্যা ব্রেকআউট ফিল্টার করতে ভাল কাজ করে।

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

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

  1. চলমান গড় সংমিশ্রণ কার্যকরভাবে বাজারের প্রবণতা দিক নির্ধারণ করতে পারে। 40 দিনের এমএ স্বল্পমেয়াদী প্রবণতা ক্যাপচার করে যখন 120 দিনের এমএ দীর্ঘমেয়াদী প্রবণতা বিচার করে।

  2. ডনচিয়ান চ্যানেল শব্দকে ফিল্টার করে এবং শীর্ষ এবং নীচের দিকে ছুটে যাওয়া এড়ায়। কেবলমাত্র চ্যানেলের ব্রেকআউটগুলিতে প্রবেশ করা কার্যকরভাবে মাঝখানে একীকরণ অঞ্চলগুলিকে বাণিজ্য করা এড়ায়।

  3. স্টপ লস সেটিংটি পৃথক ট্রেডগুলিতে ক্ষতি নিয়ন্ত্রণ করতে এবং অ্যাকাউন্ট ব্লোপগুলি এড়াতে যুক্তিসঙ্গত। একক ট্রেড ক্ষতি নিয়ন্ত্রণ লাভের টেকসইতা নিশ্চিত করে।

  4. এক্সপোনেনশিয়াল মুভিং মিডিয়ার দাম পরিবর্তনের প্রবণতা আরও ভালভাবে ফিট করে, ট্রেন্ড ট্রেডিং আইডিয়া অনুসারে দীর্ঘায়িত হোল্ডিং সময়কালের অনুমতি দেয়।

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

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

এই কৌশলের ঝুঁকিগুলির মধ্যে রয়েছেঃ

  1. দীর্ঘায়িত হোল্ডিং সময়কালের ঝুঁকিঃ প্রবণতা অনুসরণকারী কৌশল হিসাবে, দীর্ঘায়িত পার্শ্ববর্তী পরিসীমা বা প্রবণতা বিপরীতের সময় বড় ক্ষতি হতে পারে।

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

  3. ঝুঁকি নির্ধারণের পরামিতিঃ চলমান গড় এবং চ্যানেলগুলির জন্য সেটিংস বিষয়গত। বিভিন্ন বাজারের জন্য সামঞ্জস্যপূর্ণ সমন্বয় প্রয়োজন, অন্যথায় সিস্টেমের স্থিতিশীলতা প্রভাবিত হয়।

  4. স্টপ লস খুব সংকীর্ণ ঝুঁকিঃ স্টপ লস খুব সংকীর্ণ সেট করার ফলে খুব বেশি স্টপ আউট হতে পারে, লাভজনকতাকে প্রভাবিত করে।

সমাধান:

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

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

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

  1. অনুকূল পরামিতিগুলি খুঁজে পেতে বিভিন্ন চলমান গড় সংমিশ্রণ পরীক্ষা করুন। বিভিন্ন সহজ, এক্সপোনেন্সিয়াল, হাল চলমান গড় পরীক্ষা করা যেতে পারে।

  2. ব্রেকআউট সিগন্যালকে আরও কার্যকর করার জন্য চ্যানেলের সময়কাল এবং সেটিংস অপ্টিমাইজ করুন। বাজারের ওঠানামা ফ্রিকোয়েন্সির ভিত্তিতে অপ্টিমাইজ করুন।

  3. স্টপ লস কৌশল অপ্টিমাইজ করুন। ট্রেন্ডিং সময়কালে ট্রেলিং স্টপ এবং ট্রেন্ড শেষ হওয়ার পরে স্থির স্টপ গ্রহণ করুন।

  4. সিগন্যালের নির্ভুলতা বাড়াতে MACD, KD এর মতো নিশ্চিতকরণ সূচক যুক্ত করুন।

  5. মুনাফা বাড়ানোর জন্য ট্রেন্ডিং সময়ের মধ্যে পিরামিড।

  6. সিস্টেমকে আরও শক্তিশালী করার জন্য বিভিন্ন পণ্যের বৈশিষ্ট্য অনুসারে প্যারামিটার সংমিশ্রণ নির্বাচন করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-10-15 00:00:00
end: 2023-11-14 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/
// © Robrecht99

//@version=5
strategy("Long Term Trend Following System", overlay=true, margin_long=0, margin_short=0, pyramiding=4)

// Backtest Range //

Start = input(defval = timestamp("01 Jan 2017 00:00 +0000"), title = "Backtest Start Date", group = "backtest window")
Finish = input(defval = timestamp("01 Jan 2100 00:00 +0000"), title = "Backtest End Date", group = "backtest window")

//Moving Averages //

len1 = input.int(40, minval=1, title="Length Fast EMA", group="Moving Average Inputs")
len2 = input.int(120, minval=1, title="Length Slow EMA", group="Moving Average Inputs")
src1 = input(close, title="Source Fast MA")
src2 = input(close, title="Source Slow MA")
maFast = input.color(color.new(color.red, 0), title = "Color Fast EMA", group = "Moving Average Inputs", inline = "maFast")
maSlow = input.color(color.new(color.blue, 0), title = "Color Slow EMA", group = "Moving Average Inputs", inline = "maSlow")
fast = ta.ema(src1, len1)
slow = ta.ema(src2, len2)
plot(fast, color=maFast, title="Fast EMA")
plot(slow, color=maSlow, title="Slow EMA")

// Donchian Channels //

Length1 = input.int(title="Length Upper Channel", defval=50, minval=1, group="Donchian Channels Inputs")
Length2 = input.int(title="Length Lower Channel", defval=50, minval=1, group="Donchian Channels Inputs")
h1 = ta.highest(high[1], Length1)
l1 = ta.lowest(low[1], Length2)
fillColor = input.color(color.new(color.purple, 95), title = "Fill Color", group = "Donchian Channels Inputs")
upperColor = input.color(color.new(color.orange, 0), title = " Color Upper Channel", group = "Donchian Channels Inputs", inline = "upper")
lowerColor = input.color(color.new(color.orange, 0), title = " Color Lower Channel", group = "Donchian Channels Inputs", inline = "lower")
u = plot(h1, "Upper", color=upperColor)
l = plot(l1, "Lower", color=upperColor)
fill(u, l, color=fillColor)
strategy.initial_capital = 50000
//ATR and Position Size //

length = input.int(title="ATR Period", defval=14, minval=1, group="ATR Inputs")
risk = input(title="Risk Per Trade", defval=0.01, group="ATR Inputs")
multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs")
atr = ta.atr(length)
amount = (risk * strategy.initial_capital / (multiplier * atr))

// Buy and Sell Conditions //

entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast

// Buy and Sell Signals //

if (close > h1 and entrycondition2)
    strategy.entry("long", strategy.long, qty=amount)
    stoploss = close - atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (sellcondition1 and sellcondition2)
    strategy.close(id="long")

if (close < l1 and sellcondition2)
    strategy.entry("short", strategy.short, qty=amount)
    stoploss = close + atr * 4
    strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (entrycondition1 and entrycondition2)
    strategy.close(id="short")

আরো