প্যারাবলিক পেরিওড এবং বোলিংজার ব্যান্ডের সমন্বিত মুভিং স্টপ লস কৌশল

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

img

সারসংক্ষেপ

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

কৌশল নীতি

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

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

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

কৌশলটির সুবিধা

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

ঝুঁকি এবং সমাধান

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

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

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

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

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

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

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

আরো