পাবলো বেল চক্র এবং বলিঙ্গার ব্যান্ডের সমন্বয়ে ট্রেলিং স্টপ লস কৌশল


সৃষ্টির তারিখ: 2024-02-02 11:05:57 অবশেষে সংশোধন করুন: 2024-02-02 11:05:57
অনুলিপি: 2 ক্লিকের সংখ্যা: 749
1
ফোকাস
1617
অনুসারী

পাবলো বেল চক্র এবং বলিঙ্গার ব্যান্ডের সমন্বয়ে ট্রেলিং স্টপ লস কৌশল

ওভারভিউ

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

কৌশল নীতি

প্রথমত, এই কৌশলটি বর্তমান বাজার প্রবণতা নির্ধারণের জন্য প্যারোবেল সূচক ব্যবহার করে। যখন আজকের সমাপ্তি মূল্য গতকালের প্যারোবেল চক্রের লাইনটি অতিক্রম করে, তখন মনে করা হয় যে বাজারটি বিপরীত দিকে ঘুরছে, তখন আরও বেশি কিছু করা যেতে পারে; যখন আজকের সমাপ্তি মূল্য গতকালের চক্রের লাইনটি অতিক্রম করে, তখন বাজারটি নেমে যায়, তখন এটি খালি করা যেতে পারে।

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

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

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

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

ঝুঁকি ও সমাধান

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

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

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

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

  1. প্যারোবেল সূচক প্যারামিটারগুলিকে অপ্টিমাইজ করুন, প্যারামিটার সূচকের পরিবর্তনের গতি সামঞ্জস্য করুন এবং ভুল বিচার সম্ভাবনা হ্রাস করুন

  2. অন্যান্য প্রযুক্তিগত সূচক ফিল্টার যুক্ত করুন, যেমন MACD, KD ইত্যাদির মতো ট্রেডিং টাইপগুলি যুক্ত করা, বাজারের ঝড়ের জন্য আরবিটেশন এড়ানো

  3. বুলিন ব্যান্ডের প্যারামিটার অপ্টিমাইজ করুন, ব্যান্ডউইথ প্যারামিটারগুলিকে মূল্য পরিবর্তনের সাথে আরও ঘনিষ্ঠ করে তুলুন

  4. ভলিউম বাড়ান, যেমন ট্রেডিং ভলিউম, হোল্ডিং ভলিউম ইত্যাদির সহায়ক বিচার, ভুয়া ব্রেকডাউন এড়াতে

  5. স্ট্র্যাটেজিক হোল্ডিং শেয়ারের ফলাফলের উপর প্রভাব ফেলতে পারে এমন সমস্যাগুলি এড়াতে শেয়ারের মৌলিক তথ্যের সাথে মিলিত

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-02 00:00:00
end: 2024-02-01 00:00:00
period: 3h
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/
// © maxencetajet

//@version=5
strategy("HA_RSI", overlay=true, initial_capital=1000, default_qty_type=strategy.fixed, default_qty_value=0.5, slippage=25)

closeHA = request.security(ticker.heikinashi(syminfo.tickerid), timeframe.period, close)

useDateFilter = input.bool(true, title="Filter Date Range of Backtest",
     group="Backtest Time Period")
backtestStartDate = input(timestamp("5 June 2022"), 
     title="Start Date", group="Backtest Time Period",
     tooltip="This start date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")
backtestEndDate = input(timestamp("5 July 2022"),
     title="End Date", group="Backtest Time Period",
     tooltip="This end date is in the time zone of the exchange " + 
     "where the chart's instrument trades. It doesn't use the time " + 
     "zone of the chart or of your computer.")

inTradeWindow = true

swingHighV = input.int(10, title="Swing High", group="number of past candles")
swingLowV = input.int(10, title="Swing Low", group="number of past candles")

emaV = input.int(200, title="Ema Period", group="EMA")

rsiV = input.int(14, title="RSI Period", group="RSI")

start = input(0.02, group="Parabolic SAR")
increment = input(0.02, group="Parabolic SAR")
maximum = input(0.2, "Max Value", group="Parabolic SAR")

ema = ta.ema(closeHA, emaV)
rsi = ta.rsi(closeHA, rsiV)
SAR = ta.sar(start, increment, maximum)

myColor = SAR < low?color.green:color.red

longcondition = closeHA > ema and rsi > 50 and closeHA[1] > SAR and closeHA[1] < SAR[1] 
shortcondition = closeHA < ema and rsi < 50 and closeHA[1] < SAR and closeHA[1] > SAR[1]

float risk_long = na
float risk_short = na
float stopLoss = na
float entry_price = na
float takeProfit = na

risk_long := risk_long[1]
risk_short := risk_short[1]

swingHigh = ta.highest(closeHA, swingHighV)
swingLow = ta.lowest(closeHA, swingLowV)

if strategy.position_size == 0 and longcondition and inTradeWindow
    risk_long := (close - swingLow) / close
    strategy.entry("long", strategy.long, comment="Buy")
    
if strategy.position_size == 0 and shortcondition and inTradeWindow
    risk_short := (swingHigh - close) / close       
    strategy.entry("short", strategy.short, comment="Sell")
    
if strategy.position_size > 0

    stopLoss := strategy.position_avg_price * (1 - risk_long)
    entry_price := strategy.position_avg_price
    strategy.exit("long exit", "long", stop = stopLoss)
    
if strategy.position_size < 0 

    stopLoss := strategy.position_avg_price * (1 + risk_short)
    entry_price := strategy.position_avg_price
    strategy.exit("short exit", "short", stop = stopLoss)

if closeHA[1] < SAR and close > strategy.position_avg_price
    strategy.close("long", comment="Exit Long")
    
if closeHA[1] > SAR and close < strategy.position_avg_price
    strategy.close("short", comment="Exit Short")

p_ep = plot(entry_price, color=color.new(color.white, 0), linewidth=2, style=plot.style_linebr, title='entry price')
p_sl = plot(stopLoss, color=color.new(color.red, 0), linewidth=2, style=plot.style_linebr, title='stopLoss')
fill(p_sl, p_ep, color.new(color.red, transp=85))

plot(SAR, "ParabolicSAR", style=plot.style_circles, color=myColor, linewidth=1)
plot(ema, color=color.white, linewidth=2, title="EMA")