EMA1 - EMA2 এর দৈর্ঘ্য ৩. লরেন্সিয়ান লাইন = ইএমএ৩ + সিআই।
কৌশলটি বর্তমান সময়সীমা এবং একটি উচ্চতর সময়সীমার উভয় ক্ষেত্রেই লরেন্সিয়ান লাইন গণনা করে যা একটি বহু-মাত্রিক বাজার দৃষ্টিভঙ্গি সরবরাহ করে। ট্রেডিং সংকেতগুলি লরেন্সিয়ান লাইনের সাথে মূল্য ক্রসওভারের উপর ভিত্তি করে এবং একটি লুকব্যাক প্রক্রিয়া দ্বারা নিশ্চিত করা হয়। যখন দাম লরেন্সিয়ান লাইনের উপরে অতিক্রম করে এবং লুকব্যাক সময়ের মধ্যে সর্বনিম্ন মূল্য লরেন্সিয়ান লাইনের নীচে থাকে তখন একটি কেনার সংকেত ট্রিগার হয়; বিক্রয় সংকেত বিপরীত উপায়ে কাজ করে।
এই কৌশলটি একটি লক্ষ্য মূল্য প্রক্রিয়াও প্রবর্তন করে, যা ব্যবহারকারীর দ্বারা সংজ্ঞায়িত লক্ষ্য শতাংশের ভিত্তিতে প্রস্থান পয়েন্টগুলি নির্ধারণ করে। উপরন্তু, এটি ঝুঁকি নিয়ন্ত্রণের জন্য গতিশীল স্টপ-লস বাস্তবায়ন করে।
মাল্টি-টাইমফ্রেম বিশ্লেষণঃ বর্তমান এবং উচ্চতর সময়সীমার লরেন্সিয়ান লাইনগুলি একত্রিত করে, কৌশলটি আরও বিস্তৃত বাজারের প্রবণতা ক্যাপচার করে, মিথ্যা সংকেত হ্রাস করে।
গতিশীল প্রবণতা সনাক্তকরণঃ লরেন্সিয়ান শ্রেণীবিভাগ পদ্ধতি দ্রুত বাজারের পরিবর্তনের সাথে মানিয়ে নেয়, সংবেদনশীল প্রবণতা সনাক্তকরণের ক্ষমতা সরবরাহ করে।
সিগন্যাল নিশ্চিতকরণ প্রক্রিয়াঃ ট্রেডিং সিগন্যাল নিশ্চিত করার জন্য একটি লুকব্যাক সময়কাল ব্যবহার করা কার্যকরভাবে ভুল ট্রেডিংয়ের সম্ভাবনা হ্রাস করে।
লক্ষ্য মূল্য অপ্টিমাইজেশানঃ লক্ষ্য শতাংশ নির্ধারণ করে, কৌশল অনুকূল বাজারের অবস্থার মধ্যে মুনাফা সর্বাধিক করতে পারে।
ঝুঁকি ব্যবস্থাপনাঃ গতিশীল স্টপ-লস প্রক্রিয়া প্রবর্তন প্রতিটি ব্যবসায়ের জন্য ঝুঁকি কার্যকরভাবে নিয়ন্ত্রণ করে।
ভিজ্যুয়ালাইজেশন এবং পরিসংখ্যানঃ কৌশলটি স্বজ্ঞাত চার্ট প্রদর্শন এবং ট্রেড পরিসংখ্যান সরবরাহ করে, কৌশল কর্মক্ষমতা বিশ্লেষণ এবং অপ্টিমাইজেশান সহজতর করে।
নমনীয়তা: একাধিক সামঞ্জস্যযোগ্য পরামিতি ব্যবসায়ীদের বিভিন্ন বাজার পরিস্থিতি এবং ব্যক্তিগত পছন্দ অনুযায়ী কৌশলটি অনুকূল করতে দেয়।
প্যারামিটার সংবেদনশীলতাঃ কৌশলটির কার্যকারিতা ইনপুট প্যারামিটারগুলির পছন্দের উপর অত্যন্ত নির্ভরশীল। অনুপযুক্ত প্যারামিটার সেটিংগুলি অত্যধিক ট্রেডিং বা গুরুত্বপূর্ণ সুযোগগুলি হারাতে পারে।
বাজার অবস্থার উপর নির্ভরশীলতা: অস্থির বাজারগুলিতে, কৌশলটি প্রায়শই মিথ্যা সংকেত তৈরি করতে পারে, যার ফলে ধারাবাহিক ক্ষতি হতে পারে।
স্লিপিং ঝুঁকিঃ দ্রুত ওঠানামা বাজারে, প্রকৃত কার্যকর মূল্যগুলি সংকেত মূল্যের থেকে উল্লেখযোগ্যভাবে পৃথক হতে পারে।
অতিরিক্ত অপ্টিমাইজেশান ঝুঁকিঃ ঐতিহাসিক তথ্যের সাথে সামঞ্জস্য করার জন্য পরামিতিগুলির অত্যধিক সমন্বয়, ভবিষ্যতে লাইভ ট্রেডিং কর্মক্ষমতা প্রভাবিত করতে পারে।
প্রযুক্তিগত ত্রুটিঃ জটিল প্রযুক্তিগত সূচক গণনার উপর নির্ভর করে সিস্টেমের ত্রুটি বা ডেটা ত্রুটিগুলি ভুল ট্রেডিং সিদ্ধান্তের দিকে নিয়ে যেতে পারে।
এই ঝুঁকিগুলি হ্রাস করার জন্য, এটি সুপারিশ করা হয়ঃ
ডায়নামিক প্যারামিটার সমন্বয়ঃ বাজারের অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে 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))