একটি সূচক-চালিত স্টপ লস এবং লাভ গ্রহণ কৌশল

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

img

সারসংক্ষেপ

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

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

এই কৌশলটির মূল যুক্তি হল:

  1. ট্রেডিং সিগন্যাল হিসাবে ৩ পেরিওডের এসএমএ ব্যবহার করুন, এসএমএ ০ এর উপরে অতিক্রম করলে লং যান এবং এসএমএ ০ এর নিচে অতিক্রম করলে শর্ট যান।

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

  3. ব্যবহারকারীর দ্বারা নির্ধারিত প্রবেশ মূল্য এবং স্টপ লস অনুপাতের ভিত্তিতে, স্বয়ংক্রিয়ভাবে স্টপ লস লাইন সেট করুন।

  4. ব্যবহারকারীর দ্বারা নির্ধারিত প্রবেশ মূল্য এবং লাভের অনুপাতের উপর ভিত্তি করে, স্বয়ংক্রিয়ভাবে লাভের লাইন সেট করুন।

  5. যখন দাম স্টপ লস লাইন স্পর্শ করে, স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। যখন দাম লাভের লাইন স্পর্শ করে, স্বয়ংক্রিয়ভাবে লাভ গ্রহণ করে।

  6. পজিশন বন্ধ করার পর, স্বয়ংক্রিয়ভাবে স্টপ লস বাতিল করুন এবং মুনাফা অর্ডার নিন।

বিশেষ করে, কৌশলটি SMA ফাংশন ব্যবহার করে 3-অবধি SMA গণনা করে এবং এটিকে ma ভেরিয়েবলের সাথে সংযুক্ত করে।

তারপর এটি দীর্ঘ এন্ট্রি লাইন দৈর্ঘ্য গণনা করে, যা lo এর ma + ma% হয়। lo দীর্ঘ এন্ট্রি লাইন অফসেটের জন্য একটি ব্যবহারকারী সামঞ্জস্যযোগ্য পরামিতি।

যখন ma 0 এর উপরে অতিক্রম করে, তখন এটি একটি দীর্ঘ প্রবেশের সংকেত দেয়। কৌশল.এন্ট্রি ফাংশন ব্যবহার করে দীর্ঘ প্রবেশ করে প্রবেশের মূল্য দীর্ঘ সেট করা হয়।

একই সময়ে, স্টপ লস এবং লাভের দামগুলি সেট করা হয়। স্টপ লস মূল্য হ'ল প্রবেশের মূল্য বিয়োগ প্রবেশের মূল্য% এর sl। sl হ'ল ব্যবহারকারীর সামঞ্জস্যযোগ্য স্টপ লস অনুপাত প্যারামিটার। লাভের দাম হ'ল প্রবেশের মূল্য প্লাস প্রবেশের মূল্য% এর tp। tp হ'ল ব্যবহারকারীর সামঞ্জস্যযোগ্য লাভের অনুপাত প্যারামিটার।

Strategy.entry ফাংশন স্টপ লস এবং লাভ অর্ডার আলাদাভাবে সেট করে। যখন মূল্য স্টপ লস লাইন স্পর্শ করে, এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে। যখন মূল্য লাভ লাইন স্পর্শ করে, এটি স্বয়ংক্রিয়ভাবে লাভ গ্রহণ করবে।

পজিশন বন্ধ করার পর, স্টপ লস এবং লাভ অর্ডার স্বয়ংক্রিয়ভাবে strategy.cancel ফাংশন ব্যবহার করে বাতিল করা হয়।

সুবিধা

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

  1. স্বয়ংক্রিয়তার উচ্চ স্তর, কোনও ম্যানুয়াল হস্তক্ষেপের প্রয়োজন নেই, অ্যালগরিদম ট্রেডিংয়ের জন্য উপযুক্ত।

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

  3. ট্রেডিং সিগন্যাল ইন্ডিকেটর থেকে আসে, মিথ্যা ব্রেকআউট এড়ানো।

  4. ভিজ্যুয়ালাইজড স্টপ লস এবং লভ্যাংশ নিন, স্বজ্ঞাত।

  5. সহজ এবং স্পষ্ট কৌশল যুক্তি, সহজেই বুঝতে এবং বাস্তবায়ন।

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

এই কৌশলটির সাথে কিছু ঝুঁকিও রয়েছেঃ

  1. সূচক থেকে মিথ্যা সংকেত ঝুঁকি সমাধান নির্ভরযোগ্য সূচক নিশ্চিত করার জন্য পরামিতি অপ্টিমাইজ করা হয়।

  2. অপ্রয়োজনীয় স্টপ লস এবং লাভের অনুপাত সেটিং, খুব আলগা বা খুব আক্রমণাত্মক হতে পারে। সমাধান বিভিন্ন বাজারের জন্য অনুপাত সমন্বয় করা হয়।

  3. ব্রেকআউট এন্ট্রি আটকা পড়ার সম্ভাবনা রয়েছে। সমাধান হল ট্রেন্ড, ভলিউম ইত্যাদির সাথে এন্ট্রি সংকেত ফিল্টার করা।

  4. সম্ভাব্য বড় ড্রাউনডাউন। সমাধান হল পজিশনের আকার হ্রাস করা বা ট্রেলিং স্টপ লস ব্যবহার করা।

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

কৌশলটি অপ্টিমাইজ করার জন্য কিছু দিকনির্দেশঃ

  1. নির্ভরযোগ্যতার জন্য চলমান গড় প্যারামিটার অপ্টিমাইজ করুন।

  2. ভুয়া ব্রেকআউট এড়ানোর জন্য প্রবেশের শর্তগুলি অনুকূল করুন, ভলিউম নিশ্চিতকরণ ইত্যাদি যোগ করুন

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

  4. ঝুঁকি ব্যবস্থাপনার অপ্টিমাইজেশন, পজিশনের আকার সংশোধন, একক বাণিজ্য ঝুঁকি হ্রাস।

  5. এন্ট্রি টাইমিং অপ্টিমাইজ করুন, ট্রেন্ড, সাপোর্ট/রেসিস্ট্যান্স ইত্যাদির সাথে একত্রিত করুন।

  6. পিরামিডিং যোগ করুন যৌগিক লাভের জন্য।

  7. নির্দিষ্ট পণ্যের জন্য প্যারামিটার অপ্টিমাইজেশান।

সিদ্ধান্ত

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


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

//@version=4
strategy("example for panel signals", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)
//https://www.tradingview.com/script/m2a04xmb-noro-s-shiftma-tp-sl-strategy/
//Settings
lo = input(-5.0, title = "Long-line, %")
tp = input(5.0, title = "Take-profit")
sl = input(2.0, title = "Stop-loss")

//SMA
ma = sma(ohlc4, 3)
long = ma + ((ma / 100) * lo)

//Orders
avg = strategy.position_avg_price
if ma > 0
    strategy.entry("Long", strategy.long, limit = long)
    strategy.entry("Take", strategy.short, 0, limit = avg + ((avg / 100) * tp))
    strategy.entry("Stop", strategy.short, 0, stop = avg - ((avg / 100) * sl))
    
//Cancel order
if strategy.position_size == 0
    strategy.cancel("Take")
    strategy.cancel("Stop")

//Lines
plot(long, offset = 1, color = color.black, transp = 0)
take = avg != 0 ? avg + ((avg / 100) * tp) : long + ((long / 100) * tp)
stop = avg != 0 ? avg - ((avg / 100) * sl) : long - ((long / 100) * sl)
takelinecolor = avg == avg[1] and avg != 0 ? color.lime : na
stoplinecolor = avg == avg[1] and avg != 0 ? color.red : na
plot(take, offset = 1, color = takelinecolor, linewidth = 3, transp = 0)
plot(stop, offset = 1, color = stoplinecolor, linewidth = 3, transp = 0)
//
disp_panels = input(true, title="Display info panels?")
h=high
info_label_off = input(20, title="Info panel offset")
info_label_size = input(size.large, options=[size.tiny, size.small, size.normal, size.large, size.huge], title="Info panel label size")
info_panel_x = timenow + round(change(time)*info_label_off)
info_panel_y = h

info_title= "-=-=-=-=- Info Panel -=-=-=-=-"
info_div = "\n\n------------------------------"
a = "\n\ Long : " + tostring(long)
b = "\n\ Stop loss : " + tostring(stop)
c = "\n\ TP : " + tostring(take)
// info_text = a+c+b
// info_panel = disp_panels ? label.new(x=info_panel_x, y=info_panel_y, text=info_text, xloc=xloc.bar_time, yloc=yloc.price, color=color.yellow, style=label.style_labelup, textcolor=color.black, size=info_label_size) : na
// label.delete(info_panel[1])




আরো