ট্রেলিং স্টপ লস এবং শতাংশ স্টপ লসের সাথে মিলিত সূচকীয় স্মুথড মুভিং এভারেজ ব্যবহার করে স্টক পরিমাণগত ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-01-03 16:25:54 অবশেষে সংশোধন করুন: 2024-01-03 16:25:54
অনুলিপি: 0 ক্লিকের সংখ্যা: 699
1
ফোকাস
1621
অনুসারী

ট্রেলিং স্টপ লস এবং শতাংশ স্টপ লসের সাথে মিলিত সূচকীয় স্মুথড মুভিং এভারেজ ব্যবহার করে স্টক পরিমাণগত ট্রেডিং কৌশল

ওভারভিউ

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

কৌশল নীতি

  1. দ্রুত ইএমএ এবং ধীর ইএমএ গণনা করুন, দ্রুত ইএমএ চক্রটি 20 দিন এবং ধীর ইএমএ চক্রটি 50 দিন। যখন দ্রুত ইএমএ ধীর ইএমএ অতিক্রম করে তখন একটি ক্রয় সংকেত উত্পন্ন হয়; যখন দ্রুত ইএমএ ধীর ইএমএ অতিক্রম করে তখন একটি বিক্রয় সংকেত উত্পন্ন হয়।

  2. প্রবেশের পরে কুলুঙ্গি ক্ষতির সেট করুন, পজিশন হোল্ডিংয়ের দিকনির্দেশের উপর নির্ভর করে একাধিক পজিশন কুলুঙ্গি ক্ষতি এবং খালি পজিশন কুলুঙ্গি ক্ষতির শতাংশ সেট করুন, উদাহরণস্বরূপ 7%। কুলুঙ্গি ক্ষতি প্রতি কে লাইনে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করে, সর্বাধিক সম্ভাব্য লাভ লক করে।

  3. একই সময়ে স্টপ লস পজিশন সেট করুন, পজিশন হোল্ডিং দিক এবং প্রবেশের দামের উপর নির্ভর করে মাল্টিপজিশন স্টপ লস এবং খালি পজিশন স্টপ লসের শতাংশ সেট করুন, যেমন 2%। স্টপ লস পজিশনটি স্থির থাকে, অত্যধিক ক্ষতি এড়াতে।

  4. স্টপ লস এবং স্টপ লস এর মধ্যে তুলনা করে, এই লেনদেনের জন্য স্টপ লস পজিশন বেছে নিন যা বাজারের দামের কাছাকাছি, এবং স্টপ লস অর্ডার জারি করুন।

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

  1. চলন্ত গড়ের সংকেত সহজ, সহজেই বোঝা যায় এবং বাস্তবায়িত হয়।

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

  3. স্টপ লস শতকরা হারটি স্বজ্ঞাতভাবে সামঞ্জস্যযোগ্য, যার সাহায্যে প্রতিটি লেনদেনের সর্বোচ্চ ক্ষতি নিয়ন্ত্রণ করা যায়।

  4. ক্রমাগত ক্ষতি এবং স্থির ক্ষতির সমন্বয়ে, লাভের লকডাউন এবং ঝুঁকি নিয়ন্ত্রণ।

ঝুঁকি ও প্রতিকার

  1. চলমান গড় কৌশলগুলি ভুল সংকেত তৈরি করতে পারে এবং আরও শক্তিশালী ফিল্টারিং শর্তগুলি প্রবর্তন করতে পারে।

  2. কুলের ক্ষতি কখনও কখনও খুব তাড়াতাড়ি বন্ধ হয়ে যায়, যথাযথভাবে স্টপ ক্ষতির মাত্রা শিথিল করা হয়।

  3. ফিক্সড স্টপ লস পজিশনের ভুল সেটিংটি অত্যধিক র্যাডিকাল বা রক্ষণশীল হতে পারে, যার ফলে শতাংশের প্যারামিটারগুলি পরীক্ষা করা প্রয়োজন।

  4. যান্ত্রিকভাবে ক্ষতি বন্ধ করা বাজারকে বিপরীতমুখী করার সুযোগ হারাতে পারে, যা প্রযুক্তিগত সূচকগুলির সাথে মিলিত হয়ে ক্ষতি বন্ধের বিচার করতে পারে।

অনুকূলিতকরণ

  1. বিভিন্ন প্যারামিটারের EMA সমন্বয় চেষ্টা করুন এবং সর্বোত্তম ভারসাম্য খুঁজে বের করুন।

  2. মিথ্যে সংকেত ফিল্টার করার জন্য ট্র্যাফিক ভলিউম ইত্যাদি যোগ করা হয়েছে।

  3. আরও বেশি শেয়ার পরীক্ষা করে সঠিক স্টপ লস প্যারামিটার খুঁজে বের করুন।

  4. বাজারের উপর নির্ভর করে স্টপ পজিশনের পরিবর্তন করে চলন্ত স্টপ যোগ করার চেষ্টা করুন।

  5. আরএসআই এবং অন্যান্য সূচকগুলির সাথে মিলিত করে স্টপ-ড্রপ সময় নির্ধারণ করুন।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-12-26 00:00:00
end: 2024-01-02 00:00:00
period: 10m
basePeriod: 1m
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/
// © wouterpruym1828

//@version=5
strategy(title=" Combining Trailing Stop and Stop loss (% of instrument price)",
     overlay=true, pyramiding=1, shorttitle="TSL&SL%")

//INDICATOR SECTION

// Indicator Input options+
i_FastEMA = input.int(title = "Fast EMA period", minval = 0, defval = 20)
i_SlowEMA = input.int(title = "Slow EMA period", minval = 0, defval = 50)
     
// Calculate moving averages
fastEMA = ta.ema(close, i_FastEMA)
slowEMA = ta.ema(close, i_SlowEMA)

// Plot moving averages
plot(fastEMA, title="Fast SMA", color=color.blue)
plot(slowEMA, title="Slow SMA", color=color.orange)




//STRATEGY SECTION  

// Calculate trading conditions
buy  = ta.crossover(fastEMA, slowEMA)
sell = ta.crossunder(fastEMA, slowEMA)

// STEP 1:
// Configure trail stop loss level with input options (optional)

longTrailPerc = input.float(title="Long Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01

shortTrailPerc = input.float(title="Short Trailing Stop (%)", minval=0.0, step=0.1, defval=7) * 0.01

//Configure stop loss level with input options (optional)

longStopPerc = input.float(title="Long Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01

shortStopPerc = input.float(title="Short Stop Loss (%)", minval=0.0, step=0.1, defval=2)*0.01


// STEP 2:
// Determine trail stop loss prices
longTrailPrice = 0.0, shortTrailPrice = 0.0

longTrailPrice := if (strategy.position_size > 0)
    stopValue = high * (1 - longTrailPerc)
    math.max(stopValue, longTrailPrice[1])
else
    0

shortTrailPrice := if (strategy.position_size < 0)
    stopValue = low * (1 + shortTrailPerc)
    math.min(stopValue, shortTrailPrice[1])
else
    999999

// Determine stop loss prices
entryPrice = 0.0

entryPrice := strategy.opentrades.entry_price(strategy.opentrades - 1)


longLossPrice = entryPrice * (1 - longStopPerc)

shortLossPrice = entryPrice * (1 + shortStopPerc)


// Plot stop loss values for confirmation

plot(series=(strategy.position_size > 0) ? longTrailPrice : na,
     color=color.fuchsia, style=plot.style_cross,
     linewidth=2, title="Long Trail Stop")
plot(series=(strategy.position_size < 0) ? shortTrailPrice : na,
     color=color.fuchsia, style=plot.style_cross,
     linewidth=2, title="Short Trail Stop")

plot(series=(strategy.position_size > 0) ? longLossPrice : na,
     color=color.olive, style=plot.style_cross,
     linewidth=2, title="Long Stop Loss")
plot(series=(strategy.position_size < 0) ? shortLossPrice : na,
     color=color.olive, style=plot.style_cross,
     linewidth=2, title="Short Stop Loss")

// Submit entry orders
if (buy)
    strategy.entry("Buy", strategy.long)

if (sell)
    strategy.entry("Sell", strategy.short)


//Evaluating trailing stop or stop loss to use

longStopPrice = longTrailPrice < longLossPrice ? longLossPrice : longTrailPrice

shortStopPrice = shortTrailPrice > shortLossPrice ? shortLossPrice : shortTrailPrice

// STEP 3:
// Submit exit orders for stop price

if (strategy.position_size > 0)
    strategy.exit(id="Buy Stop", stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit(id="Sell Stop", stop=shortStopPrice)