উজ্জ্বল বোল্ট ট্রেন্ড অনুসরণ কৌশল

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

img

সারসংক্ষেপ

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

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

কৌশলটি নিম্নলিখিত তিনটি চলমান গড় ব্যবহার করেঃ

  1. স্বল্পমেয়াদী প্রবণতা পরিমাপ করার জন্য ১৩ পেরিওডের ওজনযুক্ত চলমান গড়
  2. মধ্যমেয়াদী প্রবণতার জন্য 55-পরিসরের এক্সপোনেন্সিয়াল চলমান গড়
  3. দীর্ঘমেয়াদী প্রবণতার জন্য ১১০ পেরিওডের সহজ চলমান গড়

যখন দ্রুত রেখা মাঝারি রেখার উপরে এবং মাঝারি রেখা ধীর রেখার উপরে অতিক্রম করে, এটি একটি আপট্রেন্ডের সংকেত দেয়। যখন দ্রুত রেখা মাঝারি রেখার নীচে অতিক্রম করে এবং মাঝারি রেখা ধীর রেখার নীচে অতিক্রম করে, এটি একটি ডাউনট্রেন্ডের সংকেত দেয়।

কিছু গোলমাল ব্যবসায়কে ফিল্টার করার জন্য, বেশ কয়েকটি সহায়ক শর্ত নির্ধারণ করা হয়েছেঃ

  1. গত পাঁচটি মোমবাতির দাম মধ্যম রেখার উপরে ছিল।
  2. গত দুইটি মোমবাতিতে কম দাম মিডল লাইনের নিচে নেমেছে।
  3. শেষ মোমবাতি বন্ধের মূল্য মধ্যম রেখার উপরে ছিল

যখন এই মানদণ্ড পূরণ করা হয়, দীর্ঘ বা সংক্ষিপ্ত সংকেত ট্রিগার করা হবে। এটি প্রতিবার শুধুমাত্র একটি অবস্থান ধরে রাখে এবং বিদ্যমান অবস্থান বন্ধ বা বন্ধ না হওয়া পর্যন্ত আবার প্রবেশ করবে না।

লক্ষ্যমাত্রা এবং স্টপগুলি এটিআর মানগুলির নির্দিষ্ট গুণিতকগুলির উপর ভিত্তি করে স্থাপন করা হয়।

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

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

  1. তিনটি চলমান গড়ের সংমিশ্রণ ব্যবহার করে একক সূচক থেকে ভুল মূল্যায়নের সম্ভাবনা এড়ানো যায়।
  2. একাধিক সহায়ক শর্ত শব্দ ফিল্টারিং দ্বারা সংকেত মান উন্নত করতে সাহায্য করে।
  3. ডায়নামিক এটিআর স্টপ লস একক ট্রেড লস নিয়ন্ত্রণ করতে সাহায্য করে।

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

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

  1. চলমান গড়ের সংমিশ্রণ ভুল সংকেত দিতে পারে, যা পর্যাপ্ত ব্যাকটেস্টের প্রয়োজন।
  2. এটিআর মাল্টিপ্লিফায়ার অপ্রয়োজনীয়ভাবে সেট করা হলে স্টপগুলি খুব লম্বা বা শক্ত হতে পারে।
  3. আকস্মিক ঘটনা থেকে কার্যকরভাবে মূল্যের ওঠানামা ফিল্টার করতে অক্ষম।

ঝুঁকি কমাতে, চলমান গড়ের পরামিতিগুলি যথাযথভাবে সামঞ্জস্য করুন, এটিআর গুণককে অনুকূল করুন, অতিরিক্ত একক বাণিজ্য ক্ষতি এড়াতে সর্বাধিক ধরে রাখার সময় নির্ধারণ করুন।

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

এই কৌশলটির সম্ভাব্য অপ্টিমাইজেশনঃ

  1. বিভিন্ন দৈর্ঘ্য বা প্রকারের চলমান গড় পরীক্ষা করুন।
  2. সহায়ক অবস্থার পরামিতি অপ্টিমাইজ করুন।
  3. প্রবণতা পূর্বাভাসের জন্য অন্যান্য সূচক ব্যবহার করুন, যেমন MACD, DMI ইত্যাদি।
  4. সংকেত ফিল্টার করার জন্য ভলিউম সূচক অন্তর্ভুক্ত করুন।

সংক্ষিপ্তসার

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


/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 2h
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/
// © greenmask9

//@version=4
strategy("Dazzling Bolts", overlay=true)
//max_bars_back=3000

// 13 SMMA
len = input(10, minval=1, title="SMMA Period")
src = input(close, title="Source")
smma = 0.0
smma := na(smma[1]) ? sma(src, len) : (smma[1] * (len - 1) + src) / len

// 55 EMA
emalength = input(55, title="EMA Period")
ema = ema(close, emalength)

// 100 SMA
smalength = input(110, title="SMA Period")
sma = sma(close, smalength)

emaforce = input(title="Force trend with medium EMA", type=input.bool, defval=true)
offsetemavalue = input(defval = 6)

bullbounce = smma>ema and ema>sma and low[5]>ema and low[2]<ema and close[1]>ema and (ema[offsetemavalue]>sma or (not emaforce))
bearbounce = smma<ema and ema<sma and high[5]<ema and high[2]>ema and close[1]<ema and (ema[offsetemavalue]<sma or (not emaforce))
plotshape(bullbounce,  title= "Purple", location=location.belowbar, color=#ff33cc, transp=0, style=shape.triangleup, size=size.tiny, text="Bolts")
plotshape(bearbounce,  title= "Purple", location=location.abovebar, color=#ff33cc, transp=0, style=shape.triangledown, size=size.tiny, text="Bolts")
strategy.initial_capital = 50000
ordersize=floor(strategy.initial_capital/close)
longs = input(title="Test longs", type=input.bool, defval=true)
shorts = input(title="Test shorts", type=input.bool, defval=true)
atrlength = input(title="ATR length", defval=12)
atrm = input(title="ATR muliplier",type=input.float, defval=2)
atr = atr(atrlength)

target = close + atr*atrm
antitarget = close - (atr*atrm)

//limits and stop do not move, no need to count bars from since

bullbuy = bullbounce and longs and strategy.opentrades==0
bb = barssince(bullbuy)
bearsell = bearbounce and shorts and strategy.opentrades==0
bs = barssince(bearsell)

if (bullbuy)
    strategy.entry("Boltsup", strategy.long, ordersize)
    strategy.exit ("Bolts.close", from_entry="Boltsup", limit=target, stop=antitarget)
if (crossover(smma, sma))
    strategy.close("Boltsup", qty_percent = 100, comment = "Bolts.crossover")

if (bearsell)
    strategy.entry("Boltsdown", strategy.short, ordersize)
    strategy.exit("Bolts.close", from_entry="Boltsdown", limit=antitarget, stop=target)
if (crossunder(smma, sma))
    strategy.close("Boltsdown", qty_percent = 100, comment = "Bolts.crossover")

// if (bb<5)
//     bulltarget = line.new(bar_index[bb], target[bb], bar_index[0], target[bb], color=color.blue, width=2)
//     bullclose = line.new(bar_index[bb], close[bb], bar_index[0], close[bb], color=color.blue, width=2)
//     bullstop = line.new(bar_index[bb], antitarget[bb], bar_index[0], antitarget[bb], color=color.blue, width=2)
// if (bs<5)
//     bulltarget = line.new(bar_index[bs], antitarget[bs], bar_index[0], antitarget[bs], color=color.purple, width=2)
//     bullclose = line.new(bar_index[bs], close[bs], bar_index[0], close[bs], color=color.purple, width=2)
//     bullstop = line.new(bar_index[bs], target[bs], bar_index[0], target[bs], color=color.purple, width=2)


আরো