সুবিধা মুভিং এভারেজ ব্রেকআউট ট্রেন্ড ফলোয়িং সিস্টেম


সৃষ্টির তারিখ: 2023-11-15 11:00:25 অবশেষে সংশোধন করুন: 2023-11-15 11:00:25
অনুলিপি: 0 ক্লিকের সংখ্যা: 536
1
ফোকাস
1617
অনুসারী

সুবিধা মুভিং এভারেজ ব্রেকআউট ট্রেন্ড ফলোয়িং সিস্টেম

ওভারভিউ

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

কৌশল নীতি

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

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

  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")