ট্রেলিং স্টপ লস সহ দূরত্বের উপর ভিত্তি করে কৌশল অনুসরণকারী প্রবণতা

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

img

সারসংক্ষেপ

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

নীতিমালা

  1. শেষ সবুজ বার বন্ধ এবং শেষ লাল বার বন্ধ প্রতিনিধিত্বকারী lastg এবং lastr গণনা করুন।

  2. lastg এবং lastr এর মধ্যে পার্থক্য হিসাবে dist গণনা করুন।

  3. অ্যাডিস্টকে ডিস্টের ৩০-পরিয়ড এসএমএ হিসেবে গণনা করুন।

  4. যখন dist এর চেয়ে 2 গুণ বেশি হয় তখন ট্রেডিং সিগন্যাল তৈরি করুন।

  5. ফাস্ট আরএসআই ইন্ডিকেটর ব্যবহার করে সিগন্যাল ফিল্টার করুন, মিথ্যা ব্রেকআউট এড়াতে।

  6. সিগন্যালটি কোন পজিশন ছাড়াই থাকলে শেয়ারের নির্দিষ্ট শতাংশে ট্রেড করুন।

  7. হেরে যাওয়ার পর মার্টিনগেলকে স্কেল করতে হবে।

  8. স্টপ লস বা লভ্যাংশ গ্রহণের সময় পজিশন বন্ধ করুন।

সুবিধা

  1. ডিসিবি সূচক মধ্য ও দীর্ঘমেয়াদী প্রবণতা কার্যকরভাবে ধরা দেয়।

  2. দ্রুত আরএসআই ফিল্টার মিথ্যা ব্রেকআউট থেকে ক্ষতি এড়ায়।

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

  4. মার্টিনগেল হারের পর পজিশন বাড়িয়ে বেশি মুনাফা পায়।

  5. যুক্তিসঙ্গত প্যারামিটার সেটিংস বিভিন্ন বাজারের পরিবেশে উপযুক্ত।

ঝুঁকি

  1. ডিসিবি ভুল সিগন্যাল তৈরি করতে পারে, অন্য ফিল্টার দরকার।

  2. মার্টিনগেল ক্ষতি বাড়িয়ে তুলতে পারে, কঠোর ঝুঁকি ব্যবস্থাপনা প্রয়োজন।

  3. ভুল স্টপ লস সেটিং অত্যধিক ক্ষতি হতে পারে।

  4. অতিরিক্ত লিভারেজ রোধ করার জন্য পজিশনের আকারকে সীমিত করা উচিত।

  5. অপ্রয়োজনীয় চুক্তির সেটিংগুলি চরম বাজারে বিশাল ক্ষতির কারণ হতে পারে।

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

  1. সেরা সমন্বয় জন্য DCB পরামিতি অপ্টিমাইজ করুন.

  2. দ্রুত আরএসআই ফিল্টার প্রতিস্থাপন করার জন্য অন্য সূচক চেষ্টা করুন।

  3. স্টপ লস অপ্টিমাইজ করুন এবং উচ্চতর জয়ের হার পেতে মুনাফা নিন।

  4. ঝুঁকি কমানোর জন্য মার্টিঙ্গেল প্যারামিটার অপ্টিমাইজ করুন।

  5. সেরা সম্পদ বরাদ্দের জন্য বিভিন্ন পণ্যের উপর পরীক্ষা।

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

সংক্ষিপ্তসার

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


/*backtest
start: 2023-11-07 00:00:00
end: 2023-11-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Distance Strategy v1.0", shorttitle = "Distance str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings 
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usemar = input(true, defval = true, title = "Use Martingale")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
usersi = input(true, defval = true, title = "Use RSI-Filter")
periodrsi = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limitrsi = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI Limit")
fromyear = input(2018, defval = 2018, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Fast RSI
fastup = rma(max(change(close), 0), periodrsi)
fastdown = rma(-min(change(close), 0), periodrsi)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Distance
bar = close > open ? 1 : close < open ? -1 : 0
lastg = bar == 1 ? close : lastg[1]
lastr = bar == -1 ? close : lastr[1]
dist = lastg - lastr
adist = sma(dist, 30)
plot(lastg, linewidth = 3, color = lime)
plot(lastr, linewidth = 3, color = red)
up = bar == -1 and dist > adist * 2
dn = bar == 1 and dist > adist * 2

//RSI Filter
rsidn = fastrsi < limitrsi or usersi == false
rsiup = fastrsi > 100 - limitrsi or usersi == false

//Signals
up1 = up and rsidn
dn1 = dn and rsiup
exit = ((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open))

//Arrows
plotarrow(up1 ? 1 : na, colorup = blue, colordown = blue)
plotarrow(dn1 ? -1 : na, colorup = blue, colordown = blue)

//Trading
profit = exit ? ((strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price)) ? 1 : -1 : profit[1]
mult = usemar ? exit ? profit == -1 ? mult[1] * 2 : 1 : mult[1] : 1
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 * mult : lot[1]

signalup = up1
if signalup
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

signaldn = dn1
if signaldn
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

আরো