
লিভারমোর মাল্টি হেড কী-প্রাইস ব্রেক-আউট কোয়ান্টিফিকেশন ট্রেডিং কৌশলটি জেসি লিভারমোর ট্রেডিং দর্শনের উপর ভিত্তি করে একটি সিস্টেমাইজড ট্রেডিং পদ্ধতি। এই কৌশলটি বাজারের মূল প্রবণতা, প্রাকৃতিক রিবাউন্ড এবং ছোট্ট রিবাউন্ডগুলি সনাক্ত করে, সঠিকভাবে মূল সমর্থন এবং প্রতিরোধের স্থানগুলি অতিক্রম করার সময়কে ক্যাপচার করে। কৌশলটির কেন্দ্রবিন্দু হল প্রবণতা রূপান্তর নির্ধারণের জন্য শতাংশ বা এটিআর সূচক দ্বারা সংজ্ঞায়িত মূল অক্ষগুলি ব্যবহার করা এবং মূল উত্থান প্রবণতা নিশ্চিত করার সময় মাল্টি হেড অবস্থান স্থাপন করা, প্রধান পতন প্রবণতা নিশ্চিত করার সময় সমতল অবস্থান, বাজারের ওঠানামা স্মার্ট ট্র্যাকিং এবং তহবিল পরিচালনা করা।
এই কৌশলটি জেসি লিভারমোরের ট্রেডিং ফিলোসফিকে ভিত্তি করে বাজার প্রবণতাকে ছয়টি অবস্থায় ভাগ করে দেয়ঃ প্রধান উত্থান (MAIN_UP), প্রধান পতন (MAIN_DOWN), প্রাকৃতিক প্রত্যাবর্তন (NATURAL_REBOUND), প্রাকৃতিক প্রত্যাবর্তন (NATURAL_RETRACEMENT), মাধ্যমিক প্রত্যাবর্তন (SECONDARY_REBOUND) এবং মাধ্যমিক প্রত্যাবর্তন (SECONDARY_RETRACEMENT) ।
কৌশলটি বর্তমান মূল্য এবং historicalতিহাসিক সমালোচনামূলক পয়েন্টের সাথে সম্পর্কিত, একটি পূর্বনির্ধারিত Pivot distance অনুপাতের সাথে ((এটি একটি স্থির শতাংশ হতে পারে বা এটিআর গতিশীল গণনার উপর ভিত্তি করে) বাজারের প্রবণতার অবস্থা নির্ধারণ করে। নির্দিষ্ট যুক্তিটি নিম্নরূপঃ
মূল উত্থান প্রবণতায়, যখন দামের ধারাবাহিক উত্থান বা পুনরুদ্ধারের মাত্রা মূল অক্ষের গুণিতক দ্বারা সংজ্ঞায়িত থ্রেশহোল্ড অতিক্রম করে না, তখন উত্থান প্রবণতা বজায় রাখা এবং সর্বোচ্চ পয়েন্ট আপডেট করা; যখন পুনরুদ্ধারটি থ্রেশহোল্ড অতিক্রম করে, তখন প্রাকৃতিক পুনরুদ্ধারের অবস্থায় স্যুইচ করুন।
মূল পতনশীল প্রবণতার মধ্যে, যখন দাম ক্রমাগত হ্রাস পায় বা রিবাউন্ডের মাত্রা মূল অক্ষের গুণিতক দ্বারা সংজ্ঞায়িত থ্রেশহোল্ডের চেয়ে বেশি হয় না, তখন একটি পতনশীল প্রবণতার অবস্থা বজায় রাখা এবং সর্বনিম্ন পয়েন্টটি আপডেট করা; যখন বিপর্যয় থ্রেশহোল্ডের চেয়ে বেশি হয়, তখন প্রাকৃতিক বিপর্যয় অবস্থায় স্যুইচ করুন।
প্রাকৃতিক রিবাউন্ড/রিটার্ন এবং দ্বিতীয় রিবাউন্ড/রিটার্নের মধ্যে প্রবণতা রূপান্তর মূল্যায়ন করা হয়, যা মূল্যের সাথে ঐতিহাসিক উচ্চ-নিম্নের সম্পর্ক এবং পূর্বনির্ধারিত প্রধান এবং দ্বিতীয় মূল অক্ষের গুণিতক।
ট্রেডিং সিগন্যাল জেনারেশনের লজিক হলঃ যখন প্রবণতা দুইটি ধারাবাহিক চক্রকে প্রধান উত্থানের প্রবণতা বলে স্বীকার করে তখন মাল্টিপ্লেয়ার অবস্থান স্থাপন করা হয়; যখন প্রবণতা দুইটি ধারাবাহিক চক্রকে প্রধান পতনের প্রবণতা বলে স্বীকার করে তখন প্লেইন পজিশন আউটফ্লো করা হয়।
প্রবণতা বিচারকৌশলঃ লিভারমোরের ট্রেডিং ধারণাটি সিস্টেমাইজ করা, বিভিন্ন প্রবণতা রাষ্ট্রকে একটি সুস্পষ্ট গাণিতিক মডেল দ্বারা সংজ্ঞায়িত করা, এবং বিষয়গত বিচারের সাথে যুক্ত অনিশ্চয়তা দূর করা।
অভিযোজনযোগ্য: প্যারামিটারাইজড কার্ভাল দূরত্ব শতাংশ এবং এটিআর বিকল্পের মাধ্যমে, কৌশলটি বিভিন্ন বাজার পরিবেশ এবং ওঠানামা শর্তের সাথে খাপ খাইয়ে নিতে পারে, কৌশলটির নমনীয়তা বাড়ায়।
নিশ্চিতকরণ ব্যবস্থা: কৌশলটি ট্রেডিংয়ের জন্য প্রবণতা নিশ্চিত করার জন্য দুইটি ধারাবাহিক চক্রের প্রয়োজন হয়, যা মিথ্যা ব্রেকআউটের ক্ষতিকে কার্যকরভাবে হ্রাস করে।
ফান্ড ম্যানেজমেন্ট ইন্টিগ্রেশনকৌশলঃ অ্যাকাউন্টের মালিকানা ও সুদের শতাংশ ব্যবহার করে পজিশন ম্যানেজমেন্ট করুন, যাতে অ্যাকাউন্টের বিভিন্ন আকারের অ্যাকাউন্টের মধ্যে একই রকম ঝুঁকি থাকে।
দীর্ঘমেয়াদী ট্রেন্ড ক্যাপচারমূল প্রবণতা এবং ছোট প্রবণতাকে আলাদা করে, কৌশলটি কার্যকরভাবে বড় চক্রের প্রবণতাকে ধরতে পারে এবং স্বল্পমেয়াদী গোলমাল থেকে বিরত থাকতে পারে।
পিছিয়ে পড়ার ঝুঁকি: ট্রেডিং করার জন্য কৌশলটি দুটি চক্রের প্রবণতার স্থিতি নিশ্চিত করার প্রয়োজন হয়, তাই ট্রেডিংয়ের শুরুতে কিছু মুনাফা হারাতে পারে বা ট্রেন্ডের বিপরীত হওয়ার সময় আরও বড় প্রত্যাহার সহ্য করতে পারে।
পরামিতি সংবেদনশীলতাকৌশলটির কার্যকারিতা অত্যন্ত নির্ভরশীল প্যারামিটার সেটআপের উপর, যেমনঃ মেরু দূরত্বের শতাংশ, প্রাথমিক এবং মাধ্যমিক মেরু গুণিতক, এবং ভুল প্যারামিটারগুলি অত্যধিক লেনদেন বা গুরুত্বপূর্ণ সংকেতগুলি মিস করতে পারে।
একমুখী লেনদেন সীমাবদ্ধতা: কৌশলটি কেবলমাত্র একাধিক লেনদেনের জন্য ডিজাইন করা হয়েছে, দীর্ঘমেয়াদী পতনের বাজারে দীর্ঘমেয়াদী তহবিলের অবসান হতে পারে, যা সামগ্রিক আয়কে প্রভাবিত করে।
প্রবণতা সংজ্ঞায়িত জটিলতাছয়টি প্রবণতা রাষ্ট্রের মধ্যে রূপান্তর করার লজিকটি জটিল, যা বাজারের তীব্র অস্থিরতার সময় ঘন ঘন অবস্থা স্যুইচ করতে পারে, যার ফলে লেনদেনের খরচ বৃদ্ধি পায়।
ক্ষতিপূরণের অভাব: কোডটিতে কোন স্পষ্ট স্টপ লস সেটিং নেই, বাজার হঠাৎ উল্টে গেলে বড় ক্ষতির সম্মুখীন হতে পারে।
ক্ষতিপূরণ বাড়ানোএটিআর বা নির্দিষ্ট শতাংশের উপর ভিত্তি করে স্টপ লস কৌশল প্রবর্তন করে, প্রবণতা বিপরীত হওয়ার আগে একক লেনদেনের ঝুঁকি নিয়ন্ত্রণ করে। বাস্তবায়নটি হল একাধিক পজিশন স্থাপনের সাথে সাথে স্টপ লস মূল্য নির্ধারণ করা, তহবিল সুরক্ষা।
প্রবণতা স্বীকৃতির অপ্টিমাইজেশান: বর্তমান কৌশল দুটি ধারাবাহিক চক্রের ট্রেন্ড নিশ্চিতকরণ প্রয়োজন, ট্রেন্ড নিশ্চিতকরণ, সংমিশ্রিত ট্র্যাফিক বা অন্যান্য প্রযুক্তিগত সূচক বিবেচনা করা যেতে পারে, সংকেত মান উন্নত।
যোগ করা হয়েছেউড়ন্ত ট্রেডিংকে সমর্থন করার জন্য কৌশলগুলি প্রসারিত করুন, নিম্নমুখী প্রবণতা থেকে লাভের সুযোগগুলি ব্যবহার করুন এবং কৌশলগুলির সমস্ত আবহাওয়ার কর্মক্ষমতা উন্নত করুন
গতিশীল প্যারামিটার সমন্বয়: ঐতিহাসিক অস্থিরতা বা বাজার অবস্থার উপর ভিত্তি করে গতিশীল প্যারামিটার সমন্বয় ব্যবস্থা চালু করা, যাতে কৌশলগুলি বিভিন্ন বাজারের অবস্থার সাথে আরও ভালভাবে মানিয়ে নিতে পারে।
পরিস্রাবণ যুক্ত করুন: বাজার চক্র, মৌসুমী বা মৌলিক ফিল্টারগুলির সাথে একত্রিত হয়ে, প্রতিকূল অবস্থার মধ্যে পজিশন খোলার এড়াতে এবং বিজয়ী হার বাড়াতে।
ধারাবাহিক ভাণ্ডার এবং ভাণ্ডার: ব্যাচ ইন ও আউট প্রক্রিয়া বাস্তবায়ন, সময় নির্বাচন ঝুঁকি হ্রাস, তহবিলের ব্যবহারের দক্ষতা অনুকূলিতকরণ।
লিভারমোর মল্টিহেড কী মূল্যের ব্রেকথ্রু কোয়ান্টিফিকেশন ট্রেডিং কৌশলটি জেসি লিভারমোরের ক্লাসিক ট্রেডিং ধারণাকে একটি অ্যালগরিদমিক সিস্টেমে পরিমাপযোগ্য কার্যকরকরণে সফলভাবে রূপান্তরিত করেছে। বাজারের ছয়টি প্রবণতা রাষ্ট্র এবং তাদের রূপান্তর শর্তগুলিকে সঠিকভাবে সংজ্ঞায়িত করে, কৌশলটি কার্যকরভাবে মূল উত্থান প্রবণতা সনাক্ত এবং ট্র্যাক করতে সক্ষম, এবং নিশ্চিত প্রবণতার ভিত্তিতে মাল্টিহেড ট্রেডিং কার্যকর করে।
যদিও কৌশলটি সিস্টেমাইজেশন, অভিযোজনযোগ্যতা এবং অন্তর্নির্মিত নিশ্চিতকরণ ব্যবস্থার মতো সুবিধাগুলি রয়েছে, তবুও এটি পিছিয়ে পড়া, প্যারামিটার সংবেদনশীলতা এবং স্টপ লসের অভাবের মতো ঝুঁকির মুখোমুখি। স্টপ লস প্রক্রিয়া যুক্ত করে, প্রবণতা সনাক্তকরণ, ফাঁকা ফাংশন সম্প্রসারণ এবং গতিশীল প্যারামিটার সমন্বয় অর্জনের মতো দিকের অপ্টিমাইজেশনের মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
সামগ্রিকভাবে, এই কৌশলটি এমন বিনিয়োগকারীদের জন্য একটি শক্ত কাঠামো সরবরাহ করে যারা লিভারমোর ট্রেডিং দর্শনকে পদ্ধতিগতভাবে বাস্তবায়নের চেষ্টা করে, যথাযথ প্যারামিটার সমন্বয় এবং ঝুঁকি ব্যবস্থাপনার অপ্টিমাইজেশনের মাধ্যমে প্রকৃত লেনদেনের ক্ষেত্রে স্থিতিশীল দীর্ঘমেয়াদী রিটার্নের প্রত্যাশা করে।
/*backtest
start: 2024-07-16 00:00:00
end: 2025-07-12 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":200000}]
*/
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © bozhang_ox
//@version=6
strategy("Trading strategy Jesse Livermore", overlay=true)
// Input parameters
pivot_distance_percentage = input.float(0.5, title="Pivot Distance Percentage")
major_pivot_multiplier = input.int(6, title="Major Pivot Multiplier")
minor_pivot_multiplier = input.int(3, title="Minor Pivot Multiplier")
use_atr_pivot_distance = input.bool(false, title="Use ATR for Pivot Distance")
atr_period = input.int(14, title="ATR Period")
atr_pivot_multiplier = input.float(1, title="ATR Pivot Multiplier")
// Calculate ATR
atr = ta.atr(atr_period)
// Helper function to calculate pivot distance ratio
pivot_distance_ratio = use_atr_pivot_distance ? (atr * atr_pivot_multiplier) / close : pivot_distance_percentage / 100
// Trend states
NONE = 0
MAIN_UP = 6
MAIN_DOWN = 1
NATURAL_REBOUND = 2
NATURAL_RETRACEMENT = 5
SECONDARY_REBOUND = 4
SECONDARY_RETRACEMENT = 3
// Variables to track trends
var float main_up_max = na
var float main_down_min = na
var float natural_rebound_max = na
var float natural_retracement_min = na
var int trend = NONE
var int prev_trend = NONE
var int prev_prev_trend = NONE
// Initialize variables
if na(main_up_max)
main_up_max := -1e10
if na(main_down_min)
main_down_min := 1e10
if na(natural_rebound_max)
natural_rebound_max := -1e10
if na(natural_retracement_min)
natural_retracement_min := 1e10
// Trend logic
if trend == NONE
if close > close[1]
trend := MAIN_UP
main_up_max := close
else
trend := MAIN_DOWN
main_down_min := close
else if trend == MAIN_UP
if close > close[1] or (main_up_max - close < close[1] * pivot_distance_ratio * major_pivot_multiplier)
trend := MAIN_UP
main_up_max := math.max(main_up_max, close)
else
trend := NATURAL_RETRACEMENT
natural_retracement_min := close
else if trend == MAIN_DOWN
if close < close[1] or (close - main_down_min < close[1] * pivot_distance_ratio * major_pivot_multiplier)
trend := MAIN_DOWN
main_down_min := math.min(main_down_min, close)
else
trend := NATURAL_REBOUND
natural_rebound_max := close
else if trend == NATURAL_REBOUND
if close > close[1]
if close <= main_up_max
if close - natural_rebound_max <= close[1] * pivot_distance_ratio * minor_pivot_multiplier
trend := NATURAL_REBOUND
natural_rebound_max := math.max(natural_rebound_max, close)
else
trend := MAIN_UP
main_up_max := close
else
trend := MAIN_UP
main_up_max := close
else
if natural_rebound_max - close <= close[1] * pivot_distance_ratio * major_pivot_multiplier
trend := NATURAL_REBOUND
else if close < natural_retracement_min
trend := NATURAL_RETRACEMENT
natural_retracement_min := close
else
trend := SECONDARY_RETRACEMENT
else if trend == NATURAL_RETRACEMENT
if close < close[1]
if close >= main_down_min
if natural_retracement_min - close <= close[1] * pivot_distance_ratio * minor_pivot_multiplier
trend := NATURAL_RETRACEMENT
natural_retracement_min := math.min(natural_retracement_min, close)
else
trend := MAIN_DOWN
main_down_min := close
else
trend := MAIN_DOWN
main_down_min := close
else
if close - natural_retracement_min <= close[1] * pivot_distance_ratio * major_pivot_multiplier
trend := NATURAL_RETRACEMENT
else if close > natural_rebound_max
trend := NATURAL_REBOUND
natural_rebound_max := close
else
trend := SECONDARY_REBOUND
else if trend == SECONDARY_REBOUND
if close <= natural_rebound_max and close >= natural_retracement_min
trend := SECONDARY_REBOUND
else if close < natural_retracement_min
trend := NATURAL_RETRACEMENT
natural_retracement_min := close
else
trend := NATURAL_REBOUND
natural_rebound_max := close
else if trend == SECONDARY_RETRACEMENT
if close >= natural_retracement_min and close <= natural_rebound_max
trend := SECONDARY_RETRACEMENT
else if close > natural_rebound_max
trend := NATURAL_REBOUND
natural_rebound_max := close
else
trend := NATURAL_RETRACEMENT
natural_retracement_min := close
// Execute trades based on trend changes
if prev_trend != prev_prev_trend
if trend == MAIN_UP and prev_trend == MAIN_UP
strategy.entry("Long Entry", strategy.long, comment="Long Entry")
else if trend == MAIN_DOWN and prev_trend == MAIN_DOWN
strategy.close("Long Entry", comment = "Long Close")
// Update previous trend
prev_prev_trend := prev_trend
prev_trend := trend