উইলিয়ামস %R গতিশীলভাবে স্টপ-প্রফিট এবং স্টপ-লস কৌশল সামঞ্জস্য করে

EMA TP SL
সৃষ্টির তারিখ: 2024-06-07 15:52:55 অবশেষে সংশোধন করুন: 2024-06-07 15:52:55
অনুলিপি: 10 ক্লিকের সংখ্যা: 783
1
ফোকাস
1617
অনুসারী

উইলিয়ামস %R গতিশীলভাবে স্টপ-প্রফিট এবং স্টপ-লস কৌশল সামঞ্জস্য করে

ওভারভিউ

এই কৌশলটি উইলিয়ামস %R সূচকের উপর ভিত্তি করে, গতিশীলভাবে স্টপ লস স্তরগুলিকে সামঞ্জস্য করে ট্রেডিং পারফরম্যান্সকে অনুকূল করে তোলে। উইলিয়ামস %R ওভারসোল্ড অঞ্চল (৮০) অতিক্রম করার সময় একটি কেনার সংকেত দেয় এবং ওভারসোল্ড অঞ্চল (২০) অতিক্রম করার সময় একটি বিক্রয় সংকেত দেয়। একই সাথে সূচকীয় চলমান গড় (ইএমএ) ব্যবহার করে উইলিয়ামস %R এর মানকে মসৃণ করে তোলে যাতে শব্দটি হ্রাস করা যায়। এই কৌশলটি সূচক চক্র, স্টপ লস (টিপি / এসএল) স্তর, ট্রেডিং সময় এবং ট্রেডিং দিকের পছন্দ সহ নমনীয় প্যারামিটার সেটিং সরবরাহ করে, যা বিভিন্ন বাজারের পরিবেশ এবং ব্যবসায়ীদের পছন্দ অনুসারে।

কৌশল নীতি

  1. উইলিয়ামস %R সূচকের মান গণনা করুন।
  2. উইলিয়ামস %R এর সূচকীয় চলন্ত গড় গণনা করুন।
  3. যখন উইলিয়ামস %R নীচে থেকে উপরে ৮০ মাত্রা অতিক্রম করে, তখন কেনার সংকেত দেওয়া হয়; যখন উপরে থেকে নীচে ২০ মাত্রা অতিক্রম করে, তখন বিক্রির সংকেত দেওয়া হয়।
  4. ক্রয় করার পর, স্টপ এবং লস লেভেল সেট করুন এবং স্টপ/লস প্রাইস না হওয়া পর্যন্ত বা উইলিয়ামস %R রিভার্সাল সিগন্যাল না হওয়া পর্যন্ত পজিশন খালি করুন।
  5. বিক্রির পরে, স্টপ এবং লস লেভেল সেট করুন এবং স্টপ / লস প্রাইস না হওয়া পর্যন্ত বা উইলিয়ামস %R রিভার্সাল সিগন্যাল ট্রিগার না হওয়া পর্যন্ত পজিশনটি বন্ধ করুন।
  6. নির্দিষ্ট সময়সীমার মধ্যে ট্রেড করার জন্য নির্বাচন করা যেতে পারে (যেমন ৯ঃ০০-১১ঃ০০) এবং পুরো পয়েন্টের কাছাকাছি (যেমন X মিনিট আগে থেকে Y মিনিট পরে) ।
  7. ট্রেডিংয়ের দিকনির্দেশনাগুলি হল শুধুমাত্র লোভী ট্রেডিং, শুধুমাত্র লোভী ট্রেডিং বা দ্বি-মুখী ট্রেডিং।

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

  1. ডায়নামিক স্টপ লসঃ ব্যবহারকারীর সেটিং অনুযায়ী ডায়নামিকভাবে স্টপ লস লেভেল সামঞ্জস্য করা, যাতে লাভের সুরক্ষা এবং ঝুঁকি নিয়ন্ত্রণ করা যায়।
  2. নমনীয় প্যারামিটারঃ ব্যবহারকারীরা তাদের পছন্দ অনুসারে বিভিন্ন প্যারামিটার সেট করতে পারেন, যেমন সূচক চক্র, স্টপ লস স্তর, ট্রেডিং সময় ইত্যাদি, বিভিন্ন বাজারের অবস্থার সাথে খাপ খাইয়ে নিতে পারে।
  3. মসৃণকরণ সূচক: ইএমএ মসৃণ উইলিয়ামস %R মান প্রবর্তন করে, যা কার্যকরভাবে সূচক শব্দ হ্রাস করতে পারে এবং সংকেত নির্ভরযোগ্যতা উন্নত করতে পারে।
  4. ট্রেডিংয়ের সময়সীমাঃ নির্দিষ্ট সময়সীমার মধ্যে ট্রেডিং করা যায়, বিপুল বাজারের অস্থিরতা এড়াতে এবং ঝুঁকি কমাতে।
  5. কাস্টম ট্রেডিং দিকনির্দেশনাঃ বাজার প্রবণতা এবং ব্যক্তিগত বিচারের উপর ভিত্তি করে, কেবলমাত্র লম্বা, কেবলমাত্র লম্বা বা দ্বি-মুখী ট্রেডিংয়ের বিকল্প রয়েছে।

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

  1. ভুল প্যারামিটার সেটিংঃ যদি স্টপ-অফ-লস সেটিং খুব শিথিল বা খুব কঠোর হয়, তবে মুনাফা হ্রাস বা ঘন ঘন স্টপ-অফ হতে পারে।
  2. প্রবণতা সনাক্তকরণ ত্রুটিঃ উইলিয়ামস %R সূচকটি অস্থির শহরে দুর্বলভাবে কাজ করে যা ভুল সংকেত দিতে পারে।
  3. সময়সীমার প্রভাব সীমিতঃ ট্রেডিংয়ের সময়সীমা এমন একটি কৌশল যা কিছু ভাল ট্রেডিংয়ের সুযোগ হারাতে পারে।
  4. ওভার অপ্টিমাইজেশনঃ ওভার অপ্টিমাইজেশান পরামিতিগুলি ভবিষ্যতে প্রকৃত লেনদেনের ক্ষেত্রে কৌশলটির দুর্বল পারফরম্যান্স হতে পারে।

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Williams %R Strategy defined buy/sell criteria with TP / SL", overlay=true)

// User inputs for TP and SL levels
tp_level = input.int(defval=60, title="Take Profit (ticks)", minval=10, maxval=500, step=10)
sl_level = input.int(defval=60, title="Stop Loss (ticks)", minval=10, maxval=200, step=10)

// Williams %R calculation
length = input.int(defval=21, title="Length", minval=5, maxval=50, step=1)
willy = 100 * (close - ta.highest(length)) / (ta.highest(length) - ta.lowest(length))

// Exponential Moving Average (EMA) of Williams %R
ema_length = input.int(defval=13, title="EMA Length", minval=5, maxval=50, step=1)
ema_willy = ta.ema(willy, ema_length)

// User inputs for Williams %R thresholds
buy_threshold = -80
sell_threshold = -20

// User input to enable/disable specific trading hours
use_specific_hours = input.bool(defval=false, title="Use Specific Trading Hours")
start_hour = input(defval=timestamp("0000-01-01 09:00:00"), title="Start Hour")
end_hour = input(defval=timestamp("0000-01-01 11:00:00"), title="End Hour")

// User input to choose trade direction
trade_direction = input.string(defval="Both", title="Trade Direction", options=["Buy Only", "Sell Only", "Both"])

// User input to enable/disable "Minutes Before" and "Minutes After" options
enable_minutes_before_after = input.bool(defval=true, title="Enable Minutes Before/After Options")
minutes_before = enable_minutes_before_after ? input.int(defval=10, title="Minutes Before the Top of the Hour", minval=0, maxval=59, step=1) : 0
minutes_after = enable_minutes_before_after ? input.int(defval=10, title="Minutes After the Top of the Hour", minval=0, maxval=59, step=1) : 0

// Condition to check if the current minute is within the user-defined time window around the top of the hour
is_top_of_hour_range = (minute(time) >= (60 - minutes_before) and minute(time) <= 59) or (minute(time) >= 0 and minute(time) <= minutes_after)

// Condition to check if the current time is within the user-defined specific trading hours
in_specific_hours = true
if use_specific_hours
    in_specific_hours := (hour(time) * 60 + minute(time)) >= (hour(start_hour) * 60 + minute(start_hour)) and (hour(time) * 60 + minute(time)) <= (hour(end_hour) * 60 + minute(end_hour))

// Buy and Sell conditions with time-based restriction
buy_condition = ta.crossover(willy, buy_threshold) and is_top_of_hour_range and in_specific_hours
sell_condition = ta.crossunder(willy, sell_threshold) and is_top_of_hour_range and in_specific_hours

// Strategy entry and exit with TP and SL
if (trade_direction == "Buy Only" or trade_direction == "Both") and buy_condition
    strategy.entry("Buy", strategy.long)

if (trade_direction == "Sell Only" or trade_direction == "Both") and sell_condition
    strategy.entry("Sell", strategy.short)

// If a buy entry was taken, allow the trade to be closed after reaching TP and SL or if conditions for a sell entry are true
if (strategy.opentrades > 0)
    strategy.exit("TP/SL", profit=tp_level, loss=sl_level)

// Plot Williams %R and thresholds for visualization
hline(-20, "Upper Band", color=color.red)
hline(-80, "Lower Band", color=color.green)
plot(willy, title="%R", color=color.yellow, linewidth=2)
plot(ema_willy, title="EMA", color=color.aqua, linewidth=2)