উচ্চ এবং নিম্ন বিন্দু সনাক্তকরণের উপর ভিত্তি করে দীর্ঘমেয়াদী অস্থিরতা কৌশল


সৃষ্টির তারিখ: 2024-02-18 09:57:11 অবশেষে সংশোধন করুন: 2024-02-18 09:57:11
অনুলিপি: 0 ক্লিকের সংখ্যা: 617
1
ফোকাস
1617
অনুসারী

উচ্চ এবং নিম্ন বিন্দু সনাক্তকরণের উপর ভিত্তি করে দীর্ঘমেয়াদী অস্থিরতা কৌশল

ওভারভিউ

একটি উচ্চ-নিম্ন পয়েন্ট ব্রেকিং কৌশল একটি দীর্ঘমেয়াদী ওঠানামা কৌশল যা উচ্চ-নিম্ন পয়েন্ট সনাক্তকরণের উপর ভিত্তি করে। এই কৌশলটি কৌশলটির দিকের প্যারামিটারগুলির দিকনির্দেশ করে, যখন এটি একটি নির্দিষ্ট উইন্ডো সময়ের সর্বশেষ সর্বোচ্চ মূল্যকে ভেঙে দেয় এবং সর্বশেষ একটি নির্দিষ্ট উইন্ডো সময়ের সর্বনিম্ন মূল্যকে ভেঙে দেয় তখন এটি শূন্য করে।

কৌশল নীতি

এই কৌশলটি ইনপুট প্যারামিটার সেট করে সর্বশেষ এন রুট কে লাইনের সর্বোচ্চ এবং সর্বনিম্ন দামগুলি দেখুন, অর্থাৎ ওভারল্যাপের উচ্চ-নিম্ন পয়েন্টগুলি, এবং দিকনির্দেশের প্যারামিটারগুলির উপর ভিত্তি করে কৌশলটির দিকনির্দেশের সিদ্ধান্ত নিন। যখন দামটি সর্বশেষ এন রুট কে লাইনের সর্বোচ্চ পয়েন্টটি ভেঙে যায় তখন স্টপ-উইন পদ্ধতিতে বাজারে প্রবেশ করুন। যখন দামটি সর্বশেষ এন রুট কে লাইনের সর্বনিম্ন পয়েন্টটি ভেঙে যায় তখন স্টপ-ড্রপ পদ্ধতিতে বাজারে প্রবেশ করুন।

এছাড়াও, এই কৌশলটি একটি স্টপ-ড্রপ অবস্থানও নির্ধারণ করে। ওভারপজিশনের পরে, স্টপ-ড্রপ লাইনটি সর্বনিম্ন মূল্যের কাছাকাছি সেট করা হয়; খোলার পরে, স্টপ-ড্রপ লাইনটি সর্বোচ্চ মূল্যের কাছাকাছি সেট করা হয়। এটি কার্যকরভাবে একতরফা কার্যকলাপের ফলে বিশাল ক্ষতি এড়াতে পারে।

সামর্থ্য বিশ্লেষণ

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

এর সুবিধাগুলো হলঃ

  1. “এটা আমার জন্য খুবই কঠিন ছিল, কিন্তু আমি মনে করি, এটা আমার জন্য অনেক কঠিন ছিল।

  2. টেকনিক্যাল বিশ্লেষণের একটি ক্লাসিক পদ্ধতি হল সুইংয়ের উচ্চ ও নিম্ন পয়েন্টগুলিকে ব্যবহার করে বিপরীতমুখী হওয়ার সুযোগ খোঁজা।

  3. একতরফা কর্মকাণ্ডের ফলে যে বড় ধরনের ক্ষতি হতে পারে তা এড়াতে ঝুঁকি নিয়ন্ত্রণের জন্য একটি ক্ষতিরোধ ব্যবস্থা রয়েছে।

  4. কোডের কাঠামো পরিষ্কার, সহজে বোঝা যায় এবং পরিবর্তন করা যায়।

  5. কৌশলটি অপ্টিমাইজ করার জন্য বিভিন্ন প্যারামিটার ইনপুট করা যেতে পারে, যেমন সর্বোচ্চ সর্বনিম্ন পয়েন্ট চক্রের সংখ্যা এবং আরও অনেক কিছু।

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

এই কৌশলটির প্রধান ঝুঁকি হল উচ্চ ও নিম্ন পয়েন্টের সিদ্ধান্তে ভুল লেনদেন। এর মধ্যে রয়েছেঃ

  1. সর্বোচ্চ সর্বনিম্ন পয়েন্ট ভুল প্রবেশের জন্য একটি ভুল ব্রেক হতে পারে।

  2. বিপর্যয়ের কাছাকাছি একটি বিশাল স্টপ-ড্যামেজ ট্রিগার হতে পারে।

  3. ট্রেন্ডিং জাতের উচ্চ ও নিম্ন সীমা নির্ধারণে ব্যয়বহুল।

  4. ভুল প্যারামিটার সেট করাও নীতির কর্মক্ষমতাকে প্রভাবিত করতে পারে।

এর মধ্যে রয়েছেঃ

  1. অনুকূলিতকরণ প্যারামিটার, সর্বোচ্চ এবং সর্বনিম্ন পয়েন্ট বিচার করার জন্য চক্রের সংখ্যা

  2. ক্রমবর্ধমান ক্ষতিপূরণ

  3. প্রবণতাযুক্ত জাতের ব্যবহার এড়ানোর জন্য জাতের বৈশিষ্ট্যগুলি আলাদা করুন।

  4. মেশিন লার্নিং পদ্ধতি ব্যবহার করে গতিশীল অপ্টিমাইজেশান প্যারামিটার

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

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

  1. সর্বোচ্চ সর্বনিম্ন পয়েন্ট চক্র সংখ্যা অপ্টিমাইজেশানঃ বর্তমান স্থির চক্র সংখ্যা, স্থির মোড দ্বারা আনা অপ্টিমাইজেশান এড়াতে গতিশীল অপ্টিমাইজেশান পরিবর্তন করা যেতে পারে।

  2. স্টপ লস স্টপ অপ্টিমাইজেশান যুক্ত করুনঃ এটিআর, ওঠানামা এবং অন্যান্য সূচকগুলির উপর ভিত্তি করে স্টপ লসের গতিশীলতা সামঞ্জস্য করতে পারে

  3. একাধিক সময়কালের সমন্বয়ঃ উচ্চতর সময়কালের মধ্যে প্রবণতা নির্ধারণ করা যেতে পারে, নিম্ন সময়কালের মধ্যে প্রবেশের সিদ্ধান্ত নেওয়া যায়।

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

  5. অপ্টিমাইজড স্টপ লস অ্যালগরিদমঃ অ্যালগরিদমের উন্নতি করা যাতে স্টপ লস গ্যারান্টিযুক্ত অবস্থায় অকার্যকর স্টপ লস ট্রিগার হওয়ার সম্ভাবনা যতটা সম্ভব কম হয়।

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 4h
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/
// © tweakerID

// Long term strategy for managing a Crypto investment with Swing Trades of more than 1 day. The strategy buys with a 
// stop order at the Swing High price (green line) and sells with a stop order at the Swing Low price (red line). 
// The direction of the strategy can be adjusted in the Inputs panel.

//@version=4
strategy("Swing Points Breakouts", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, initial_capital=10000, commission_value=0.04)

direction = input(0, title = "Strategy Direction", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//Inputss
i_SL=input(true, title="Use Swing Lo/Hi Stop Loss & Take Profit")
i_SwingLow=input(10, title="Swing Low Lookback")
i_SwingHigh=input(10, title="Swing High Lookback")
i_reverse=input(false, "Reverse Trades")
i_SLExpander=input(defval=0, step=1, title="SL Expander")

//Strategy Calculations
SwingLow=lowest(i_SwingLow)
SwingHigh=highest(i_SwingHigh)

//SL & TP Calculations
bought=strategy.position_size != strategy.position_size[1]
LSL=valuewhen(bought, SwingLow, 0)-((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
SSL=valuewhen(bought, SwingHigh, 0)+((valuewhen(bought, atr(14), 0)/5)*i_SLExpander)
islong=strategy.position_size > 0
isshort=strategy.position_size < 0
SL= islong ? LSL : isshort ? SSL : na

//Entries and Exits
strategy.entry("long", true, stop=i_reverse?na:SwingHigh, limit=i_reverse?SwingLow:na)
strategy.entry("short", false, stop=i_reverse?na:SwingLow, limit=i_reverse?SwingHigh:na)

if i_SL
    strategy.exit("longexit", "long", stop=LSL)
    strategy.exit("shortexit", "short", stop=SSL)

//Plots
plot(i_SL ? SL : na, color=color.red, style=plot.style_cross, title="SL")
plot(SwingLow, color=color.red)
plot(SwingHigh, color=color.green)