বিশৃঙ্খল ট্রেডিং নিয়ম স্টপ লস কৌশল

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

img

সারসংক্ষেপ

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

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

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

একটি দীর্ঘ সংকেত ট্রিগার হওয়ার পরে, সেই সময়ের সর্বোচ্চ মূল্যটি ট্রেলিং স্টপ লস রেফারেন্স পয়েন্ট হিসাবে রেকর্ড করা হয়। যদি দাম স্টপ লস পয়েন্ট বিয়োগ স্টপ লস পরিসরের নীচে পড়ে, তবে স্টপ লস দ্বারা অবস্থানটি বন্ধ করা হয়।

একটি শর্ট সিগন্যাল ট্রিগার হওয়ার পরে, সেই সময়ের সর্বনিম্ন মূল্যটি ট্রেলিং স্টপ লস রেফারেন্স পয়েন্ট হিসাবে রেকর্ড করা হয়। যদি মূল্য স্টপ লস পয়েন্ট প্লাস স্টপ লস পরিসরের উপরে উঠে যায়, তবে স্টপ লস দ্বারা অবস্থানটি বন্ধ হয়ে যায়।

একই সময়ে, স্থির লাভ এবং স্টপ লস দূরত্ব সেট করা হয়। যদি মূল্য লাভের দূরত্ব পৌঁছায়, তাহলে লাভ বন্ধ করুন। যদি এটি স্টপ লস দূরত্ব পৌঁছায়, তাহলে স্টপ লস দ্বারা অবস্থান বন্ধ করুন।

উপরন্তু, লিভারেজ ট্র্যাকিং স্টপ লস লাইন লিভারেজের উপর ভিত্তি করে সেট করা হয়। যদি মূল্য লিভারেজ ট্র্যাকিং স্টপ লস লাইনে পৌঁছায়, তবে অবস্থানটি স্টপ লস দ্বারা বন্ধ হয়ে যায়।

আপট্রেন্ডের সময় সর্বোচ্চ মূল্য এবং ডাউনট্রেন্ডের সময় সর্বনিম্ন মূল্য অনুসরণ করে, স্থির লাভ এবং স্টপ লস দূরত্বের সাথে মিলিয়ে ট্রেন্ডিং মার্কেটে উচ্চতর রিটার্ন অর্জন করা যায়। এদিকে, লিভারেজ ট্র্যাকিং স্টপ লস ক্ষতির বিস্তার এড়াতে সহায়তা করে।

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

এই কৌশলটির সবচেয়ে বড় সুবিধা হল একাধিক ট্রেডিং ম্যানেজমেন্ট নিয়মের প্রবর্তন যা আরএসআই কৌশলটির শক্তিকে কাজে লাগিয়ে ঝুঁকিগুলিকে আরও ভালভাবে নিয়ন্ত্রণ করে।

বিশেষ করে, এর সুবিধাগুলি হলঃ

  1. ট্রেনিং স্টপ লস ট্রেন্ডিং মার্কেটের সময় উচ্চ মুনাফা অর্জনের প্রবণতা অনুসরণ করতে পারে।

  2. ফিক্সড টেক লাভ এবং স্টপ লস কিছু মুনাফা বন্ধ করে দেয় এবং প্রবণতা বিপরীত হলে পুরো মুনাফা মুছে ফেলা এড়ায়।

  3. লিভারেজ স্টপ লস ট্র্যাকিং ক্ষতির বিস্তার এড়াতে সাহায্য করে এবং ঝুঁকি নিয়ন্ত্রণ করে।

  4. বিভিন্ন স্টপ লস পদ্ধতির সংমিশ্রণ বিভিন্ন বাজারের পরিবেশে তাদের শক্তি প্রদর্শন করতে পারে, কৌশলটির সামগ্রিক স্থিতিশীলতা উন্নত করে।

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

  6. সহজেই বোঝা যায় যে যুক্তি যাচাইকরণ, অপ্টিমাইজেশন এবং প্রয়োগকে সহজ করে তোলে।

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

এই কৌশলটির প্রধান ঝুঁকিগুলি নিম্নলিখিত থেকে আসেঃ

  1. RSI কৌশল নিজেই কিছু whipsaw ঝুঁকি আছে, যা স্টপ লস ট্রিগার করতে পারে। RSI পরামিতি অপ্টিমাইজ করা যাবে।

  2. স্টপ লস পয়েন্টের আশেপাশে দোলনা প্রায়শই স্টপ লস ট্রিগার করতে পারে। স্টপ লস পরিসীমা প্রসারিত করা যেতে পারে।

  3. ট্রেন্ডিং মার্কেটের সময় লাভের দূরত্ব পুরোপুরি লক করতে পারে না। অন্যান্য সূচক ট্রেন্ডের সমাপ্তি নির্ধারণে সহায়তা করতে পারে।

  4. স্থির স্টপ লস দূরত্ব সম্পূর্ণরূপে ক্ষতি এড়ানোর জন্য খুব ছোট হতে পারে। দোলনীয় স্টপ লস বা গতিশীল স্টপ লস ব্যবহার করার কথা বিবেচনা করুন।

  5. অত্যধিক লিভারেজ স্টপ লসকে প্রবেশ মূল্যের খুব কাছে নিয়ে যায়। নিম্ন লিভারেজ সেটিং ব্যবহার করা উচিত।

  6. ব্যাকটেস্ট পিরিয়ড ভবিষ্যতের বাজারের পরিস্থিতি সম্পূর্ণরূপে উপস্থাপন করতে পারে না। যথাযথ ঝুঁকি নিয়ন্ত্রণ বাস্তবায়ন করা উচিত এবং বিভিন্ন সময়কাল পরীক্ষা করা উচিত।

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

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

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

  1. Whipsaw ট্রেড হ্রাস করার জন্য RSI পরামিতি অপ্টিমাইজ করুন এবং বিভিন্ন বাজারের জন্য সর্বোত্তম পরামিতি পরীক্ষা করুন।

  2. এন্ট্রি ফিল্টার করার জন্য KD, MACD এবং RSI এর সাথে অন্য ইন্ডিকেটর ব্যবহার করুন।

  3. মেশিন লার্নিং ব্যবহার করে গতিশীলভাবে স্টপ লস এবং লাভের পরামিতিগুলি অপ্টিমাইজ করুন।

  4. আরো জটিল স্টপ লস প্রক্রিয়া যেমন দোলন স্টপ লস, গড় স্টপ লস, গতিশীল স্টপ লস ইত্যাদি পরীক্ষা করুন।

  5. লাভ ও ঝুঁকি নিয়ন্ত্রণে লিভারেজ সেটিং এবং অধ্যয়ন প্রভাব অপ্টিমাইজ করা।

  6. অটো সামঞ্জস্য প্যারামিটার বাজারের রীতি পরিবর্তন উপর ভিত্তি করে, যেমন α-দ্বৈত থ্রাস্ট.

  7. প্রবণতা স্থায়িত্ব নির্ধারণের জন্য অন্যান্য কারণগুলি অন্তর্ভুক্ত করুন, যেমন ভলিউম শক্তি।

  8. আরও শক্তিশালী এবং ব্যাখ্যাযোগ্য স্টপ লস পদ্ধতি তৈরি করতে গভীর শিক্ষার মডেল ব্যবহার করুন।

  9. কৌশলটির দৃঢ়তা মূল্যায়নের জন্য বিভিন্ন উপকরণ এবং সময়কাল থেকে তথ্য পরীক্ষা করুন।

সিদ্ধান্ত

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


/*backtest
start: 2022-11-06 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Adding some essential components to a prebuilt RSI strategy", overlay=true)

/////////////// Component Code Start ///////////////
testStartYear = input(2011, "Backtest Start Year") 
testStartMonth = input(8, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2016, "Backtest Stop Year")
testStopMonth = input(9, "Backtest Stop Month")
testStopDay = input(29, "Backtest Stop Day")
// testStopDay = testStartDay + 1
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
/////////////// Component Code Stop ///////////////

///////////// RSI component /////////////
length = input( 14 )
overSold = input( 30 )
overBought = input( 70 )
price = close

vrsi = rsi(price, length)
notna = not na(vrsi)

/////////////// STRATEGY ///////////////
ts = input(99999, "Trailing Stop") / 100
tp = input(99999, "Take Profit") / 100
sl = input(99999, "Stop Loss") / 100

long = notna and crossover(vrsi, overSold)
short = notna and crossunder(vrsi, overBought)

last_long = long ? time : nz(last_long[1])
last_short = short ? time : nz(last_short[1])

long_signal = crossover(last_long, last_short)
short_signal = crossover(last_short, last_long)

last_open_long_signal = long_signal ? open : nz(last_open_long_signal[1])
last_open_short_signal = short_signal ? open : nz(last_open_short_signal[1])

last_long_signal = long_signal ? time : nz(last_long_signal[1])
last_short_signal = short_signal ? time : nz(last_short_signal[1])

in_long_signal = last_long_signal > last_short_signal
in_short_signal = last_short_signal > last_long_signal

last_high = not in_long_signal ? na : in_long_signal and (na(last_high[1]) or high > nz(last_high[1])) ? high : nz(last_high[1])
last_low = not in_short_signal ? na : in_short_signal and (na(last_low[1]) or low < nz(last_low[1])) ? low : nz(last_low[1])

long_ts = not na(last_high) and high <= (last_high - ts) //and high >= last_open_long_signal
short_ts = not na(last_low) and low >= (last_low + ts) //and low <= last_open_short_signal

long_tp = high >= (last_open_long_signal + tp)
short_tp = low <= (last_open_short_signal - tp)

long_sl = low <= (last_open_long_signal - sl)
short_sl = high >= (last_open_short_signal + sl)

leverage = input(200, "Leverage")
long_call = last_open_long_signal - (0.8 + 0.2 * (1/leverage)) / leverage * last_open_long_signal
short_call = last_open_short_signal + (0.78 + 0.2 * (1/leverage)) / leverage * last_open_short_signal
long_call_signal = low <= long_call
short_call_signal = high >= short_call

if testPeriod()
    strategy.entry("Long", strategy.long, when=long_signal)
    strategy.entry("Short", strategy.short, when=short_signal)

    // plot(long_call, color=red)
    // plot(short_call, color=green)
    strategy.close("Long", when=long_call_signal)
    strategy.close("Short", when=short_call_signal)
    strategy.close("Long", when=long_tp)
    strategy.close("Short", when=short_tp)
    strategy.close("Long", when=long_sl)
    strategy.close("Short", when=short_sl)
    strategy.close("Long", when=long_ts)
    strategy.close("Short", when=short_ts)

আরো