চলমান গড় ফিল্টার সহ উইলিয়ামস %R ক্রসওভার কৌশল

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

সারসংক্ষেপ

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

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

  1. উইলিয়ামস %R এবং 200-পরিয়ড সহজ চলমান গড় (এমএ) গণনা করুন।

  2. যখন %R একটি থ্রেশহোল্ড দ্বারা -৫০ স্তরের উপরে অতিক্রম করে এবং বন্ধ করা হয় তখন লম্বা হয়।

  3. যখন %R একটি থ্রেশহোল্ড দ্বারা -50 স্তরের নিচে অতিক্রম করে এবং বন্ধটি MA এর নিচে হয় তখন শর্ট করুন।

  4. যদি লং হয়, বন্ধ পজিশন যখন বন্ধ পৌঁছায় লাভ নিন (প্রবেশ মূল্য + লাভ নিন পিপস) বা স্টপ লস স্তর (প্রবেশ মূল্য - স্টপ লস পিপস) ।

  5. যদি শর্ট হয়, বন্ধ পজিশন যখন কাছাকাছি পৌঁছায় লাভ নিন (প্রবেশ মূল্য - লাভ নিন পিপস) বা স্টপ লস স্তর (প্রবেশ মূল্য + স্টপ লস পিপস) ।

কৌশলটি উইলিয়ামস %R এর অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় প্রকৃতির উপর মূলধন করে এবং আরও নির্ভরযোগ্য সংকেতগুলির জন্য এমএ প্রবণতা ফিল্টারকে একত্রিত করে। স্টপ লস / লাভ গ্রহণের যুক্তি সহজ এবং পরিষ্কার। সামগ্রিকভাবে এটি একটি সম্পূর্ণ স্বল্পমেয়াদী সিস্টেম।

সুবিধা বিশ্লেষণ

  1. উইলিয়ামস %R কার্যকরভাবে স্পষ্ট সংকেত দিয়ে অতিরিক্ত ক্রয় / অতিরিক্ত বিক্রয় স্তর চিহ্নিত করে।

  2. এমএ ফিল্টার প্রবণতা পক্ষপাত যোগ করে whipsaws এড়াতে.

  3. নমনীয়তার জন্য কাস্টমাইজযোগ্য পরামিতি।

  4. বেশিরভাগ লাভের জন্য স্টপ লস লক।

  5. সহজ সরল যুক্তি, সহজেই বোঝা যায় এবং বাস্তবায়ন করা যায়।

  6. নমনীয়তা সহ একাধিক পণ্যের জন্য প্রযোজ্য।

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

  1. উইলিয়ামস %R এর বিলম্বিত প্রভাব আছে, কিছু সুযোগ মিস করতে পারে।

  2. এমএ ফিল্টারেও কিছু বিলম্ব আছে।

  3. কঠোর ওভারকুপিং/ওভারসোল্ডিং নিয়ম কিছু প্রবণতা মিস করতে পারে।

  4. স্টপ লস খুব শক্ত হতে পারে whipsaws দ্বারা বন্ধ করা.

  5. স্টপ লস খুব বড় হলে লাভ সীমিত হতে পারে।

  6. বিভিন্ন বাজারের পরিবেশের জন্য পরামিতিগুলিকে সামঞ্জস্য করতে হবে।

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

  1. উচ্চতর জয় হার জন্য পরামিতি অপ্টিমাইজ করুন.

  2. MACD, KDJ ইত্যাদির মতো অন্যান্য ফিল্টার যুক্ত করুন।

  3. এক্সপোনেন্সিয়াল এমএ এর মত বিভিন্ন এমএ টাইপ চেষ্টা করুন।

  4. প্রবণতা পক্ষপাত যোগ করুন, শুধুমাত্র প্রবণতা দিক ট্রেড করুন।

  5. স্টপ লস কৌশল যেমন ডায়নামিক স্টপ, চ্যান্ডেলর প্রস্থান ইত্যাদি অপ্টিমাইজ করুন।

  6. স্থির ভগ্নাংশ, মার্টিনগেল ইত্যাদির মত অবস্থানের আকার চেষ্টা করুন।

  7. আরও ভাল প্যারামিটার অপ্টিমাইজেশনের জন্য মেশিন লার্নিং ব্যবহার করুন।

সিদ্ধান্ত

এই কৌশলটি একটি সহজ স্বল্পমেয়াদী সিস্টেমে এমএ ট্রেন্ড ফিল্টার সহ উইলিয়ামস %R ওভারকোপড / ওভারসোল্ড সংকেতগুলিকে একত্রিত করে। এটিতে পরিষ্কার প্রবেশ সংকেত এবং স্টপ লস / লাভের যুক্তি রয়েছে। আরও দৃust়তার জন্য প্যারামিটার টিউনিং, সূচক নির্বাচন, স্টপ লস ম্যানেজমেন্ট ইত্যাদির মাধ্যমে আরও উন্নতি করা যেতে পারে। বাস্তবায়ন এবং প্রসারিত করা সহজ, এই কৌশলটি স্বল্পমেয়াদী ব্যবসায়ীদের জন্য উপযুক্ত।


/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Williams %R Cross Strategy with MA Filter", overlay=true)

// User Inputs
wrLength = input(14, title="Williams %R Length")
crossPips = input(10, title="Cross Threshold (Pips)")
takeProfitPips = input(30, title="Take Profit (Pips)")
stopLossPips = input(20, title="Stop Loss (Pips)")

// Calculate Williams %R
wrHigh = ta.highest(high, wrLength)
wrLow = ta.lowest(low, wrLength)
wr = (wrHigh - close) / (wrHigh - wrLow) * -100

// Calculate 200-period Simple Moving Average
ma200 = ta.sma(close, 200)

// Entry Conditions
enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200
enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200

// Exit Conditions
exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick))
exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick))

// Order Management
if enterLong
    strategy.entry("Long", strategy.long)
    
if enterShort
    strategy.entry("Short", strategy.short)

if exitLong
    strategy.close("Long")

if exitShort
    strategy.close("Short")


আরো