
এই কৌশলটি হল একটি মাল্টি টাইম ফ্রেম ট্রেডিং সিস্টেম যা লরেঞ্জ শ্রেণিবিন্যাসের উপর ভিত্তি করে, একটি লক্ষ্য মূল্য এবং একটি গতিশীল স্টপ লস মেশিনের সাথে। এটি সূচকীয় মুভিং এভারেজ (ইএমএ) এবং শ্রেণিবিন্যাস সূচক (সিআই) ব্যবহার করে বাজারের প্রবণতা সনাক্ত করতে এবং উচ্চ সময় ফ্রেম এবং বর্তমান সময় ফ্রেমে ক্রস-বিশ্লেষণ করে। এই কৌশলটি লক্ষ্য শতাংশ সেট করে লাভের সর্বাধিকীকরণ করে, যখন ট্রেডিং সিগন্যালের কার্যকারিতা নিশ্চিত করার জন্য একটি ব্যাকলিংক মেশিন ব্যবহার করে।
এই কৌশলটির কেন্দ্রবিন্দু হল লরেঞ্জ শ্রেণীবিভাগ, যা ট্রেডিং সিগন্যাল তৈরি করতে ট্রিপল ইন্ডেক্স মুভিং এভারেজ (ইএমএ) এবং শ্রেণীবিভাগের সূচক (সিআই) এর সমন্বয় করে। নিচের ধাপগুলো অনুসরণ করা হয়েছেঃ
কৌশলটি বর্তমান সময় ফ্রেম এবং উচ্চতর সময় ফ্রেম উভয়ই লরেন্স লাইন গণনা করে যাতে একটি বহুমাত্রিক বাজার দৃষ্টিভঙ্গি সরবরাহ করা যায়। লেনদেনের সংকেতগুলি দামের সাথে লরেন্স লাইনের ক্রস উপর ভিত্তি করে এবং একটি রিভিউ প্রক্রিয়া দ্বারা নিশ্চিত করা হয়। ক্রয় সংকেতটি যখন দামের উপরে লরেন্স লাইন অতিক্রম করে এবং রিভিউ সময়ের মধ্যে সর্বনিম্ন দাম লরেন্স লাইনের নীচে থাকে তখন ট্রিগার করা হয়; বিক্রয় সংকেতটি বিপরীত।
কৌশলটি একটি লক্ষ্য মূল্য ব্যবস্থাও প্রবর্তন করে, যা ব্যবহারকারীর দ্বারা নির্ধারিত লক্ষ্য শতাংশের ভিত্তিতে প্রস্থান পয়েন্ট নির্ধারণ করে। একই সাথে, এটি ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ লস বাস্তবায়ন করে।
মাল্টি টাইম ফ্রেম বিশ্লেষণঃ বর্তমান এবং উচ্চতর টাইম ফ্রেমগুলির সাথে লরেঞ্জ লাইনগুলির সমন্বয় করে, কৌশলগুলি আরও বিস্তৃত বাজার প্রবণতা ক্যাপচার করতে এবং মিথ্যা সংকেত হ্রাস করতে সক্ষম হয়।
গতিশীল প্রবণতা সনাক্তকরণঃ লরেঞ্জ শ্রেণিবিন্যাস দ্রুত বাজারের পরিবর্তনের সাথে খাপ খাইয়ে নিতে সক্ষম, যা একটি সংবেদনশীল প্রবণতা সনাক্তকরণ ক্ষমতা প্রদান করে।
সিগন্যাল নিশ্চিতকরণ ব্যবস্থাঃ ট্রেডিং সিগন্যাল নিশ্চিত করার জন্য একটি রিভিউ পিরিয়ড ব্যবহার করা হয়, যা কার্যকরভাবে ভুল ট্রেডিংয়ের সম্ভাবনা হ্রাস করে।
টার্গেট প্রাইস অপ্টিমাইজেশন: টার্গেট শতাংশ নির্ধারণের মাধ্যমে কৌশলটি লাভজনক পরিস্থিতিতে সর্বাধিক মুনাফা অর্জন করতে পারে।
ঝুঁকি ব্যবস্থাপনাঃ ডায়নামিক স্টপ লস ম্যানেজমেন্ট চালু করা হয়েছে যাতে প্রতিটি লেনদেনের ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করা যায়।
ভিজ্যুয়ালাইজেশন এবং পরিসংখ্যানঃ কৌশলগুলি চার্ট প্রদর্শন এবং ট্রেডিং পরিসংখ্যানগুলির একটি স্বজ্ঞাত উপস্থাপনা সরবরাহ করে, যা ব্যবসায়ীদের বিশ্লেষণ এবং কৌশলগুলির কার্যকারিতা অনুকূলিতকরণে সহায়তা করে।
নমনীয়তাঃ একাধিক নিয়মিত প্যারামিটার ব্যবসায়ীদের বিভিন্ন বাজার পরিস্থিতি এবং ব্যক্তিগত পছন্দ অনুসারে অপ্টিমাইজ করার অনুমতি দেয়।
প্যারামিটার সংবেদনশীলতা: কৌশলটির কার্যকারিতা অত্যন্ত নির্ভর করে ইনপুট প্যারামিটারগুলির পছন্দ এবং অনুপযুক্ত প্যারামিটার সেটগুলি অত্যধিক লেনদেন বা গুরুত্বপূর্ণ সুযোগগুলি মিস করতে পারে।
বাজারের অবস্থার উপর নির্ভরশীলতাঃ বাজারের অস্থিরতার মধ্যে, কৌশলগুলি ঘন ঘন মিথ্যা সংকেত তৈরি করতে পারে, যার ফলে ধারাবাহিক ক্ষতি হয়।
স্লাইড পয়েন্টের ঝুঁকিঃ দ্রুত চলমান বাজারে, প্রকৃত কার্যকর মূল্য সংকেত মূল্যের থেকে উল্লেখযোগ্যভাবে ভিন্ন হতে পারে।
ওভার অপ্টিমাইজেশনের ঝুঁকিঃ ঐতিহাসিক তথ্যের সাথে সামঞ্জস্যপূর্ণ প্যারামিটারগুলিকে অতিরিক্তভাবে সামঞ্জস্য করার ফলে ভবিষ্যতে রিয়েল-ডিস্কের কর্মক্ষমতা প্রভাবিত হতে পারে।
প্রযুক্তিগত ত্রুটিঃ জটিল প্রযুক্তিগত সূচক গণনার উপর নির্ভর করে, সিস্টেমের ত্রুটি বা ডেটা ত্রুটিগুলি ভুল লেনদেনের সিদ্ধান্তের কারণ হতে পারে।
এই ঝুঁকি কমানোর জন্য, নিম্নলিখিত পরামর্শ দেওয়া হচ্ছেঃ
ডায়নামিক প্যারামিটার অ্যাডজাস্টমেন্টঃ বাজারের অস্থিরতার উপর ভিত্তি করে EMA দৈর্ঘ্য এবং থ্রেশহোল্ড স্বয়ংক্রিয়ভাবে সামঞ্জস্য করার জন্য একটি অভিযোজিত প্যারামিটার অ্যাডজাস্টমেন্ট প্রক্রিয়া উপলব্ধ।
ফিল্টার যোগ করুনঃ অতিরিক্ত প্রযুক্তিগত বা মৌলিক সূচকগুলি ফিল্টার হিসাবে সংকেতের গুণমান উন্নত করতে।
মেশিন লার্নিং ইন্টিগ্রেশনঃ মেশিন লার্নিং অ্যালগরিদম ব্যবহার করে প্যারামিটার নির্বাচন এবং সিগন্যাল জেনারেশন প্রক্রিয়া অপ্টিমাইজ করা।
মাল্টি-প্রজাতির প্রাসঙ্গিকতা বিশ্লেষণঃ একাধিক প্রজাতির উপর ভিত্তি করে ডেটা বিবেচনা করে, যা একটি বিস্তৃত বাজার দৃষ্টিভঙ্গি প্রদান করে।
নিউজ ইভেন্ট ইন্টিগ্রেশনঃ নিউজ ইভেন্ট অ্যানালিটিক্স ফাংশন যোগ করা, গুরুত্বপূর্ণ অর্থনৈতিক তথ্য প্রকাশের সময় কৌশলগত আচরণকে সমন্বিত করা।
অস্থিরতা সমন্বয়ঃ বাজারের অস্থিরতার গতিশীলতার উপর ভিত্তি করে লক্ষ্য শতাংশ এবং ক্ষতির স্তরের সমন্বয়।
ঝুঁকি ব্যবস্থাপনার উন্নতিঃ আরো জটিল পজিশন ব্যবস্থাপনা এবং ঝুঁকি নিয়ন্ত্রণের কৌশল যেমন অস্থিরতার উপর ভিত্তি করে পজিশন সমন্বয়।
এই অপ্টিমাইজেশানগুলি কৌশলগুলির অভিযোজনযোগ্যতা এবং স্থিতিশীলতা উন্নত করার লক্ষ্যে তৈরি করা হয়েছে, যাতে তারা বিভিন্ন বাজারের অবস্থার মধ্যে ভাল পারফরম্যান্স বজায় রাখতে পারে।
লরেঞ্জ শ্রেণিবদ্ধকরণ মাল্টি টাইম ফ্রেমওয়ার্ক টার্গেট কৌশল হল একটি সমন্বিত ট্রেডিং সিস্টেম যা উন্নত প্রযুক্তিগত বিশ্লেষণ পদ্ধতি এবং বুদ্ধিমান ঝুঁকি ব্যবস্থাপনা ব্যবস্থাকে সংযুক্ত করে। মাল্টি টাইম ফ্রেমওয়ার্ক বিশ্লেষণ, গতিশীল প্রবণতা সনাক্তকরণ এবং টার্গেট মূল্য অপ্টিমাইজেশনের মাধ্যমে এই কৌশলটি বিভিন্ন বাজারের অবস্থার মধ্যে স্থিতিশীল ট্রেডিং পারফরম্যান্স অর্জনের সম্ভাবনা রয়েছে। তবে, এটি প্যারামিটার সংবেদনশীলতা এবং বাজারের নির্ভরতার মতো চ্যালেঞ্জগুলির মুখোমুখিও হয়। ক্রমাগত অপ্টিমাইজেশন এবং ঝুঁকি পরিচালনার মাধ্যমে, সম্ভাব্য ঝুঁকিগুলি কার্যকরভাবে নিয়ন্ত্রণ করার সময় ব্যবসায়ীরা এই কৌশলটির সুবিধাগুলি পুরোপুরি ব্যবহার করতে পারে। ভবিষ্যতের বিকাশের দিকনির্দেশগুলি ক্রমাগত পরিবর্তিত বাজারের পরিবেশের সাথে খাপ খাইয়ে নিতে কৌশলগুলির স্ব-অনুন্বেষণযোগ্যতা এবং বুদ্ধিমানের স্তর বাড়ানোর উপর ফোকাস করা উচিত।
/*backtest
start: 2023-07-31 00:00:00
end: 2024-07-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Lorenzian Classification Strategy with Target and Multi-Timeframe", overlay=true)
// Input parameters
length = input.int(5, "Lorenzian Length", minval=1)
threshold = input.float(1.0, "Threshold", step=0.1)
lookback = input.int(3, "Lookback Candles", minval=1, maxval=20)
targetPercentage = input.float(1.5, "Target Percentage (%)", step=0.1) // Target percentage for exit
higherTimeframe = input.timeframe("D", "Higher Timeframe") // Higher timeframe for multi-timeframe analysis
// Lorenzian Classification calculation for current timeframe
ema1 = ta.ema(hlc3, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
d = ema1 - ema2
ci = d / (0.015 * ta.ema(math.abs(d), length)) * 100
lorenzian = ema3 + ci
// Lorenzian Classification calculation for higher timeframe
hlc3_htf = request.security(syminfo.tickerid, higherTimeframe, (high + low + close)/3 )
ema1_htf = ta.ema(hlc3_htf, length)
ema2_htf = ta.ema(ema1_htf, length)
ema3_htf = ta.ema(ema2_htf, length)
d_htf = ema1_htf - ema2_htf
ci_htf = d_htf / (0.015 * ta.ema(math.abs(d_htf), length)) * 100
lorenzian_htf = ema3_htf + ci_htf
// Signal generation
crossUp = ta.crossover(close, lorenzian)
crossDown = ta.crossunder(close, lorenzian)
// Determine color based on price position relative to the line
lineColor = close > ema3 ? color.green : color.red
lineColorH = close > ema3_htf ? color.blue : color.red
// Plot the line with dynamic color
plot(ema3, color=lineColor, title="EMA3", linewidth=2)
plot(ema3_htf, color=lineColorH, title="EMA3 HTF", linewidth=2)
// Function to check for opposite movement
oppositeMove(isLong) =>
if isLong
lowest = ta.lowest(low, lookback)
lowest < lorenzian[lookback]
else
highest = ta.highest(high, lookback)
highest > lorenzian[lookback]
// Generate buy and sell signals
buySignal = crossUp and oppositeMove(true)
sellSignal = crossDown and oppositeMove(false)
// Calculate and manage target price
var float targetPrice = na
var float plotTargetPrice = na
var float entryPrice = na
// Variables to track trade outcomes
var int targetMet = 0
var int targetNotMet = 0
var int totalTrades = 0
if (buySignal)
strategy.entry("Buy", strategy.long)
entryPrice := close
targetPrice := entryPrice * (1 + targetPercentage/100)
plotTargetPrice := targetPrice
totalTrades := totalTrades + 1
if (sellSignal)
strategy.entry("Sell", strategy.short)
entryPrice := close
targetPrice := entryPrice * (1 - targetPercentage/100)
plotTargetPrice := targetPrice
totalTrades := totalTrades + 1
// Check if target price is met to exit
if (not na(targetPrice))
if (strategy.position_size > 0 and high >= targetPrice) // Long position exit condition
strategy.close("Buy")
targetPrice := na
entryPrice := na
targetMet := targetMet + 1
else if (strategy.position_size > 0 and low < entryPrice * (1 - targetPercentage/100)) // Stop loss for long
strategy.close("Buy")
targetPrice := na
entryPrice := na
targetNotMet := targetNotMet + 1
if (strategy.position_size < 0 and low <= targetPrice) // Short position exit condition
strategy.close("Sell")
targetPrice := na
entryPrice := na
targetMet := targetMet + 1
else if (strategy.position_size < 0 and high > entryPrice * (1 + targetPercentage/100)) // Stop loss for short
strategy.close("Sell")
targetPrice := na
entryPrice := na
targetNotMet := targetNotMet + 1
// Reset plotTargetPrice when position is closed
if (strategy.position_size == 0)
plotTargetPrice := na
// Plot signals and target price
plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.purple, style=shape.triangledown, size=size.small)
plot(plotTargetPrice, color=color.yellow, title="Target Price", style=plot.style_circles, linewidth=2)
// Add alerts
alertcondition(buySignal, title="Buy Signal", message="Lorenzian Buy Signal")
alertcondition(sellSignal, title="Sell Signal", message="Lorenzian Sell Signal")
// Calculate success percentage
successPercentage = totalTrades > 0 ? (targetMet / totalTrades) * 100 : 0
// Create a table to display trade outcomes
var table tradeStats = table.new(position.top_right, 2, 3, border_width=1)
table.cell(tradeStats, 0, 0, "Targets Met", bgcolor=color.new(color.green, 30))
table.cell(tradeStats, 1, 0, "Targets Missed", bgcolor=color.new(color.red, 30))
table.cell(tradeStats, 0, 1, str.tostring(targetMet), bgcolor=color.new(color.green, 30))
table.cell(tradeStats, 1, 1, str.tostring(targetNotMet), bgcolor=color.new(color.red, 30))
table.cell(tradeStats, 0, 2, "Success Rate", bgcolor=color.new(color.blue, 30))
table.cell(tradeStats, 1, 2, str.tostring(successPercentage, "#.##") + "%", bgcolor=color.new(color.blue, 30))