গড় রিভার্সন ব্রেকআউট নিম্ন কৌশল

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

img

সারসংক্ষেপ

এই কৌশলটির মূল ধারণাটি হ'ল নির্দিষ্ট সময়ের মধ্যে দামটি সর্বনিম্ন মূল্যের মধ্য দিয়ে ভেঙে যায় এবং দামটি গড়ের দিকে ফিরে আসার জন্য অপেক্ষা করে লম্বা হয় কিনা তা সনাক্ত করা। এটি প্রবণতা অনুসরণকারী কৌশলগুলির অন্তর্গত।

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

কৌশলটি পাইন স্ক্রিপ্টের ta.lowest পদ্ধতি ব্যবহার করে একটি নির্দিষ্ট সময়ের মধ্যে সর্বনিম্ন মূল্য পায় এবং এটি পূর্ববর্তী সময়ের সর্বনিম্ন মূল্যের সাথে তুলনা করে।

যদি সর্বশেষ সময়ের সর্বনিম্ন মূল্য সর্বনিম্নLow পূর্ববর্তী সময়ের সর্বনিম্ন মূল্য preLow এর চেয়ে কম হয়, একটি দীর্ঘ সংকেত ট্রিগার করা হয়। দীর্ঘ যাওয়ার পরে, এটি নির্দিষ্ট সময়ের সর্বোচ্চ মূল্যের সাথে তুলনা করে। যদি সর্বশেষ সময়ের সর্বোচ্চ মূল্য পূর্ববর্তী সর্বোচ্চ মূল্যের চেয়ে বেশি হয়, এটি অবস্থানটি বন্ধ করে দেয়।

কৌশলটি ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য ট্রিগার শর্তটি বেছে নিতে দেয়, অর্থাৎ সর্বনিম্ন মূল্যের 1, 2, 3 বা 4 টি পূর্ববর্তী সর্বনিম্ন মূল্যের মধ্যে ধারাবাহিকভাবে ভাঙ্গার প্রয়োজন।

এটি চার্টে সর্বনিম্ন মূল্য রেখা সর্বনিম্ন এবং সর্বোচ্চ মূল্য রেখা সর্বোচ্চ উচ্চতর চিত্রিত করে যা প্রবণতা পরিবর্তনকে দৃশ্যমানভাবে প্রদর্শন করে।

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

  • এই কৌশলটি তুলনামূলকভাবে উচ্চ জয়ের হারের সাথে নতুন সর্বনিম্ন ভাঙার পরে বিপরীতমুখী প্রবণতা ধরে।

  • ট্রেডিং ফ্রিকোয়েন্সি নিয়ন্ত্রণের জন্য সর্বনিম্ন দামের সংখ্যা বেছে নিতে দেয়।

  • এই রেখা আঁকা দৃশ্যমানভাবে প্রবণতা পরিবর্তনের পয়েন্ট নির্ধারণ করতে সাহায্য করে।

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

  • বিভিন্ন স্টক এবং সময়ের জন্য কনফিগার এবং অপ্টিমাইজ করা যায়।

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

  • মিথ্যা নীচে ভাঙ্গার ফলে প্রবণতা বিপরীত হওয়ার পয়েন্ট নির্ধারণ করা যায় না, ক্ষতি হতে পারে।

  • কনফিগারেশন অপ্টিমাইজ করার জন্য বিভিন্ন প্যারামিটার সমন্বয় পরীক্ষা করতে হবে, অন্যথায় ট্রেডিং ফ্রিকোয়েন্সি খুব বেশি বা খুব কম হতে পারে।

  • বিভিন্ন স্টকগুলির জন্য পরামিতিগুলি সামঞ্জস্য করা দরকার, যান্ত্রিকভাবে প্রয়োগ করা উচিত নয়।

  • ব্যাকটেস্টের পর্যাপ্ত সময়সীমা না থাকায় অতিরিক্ত ফিটিং হতে পারে।

  • দাম ভাঙ্গার পর নতুন নিচে নামতে পারে, ঝুঁকি নিয়ন্ত্রণের জন্য স্টপ লস সেট করতে হবে।

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

  • স্টপ লস মেকানিজম যোগ করুন যেমন চলমান স্টপ লস, ট্রেলিং স্টপ লস, প্রতি ট্রেড লস সীমিত করতে।

  • ট্রেডিং ফ্রিকোয়েন্সি এবং সিগন্যালের গুণমানকে সামঞ্জস্য করার জন্য ব্রেকআউটের সংখ্যা অপ্টিমাইজ করুন।

  • বিভিন্ন স্টক এবং সময়ের মধ্যে পরীক্ষার পরামিতি।

  • বিভিন্ন বাজারে ঘন ঘন ট্রেডিং এড়াতে ফিল্টার যুক্ত করুন।

  • ট্রেন্ড ট্রেডিং এড়ানোর জন্য ট্রেন্ড ইন্ডিকেটর যোগ করার কথা বিবেচনা করুন।

  • বিভিন্ন প্রস্থান সংকেত পরীক্ষা করুন।

সিদ্ধান্ত

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-11-01 00:00:00
period: 1h
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/
// © merovinh

//@version=5
strategy(title="Merovinh - Mean Reversion Lowest low",
     overlay = true,
     default_qty_type = strategy.percent_of_equity,
     initial_capital = 10000,
     default_qty_value = 10,
     commission_type = strategy.commission.percent,
     slippage = 1,
     commission_value = 0.04)

GR_TIME = 'Time Period'

bars = input(9, title = "Minimum number of bars", tooltip = "The minimum number of bars before updating lowest low / highest high")

numberOfLows  = input.string(defval='One', title='Number of broken lows', options=['One', 'Two', 'Three', 'Four'])

//Period

var prevLow = .0
var prevHigh = .0
var prevLow2 = .0
var prevLow3 = .0
var prevLow4 = .0

truetime = true


highestHigh = ta.highest(high, bars)
lowestLow = ta.lowest(low, bars)

if numberOfLows == 'One'
    if truetime and prevLow > 0 and lowestLow < prevLow
        strategy.entry('long', strategy.long)
if numberOfLows == 'Two'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2
        strategy.entry('long', strategy.long)
if numberOfLows == 'Three'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3
        strategy.entry('long', strategy.long)
if numberOfLows == 'Four'
    if truetime and prevLow > 0 and lowestLow < prevLow and prevLow < prevLow2 and prevLow2 < prevLow3 and prevLow3 < prevLow4
        strategy.entry('long', strategy.long)

if truetime and prevHigh > 0 and highestHigh > prevHigh
    strategy.close('long')


if prevLow != lowestLow
    prevLow4 := prevLow3
    prevLow3 := prevLow2
    prevLow2 := prevLow
    prevLow := lowestLow
prevHigh := highestHigh

plot(lowestLow, color=color.green, linewidth=1, title="Lowest Low Line")
plot(highestHigh, color=color.green, linewidth=1, title="Highest High Line")




আরো