একাধিক মুভিং এভারেজ, আরএসআই এবং স্ট্যান্ডার্ড বিচ্যুতি প্রস্থানের উপর ভিত্তি করে ক্যান্ডেলস্টিক উচ্চতা ব্রেকআউট ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-03-28 16:13:45 অবশেষে সংশোধন করুন: 2024-03-28 16:13:45
অনুলিপি: 0 ক্লিকের সংখ্যা: 671
1
ফোকাস
1617
অনুসারী

একাধিক মুভিং এভারেজ, আরএসআই এবং স্ট্যান্ডার্ড বিচ্যুতি প্রস্থানের উপর ভিত্তি করে ক্যান্ডেলস্টিক উচ্চতা ব্রেকআউট ট্রেডিং কৌশল

কৌশল ওভারভিউ

এই কৌশলটি একাধিক সূচকীয় চলমান গড় (ইএমএ), আপেক্ষিকভাবে শক্তিশালী সূচক (আরএসআই) এবং স্ট্যান্ডার্ড ডিফারেনশিয়াল প্রস্থান অবস্থার উপর ভিত্তি করে সম্ভাব্য ক্রয়-বিক্রয় সুযোগগুলি সনাক্ত করতে ব্যবহার করে। এটি স্বল্পমেয়াদী (৬,৮,১২ দিন), মধ্যমেয়াদী (৫৫ দিন) এবং দীর্ঘমেয়াদী (১৫০,২০০,২৫০ দিন) ইএমএ ব্যবহার করে বাজার প্রবণতার দিকনির্দেশ এবং শক্তি বিশ্লেষণ করে। আরএসআই কনফিগারযোগ্য ক্রয় (৩০) এবং বিক্রয় (৭০) থ্রেশহোল্ড ব্যবহার করে গতিশীলতা মূল্যায়ন করতে এবং ওভার-বিক্রয় বা ওভার-বিক্রয় সনাক্ত করতে। এই কৌশলটি একটি অনন্য প্রস্থান ব্যবস্থাও ব্যবহার করে, যখন সমাপ্তির দাম ১২ তম ইএমএর কনফিগারযোগ্য স্ট্যান্ডার্ড ডিফারেনশিয়াল পরিসীমা (মূখ্যে ০.৫) স্পর্শ করে তখন এটি একটি সম্ভাব্য সুরক্ষা বা ক্ষতি হ্রাস করার একটি উপায় সরবরাহ করে।

কৌশল নীতি

  1. মার্কেট ট্রেন্ডের মূল্যায়নের জন্য ভিজ্যুয়াল রেফারেন্স হিসেবে একাধিক চক্রের EMA ((6, 8, 12, 55, 100, 150, 200) গণনা করা হয়।
  2. ব্যবহারকারীর দ্বারা ইনপুট করা স্ট্রিংয়ের সংখ্যা অনুযায়ী ((৩-৪টি স্ট্রিং) সাম্প্রতিক N স্ট্রিংয়ের সর্বোচ্চ এবং সর্বনিম্ন মূল্য গণনা করুন।
  3. ক্রয় শর্তাবলীঃ বর্তমান ক্লোজ-আপ মূল্য N-রুটের সর্বশেষ সর্বোচ্চ মূল্যের চেয়ে বেশি এবং EMA ফিল্টারের চেয়ে বেশি (যদি চালু থাকে) ।
  4. বিক্রয় শর্তাবলীঃ বর্তমান ক্লোজ-আপ মূল্য N-রুটের সর্বশেষ সর্বনিম্ন মূল্যের চেয়ে কম এবং EMA ফিল্টার (যদি চালু থাকে) এর চেয়ে কম।
  5. লং পজিশনের জন্য শর্তঃ বর্তমান ক্লোজ-আপ মূল্য ১২ দিনের EMA + ০.৫ গুণ স্ট্যান্ডার্ড ডিফেন্সি, অথবা ১২ দিনের EMA এর নিচে।
  6. শর্ট পজিশনে প্রবেশের শর্তঃ বর্তমান ক্লোজ-আপ মূল্য 12 ই এম এ - 0.5 গুণ স্ট্যান্ডার্ড ডিফেন্ডার বা 12 ই এম এ ঊর্ধ্বে।
  7. আরএসআইকে সহকারী সূচক হিসেবে ব্যবহার করে, ডিফল্ট চক্রটি ১৪, ওভারসোল্ডের প্রান্তিকতা ৩০, ওভারসোল্ডের প্রান্তিকতা ৭০।

কৌশলগত সুবিধা

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

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

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

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

  1. ইএমএ এবং আরএসআই প্যারামিটারগুলির জন্য অনুকূলিতকরণঃ জাত, সময়কাল এবং বাজারের বৈশিষ্ট্য অনুসারে প্যারামিটারগুলির বিভিন্ন সংমিশ্রণগুলির জন্য সেরা প্যারামিটার ব্যাপ্তি সন্ধান করুন।
  2. স্টপ-অফ-লস ম্যানেজমেন্ট যোগ করুনঃ এটিআর-এর মতো অস্থিরতার সূচকগুলি উল্লেখ করুন, যুক্তিসঙ্গত স্টপ-অফ এবং স্টপ-অফ সেট করুন এবং একক লেনদেনের ঝুঁকি নিয়ন্ত্রণ করুন।
  3. পজিশন ম্যানেজমেন্ট চালু করুনঃ প্রবণতা শক্তির উপর ভিত্তি করে পজিশনের আকার সামঞ্জস্য করুন (যেমন ADX) বা মূল সমর্থন প্রতিরোধের কাছাকাছি।
  4. অন্যান্য প্রযুক্তিগত সূচকগুলির সাথে ব্যবহার করা হয়ঃ যেমন ব্রিনব্যান্ড, এমএসিডি, সমান্তরাল ক্রস ইত্যাদি, খালি পজিশন সংকেতের নির্ভরযোগ্যতা বাড়ায়।
  5. মার্কেট স্ট্যাটাস অপ্টিমাইজেশানঃ বিভিন্ন মার্কেট স্ট্যাটাস যেমন প্রবণতা, কম্পন, ওভাররাইন্ড ইত্যাদির জন্য প্যারামিটার প্যাকেজগুলিকে আলাদাভাবে অপ্টিমাইজ করা।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Height Breakout with Configurable Exit and Signal Control", shorttitle="CHB Single Signal", overlay=true)

// Input parameters for EMA filter and its length
useEmaFilter = input.bool(true, "Use EMA Filter", group="Entry Conditions")
emaFilterLength = input.int(55, "EMA Filter Length", minval=1, group="Entry Conditions")
candleCount = input.int(4, "SamG Configurable Candle Count for Entry", minval=3, maxval=4, step=1, group="Entry Conditions")
exitEmaLength = input.int(12, "Exit EMA Length", minval=1, group="Exit Conditions", defval=12)
exitStdDevMultiplier = input.float(0.5, "Exit Std Dev Multiplier", minval=0.1, maxval=2.0, step=0.1, group="Exit Conditions")

// State variables to track if we are in a long or short position
var bool inLong = false
var bool inShort = false

// Calculating EMAs with fixed periods for visual reference
ema6 = ta.ema(close, 6)
ema8 = ta.ema(close, 8)
ema12 = ta.ema(close, 12)
ema55 = ta.ema(close, 55)
ema100 = ta.ema(close, 100)
ema150 = ta.ema(close, 150)
ema200 = ta.ema(close, 200)
emaFilter = ta.ema(close, emaFilterLength)
exitEma = ta.ema(close, exitEmaLength)

// Plotting EMAs
plot(ema6, "EMA 6", color=color.red)
plot(ema8, "EMA 8", color=color.orange)
plot(ema12, "EMA 12", color=color.yellow)
plot(ema55, "EMA 55", color=color.green)
plot(ema100, "EMA 100", color=color.blue)
plot(ema150, "EMA 150", color=color.purple)
plot(ema200, "EMA 200", color=color.fuchsia)
plot(emaFilter, "EMA Filter", color=color.black)
plot(exitEma, "Exit EMA", color=color.gray)

// Calculating the highest and lowest of the last N candles based on user input
highestOfN = ta.highest(high[1], candleCount)
lowestOfN = ta.lowest(low[1], candleCount)

// Entry Conditions with EMA Filter
longEntryCondition = not inLong and not inShort and (close > highestOfN) and (not useEmaFilter or (useEmaFilter and close > emaFilter))
shortEntryCondition = not inLong and not inShort and (close < lowestOfN) and (not useEmaFilter or (useEmaFilter and close < emaFilter))

// Update position state on entry
if (longEntryCondition)
    strategy.entry("Buy", strategy.long, comment="B")
    inLong := true
    inShort := false

if (shortEntryCondition)
    strategy.entry("Sell", strategy.short, comment="S")
    inLong := false
    inShort := true

// Exit Conditions based on configurable EMA and Std Dev Multiplier
smaForExit = ta.sma(close, exitEmaLength)
upperExitBand = smaForExit + exitStdDevMultiplier * ta.stdev(close, exitEmaLength)
lowerExitBand = smaForExit - exitStdDevMultiplier * ta.stdev(close, exitEmaLength)

exitConditionLong = inLong and (close < upperExitBand or close < exitEma)
exitConditionShort = inShort and (close > lowerExitBand or close > exitEma)

// Strategy exits
if (exitConditionLong)
    strategy.close("Buy", comment="Exit")
    inLong := false

if (exitConditionShort)
    strategy.close("Sell", comment="Exit")
    inShort := false

// Visualizing entry and exit points
plotshape(series=longEntryCondition, style=shape.labelup, location=location.belowbar, color=color.green, size=size.tiny, title="Buy Signal", text="B")
plotshape(series=shortEntryCondition, style=shape.labeldown, location=location.abovebar, color=color.red, size=size.tiny, title="Sell Signal", text="S")