পিভট পয়েন্ট রিভার্সাল এবং এক্সিট ট্রেডিং কৌশল


সৃষ্টির তারিখ: 2024-04-30 15:57:54 অবশেষে সংশোধন করুন: 2024-04-30 15:57:54
অনুলিপি: 0 ক্লিকের সংখ্যা: 753
1
ফোকাস
1617
অনুসারী

পিভট পয়েন্ট রিভার্সাল এবং এক্সিট ট্রেডিং কৌশল

ওভারভিউ

এই কৌশলটি মূল পয়েন্টের উপর ভিত্তি করে বাজারের বিপরীতমুখী পয়েন্টগুলি সনাক্ত করে এবং এর ভিত্তিতে লেনদেন করে। যখন বাজারটি বামদিকে 4 টি কে লাইনের মধ্যে মূল পয়েন্টের উচ্চ পয়েন্ট (পিভট হাই) দেখা দেয়, তখন কৌশলটি পজিশনটি বেশি করে; যখন বাজারটি বামদিকে 4 টি কে লাইনের মধ্যে মূল পয়েন্টের নিম্ন পয়েন্ট (পিভট লো) দেখা দেয়, তখন কৌশলটি পজিশনটি খালি করে। কৌশলটির স্টপ লসটি খোলা পজিশনের দামের পরবর্তী সর্বনিম্ন মূল্য পরিবর্তন ইউনিট (syminfo.mintick) । কৌশলটির দুটি প্রস্থান শর্ত রয়েছেঃ 1) যখন পরবর্তী বিপরীত দিকের মূল পয়েন্টটি পজিশনটি সমতল হয়; 2) যখন মুদ্রাস্ফীতি 30% পজিশনের সমতল হয়।

কৌশল নীতি

  1. ta.pivothigh ((() এবং ta.pivotlow ((() ফাংশন ব্যবহার করে বাম দিকে 4 টি K লাইন এবং ডানদিকে 2 টি K লাইন পরিসীমা মধ্যে অক্ষ পয়েন্ট উচ্চতা ((swh) এবং নিম্ন পয়েন্ট ((swl) ।
  2. যখন অক্ষ পয়েন্ট উচ্চতা বিদ্যমান (swh_second), সর্বোচ্চ মূল্য (hprice) আপডেট করুন, এবং যখন বর্তমান সর্বোচ্চ মূল্য পূর্ববর্তী সর্বোচ্চ মূল্যের চেয়ে বেশি পূরণ করা হয়, তখন মাল্টিপ্লেয়ার শর্ত (le) চালু করুন।
  3. যখন একাধিক প্রবেশের শর্ত (le) প্রতিষ্ঠিত হয়, তখন কেন্দ্রীয় অক্ষের উচ্চতার উপরে একটি সর্বনিম্ন পরিবর্তন ইউনিট (syminfo.mintick) অবস্থানে পজিশন খোলার (le) ।
  4. মডুলারের মতো, যখন মডুলার পয়েন্টের নিম্নতম পয়েন্টটি বিদ্যমান থাকে (swl_cond), সর্বনিম্ন মূল্য (lprice) আপডেট করুন, এবং যখন বর্তমান সর্বনিম্ন মূল্য পূর্ববর্তী সর্বনিম্ন মূল্যের চেয়ে কম থাকে, তখন শূন্যপদ প্রবেশের শর্তটি চালু করুন (se) ।
  5. যখন ক্রেডিট প্রবেশের শর্তটি প্রতিষ্ঠিত হয়, তখন কেন্দ্রীয় অক্ষ পয়েন্টের নিম্নতম পয়েন্টের নীচে একটি সর্বনিম্ন পরিবর্তন ইউনিট (syminfo.mintick) অবস্থানে একটি অবস্থান খোলার জন্য ক্রেডিট করা হয়।
  6. ExitAtNextPivot () ফাংশনে, যদি একাধিক হেড পজিশন থাকে, তাহলে পরবর্তী অক্ষ পয়েন্টের নিম্নতম বিন্দুর নীচে একটি সর্বনিম্ন পরিবর্তন ইউনিট বন্ধ হয়ে যায়; যদি খালি হেড পজিশন থাকে, তবে পরবর্তী অক্ষ পয়েন্টের উচ্চতম বিন্দুর উপরে একটি সর্বনিম্ন পরিবর্তন ইউনিট বন্ধ হয়ে যায়।
  7. ExitIfProfitLessThanThirtyPercent () ফাংশনে, ওভারহেড এবং খালি হেড পজিশনের লাভ-ক্ষতির শতাংশ গণনা করা হয়, যদি ক্ষতির পরিমাণ 30% এর বেশি হয় তবে পজিশনটি প্লেইন করা হয়।

কৌশলগত সুবিধা

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

কৌশলগত ঝুঁকি

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

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

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

সারসংক্ষেপ

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

কৌশল সোর্স কোড
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Pivot Reversal Strategy with Pivot Exit", overlay=true)

leftBars = input(4)
rightBars = input(2)

var float dailyEquity = na

// Reset equity to $10,000 at the beginning of each day
isNewDay = ta.change(time("D")) != 0
if (isNewDay)
    dailyEquity := 10000

// Calculate pivot highs and lows
swh = ta.pivothigh(leftBars, rightBars)
swl = ta.pivotlow(leftBars, rightBars)

// Define long entry condition
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

// Enter long position if long entry condition is met
if (le)
    strategy.entry("PivRevLE", strategy.long, comment="EnterLong", stop=hprice + syminfo.mintick)

// Define short entry condition
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

// Enter short position if short entry condition is met
if (se)
    strategy.entry("PivRevSE", strategy.short, comment="EnterShort", stop=lprice - syminfo.mintick)

// Exit condition: Exit at the next pivot point
exitAtNextPivot() =>
    if strategy.opentrades > 0
        if strategy.position_size > 0
            // Exiting long position at next pivot low
            if not na(swl)
                strategy.exit("ExitLong", "PivRevLE", stop=swl - syminfo.mintick)
        else
            // Exiting short position at next pivot high
            if not na(swh)
                strategy.exit("ExitShort", "PivRevSE", stop=swh + syminfo.mintick)

// Call exitAtNextPivot function
exitAtNextPivot()

// Exit condition: Exit if profit is less than 30%
exitIfProfitLessThanThirtyPercent() =>
    if strategy.opentrades > 0
        if strategy.position_size > 0
            // Calculate profit percentage for long position
            profit_percentage_long = (close - strategy.position_avg_price) / strategy.position_avg_price * 100
            // Exiting long position if profit is less than 30%
            if profit_percentage_long < -30
                strategy.close("PivRevLE")
        else
            // Calculate profit percentage for short position
            profit_percentage_short = (strategy.position_avg_price - close) / strategy.position_avg_price * 100
            // Exiting short position if profit is less than 30%
            if profit_percentage_short < -30
                strategy.close("PivRevSE")

// Call exitIfProfitLessThanThirtyPercent function
exitIfProfitLessThanThirtyPercent()