
মাল্টিপল মিডল লাইন ট্রেন্ড ক্যাপচার এবং ক্রস কনফার্মেশন ট্রেডিং সিস্টেম হল একটি পরিমাণগত ট্রেডিং কৌশল যা মাল্টি-পিরিয়ড সূচক মুভিং এভারেজ ((EMA) এর উপর ভিত্তি করে তৈরি করা হয়, যা তুলনামূলকভাবে দুর্বল সূচক ((RSI), মুভিং এভারেজ ট্রেন্ড ডিফারেনশিয়াল ((MACD) এবং গড় সত্যিকারের ব্যাপ্তি ((ATR) সহকারী সূচক হিসাবে ব্যবহার করে। এই কৌশলটির মূলটি হ’ল বিভিন্ন সময়কালের বিভিন্ন সময়কালের মিডল লাইন অবস্থান সম্পর্ককে তুলনা করে বাজারের ট্রেন্ডের দিকনির্দেশ নির্ধারণ করা এবং যখন প্রবণতা স্পষ্ট হয় তখন পজিশন খোলার এবং যখন প্রবণতা দুর্বল হয় বা বিপরীত হয় তখন পজিশন সমতল করা। কৌশলটি বিশেষত বহু-পিরিয়ডের জন্য ডিজাইন করা হয়েছে প্রবণতা নিশ্চিতকরণ প্রক্রিয়া, স্বল্পমেয়াদী মিডল লাইন এবং দীর্ঘমেয়াদী লাইনের অবস্থান সম্পর্ক দ্বারা প্রবণতার শক্তি এবং স্থায়িত্বের বিচার করে,
এই কৌশলটির মূল নীতিটি হ’ল বিভিন্ন পিরিয়ডের সূচকীয় চলমান গড় (ইএমএ) ব্যবহার করে বাজারের প্রবণতা নির্ধারণ এবং ব্যবসায়ের সুযোগগুলি ক্যাপচার করা। কৌশলটিতে পাঁচটি ইএমএ ব্যবহার করা হয়ঃ তাত্ক্ষণিক গড় (১৪ টি চক্র), মধ্যবর্তী গড় (২৫ টি চক্র), স্বল্পমেয়াদী গড় (৫০ টি চক্র), মধ্যবর্তী গড় (১০০ টি চক্র) এবং দীর্ঘমেয়াদী গড় (২০০ টি চক্র) ।
কৌশলটির মূল যুক্তি হলঃ
প্রবণতা নির্ণয় প্রক্রিয়া:
প্রবেশের সংকেত:
প্রস্থান সংকেত:
ঝুঁকি নিয়ন্ত্রণ:
অবস্থান ট্র্যাক:
মাল্টিপল মিডল লাইন নিশ্চিতকরণ: বিভিন্ন সময়কালের সমান্তরাল লাইনের মাধ্যমে প্রবণতা নিশ্চিত করা, মিথ্যা বিরতি এবং ভুল সংকেত হ্রাস করা, সংকেতের গুণমান উন্নত করা।
ট্রেন্ড সনাক্তকরণ: একক সমান্তরাল সিস্টেমের তুলনায়, মাল্টি-সমান্তরাল সিস্টেমগুলি বাজার প্রবণতার বিপরীত দিকগুলিকে আরও সঠিকভাবে সনাক্ত করতে পারে, বিশেষত যখন তাত্ক্ষণিক সমান্তরাল অন্যান্য সমান্তরালের তুলনায় পরিবর্তিত হয়।
নমনীয় ঝুঁকি ব্যবস্থাপনা: মল্টিপল ও বামপন্থী ট্রেডিংয়ের জন্য আলাদা এন্ট্রি এবং আউটরিচ স্ট্যান্ডার্ড ব্যবহার করা হয়েছে, যা বাজারের বিভিন্ন দিকের ঝুঁকির ক্ষেত্রে বৈষম্যমূলক আচরণকে প্রতিফলিত করে। বামপন্থী ট্রেডিংয়ের জন্য অতিরিক্ত ওঠানামা ফিল্টার রয়েছে।
ভিজ্যুয়াল ট্রেডিং সিগন্যালকৌশলঃ ক্রয়, বিক্রয় এবং পজিশন পয়েন্টগুলি গ্রাফিকাল ট্যাগিংয়ের মাধ্যমে স্পষ্টভাবে প্রদর্শিত হয়, যা পর্যবেক্ষণ বিশ্লেষণ এবং রিয়েল-টাইম পর্যবেক্ষণকে সহজ করে তোলে।
ট্রেন্ড ব্যাকগ্রাউন্ড ভিজ্যুয়ালাইজেশন: ব্যাকগ্রাউন্ড রঙ ব্যবহার করে উত্থান এবং পতনের প্রবণতা আলাদা করে, বাজারের পরিবেশকে স্বজ্ঞাতভাবে প্রদর্শন করে, যা ব্যবসায়ীদের বর্তমান বাজারের অবস্থা দ্রুত বিচার করতে সহায়তা করে।
সম্ভাব্য সম্প্রসারণযোগ্যতা: আরএসআই এবং এমএসিডি সূচকগুলির গণনা একত্রিত করা হয়েছে, যদিও এটি বর্তমানে ট্রেডিং লজিকের মধ্যে ব্যবহৃত হয় না, তবে কৌশলটির ভবিষ্যতের অপ্টিমাইজেশনের জন্য ভিত্তি সরবরাহ করে।
প্যারামিটার সমন্বয়যোগ্যতা: সমস্ত মূল প্যারামিটারগুলি ইনপুট কন্ট্রোলের মাধ্যমে সামঞ্জস্য করা যায়, যার মধ্যে গড় লাইন চক্র, আরএসআই থ্রেশহোল্ড, এমএসিডি প্যারামিটার এবং এটিআর সেটিং রয়েছে, যা বিভিন্ন বাজার পরিস্থিতি এবং লেনদেনের জাতের জন্য অনুকূলিতকরণের সুবিধা দেয়।
গড় রেখা পিছিয়ে যাওয়া: সমস্ত সমান্তরাল ভিত্তিক সিস্টেমগুলির একটি নির্দিষ্ট পিছিয়ে থাকা রয়েছে, ঝাঁকুনি বা দ্রুত বিপরীতমুখী ট্রেডিংয়ের সময় একটি বড় প্রত্যাহার হতে পারে। সমাধানটি হ’ল সমান্তরাল চক্রটি সামঞ্জস্য করা বা অতিরিক্ত ঝাঁকুনি বাজার ফিল্টার শর্ত যুক্ত করা।
অতিরিক্ত লেনদেনের ঝুঁকি: অস্থির বাজারে, তাত্ক্ষণিক গড় প্রায়শই স্বল্পমেয়াদী গড়ের মধ্য দিয়ে অতিক্রম করতে পারে, যার ফলে অত্যধিক লেনদেন হয়। ন্যূনতম হোল্ডিং সময় বাড়িয়ে বা অতিরিক্ত ফিল্টার যুক্ত করে অকার্যকর লেনদেন হ্রাস করা যেতে পারে।
বিভিন্ন বাজার অভিযোজনযোগ্যতা সমস্যা: স্থির পরামিতিগুলির সমান্তরাল কৌশলগুলি বিভিন্ন বাজার পরিবেশ এবং লেনদেনের জাতের উপর ব্যাপক বৈচিত্র্য দেখায়। নির্দিষ্ট বাজারগুলির জন্য প্যারামিটার অপ্টিমাইজেশন করা উচিত, বা স্বনির্ধারিত প্যারামিটারগুলি ব্যবহার করার কথা বিবেচনা করা উচিত।
সংকেত সংঘর্ষ: কোডটি RSI এবং MACD সূচকগুলি গণনা করে, তবে ট্রেডিং লজিকের মধ্যে কার্যকরভাবে সংহত করা হয় না, যার ফলে সম্ভাব্য সংকেত সংঘর্ষ বা অপ্টিমাইজেশনের সুযোগ মিস হতে পারে।
বহু মাথা পক্ষপাত: বর্তমান কৌশলগুলি মাল্টি-হেড এবং হরফের জন্য আলাদা মানদণ্ড ব্যবহার করে, মাল্টি-হেডের কোনও ওঠানামা ফিল্টার নেই, এবং হরফের জন্য ন্যূনতম এটিআর শর্ত পূরণ করা প্রয়োজন, যা কৌশলগুলিকে উত্থান বাজারে আরও বেশি আগ্রাসী করে তুলতে পারে এবং ঝুঁকির ফাঁক বাড়িয়ে তুলতে পারে।
স্থির আউট প্রক্রিয়া: কৌশলটি একটি নির্দিষ্ট প্রযুক্তিগত সূচক ক্রসকে প্রারম্ভিক পয়েন্ট হিসাবে ব্যবহার করে এবং বাজারের গতিশীলতার সাথে সামঞ্জস্যপূর্ণ একটি স্টপ-অফ-লস প্রক্রিয়া নেই যা মুনাফা কার্যকরভাবে লক করতে বা ঝুঁকি নিয়ন্ত্রণ করতে পারে না।
পরামিতি সংবেদনশীলতা: কৌশলটি একাধিক গড়-রেখার সময়কালের প্যারামিটারগুলির উপর নির্ভর করে, এই প্যারামিটারগুলির ক্ষুদ্র পরিবর্তনগুলি ব্যবসায়ের ফলাফলের মধ্যে উল্লেখযোগ্য পার্থক্য সৃষ্টি করতে পারে, ওভারফিট হওয়ার ঝুঁকি বাড়ায়।
গণনা করা পরিমাপকে একত্রিত করাকৌশলটি RSI এবং MACD সূচকগুলি গণনা করে তবে তাদের যথাযথভাবে ব্যবহার করে না। RSI চরম বাজার পরিস্থিতি ফিল্টার করতে ব্যবহার করা যেতে পারে, MACD প্রবণতা দিকনির্দেশ নিশ্চিত করতে এবং সংকেতের গুণমান উন্নত করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি চাইতে পারেন যে RSI ওভারবয়েড অঞ্চলে না থাকে যখন মাল্টিহেড প্রবেশ করে এবং RSI ওভারসোল্ড অঞ্চলে না থাকে যখন খালি হেড প্রবেশ করে।
গতিশীল ক্ষতি প্রতিরোধ ব্যবস্থা: এটিআর-ভিত্তিক গতিশীল স্টপ মেশিনের প্রবর্তন, বাজার অস্থিরতার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে স্টপ দূরত্বের সমন্বয় করে, ঝুঁকি ব্যবস্থাপনার ক্ষমতা উন্নত করে। এটি প্রবেশের পয়েন্ট পয়েন্টের গণনা এবং একটি নির্দিষ্ট সংখ্যক গুণিতক দ্বারা এটিআর মান হ্রাস করে এটি অর্জন করা যেতে পারে।
বাজার অবস্থা শ্রেণীবিভাগ: বাজার অবস্থার বিচার করার জন্য একটি বিচার ব্যবস্থা যোগ করুন (ট্রেন্ডিং বাজার বনাম ঝড়ের বাজার) বিভিন্ন বাজার অবস্থার জন্য বিভিন্ন ট্রেডিং কৌশল গ্রহণ করুন। উদাহরণস্বরূপ, দীর্ঘমেয়াদী গড়ের প্রান্তিকতা বা এডিএক্স সূচক দ্বারা বাজার প্রবণতার শক্তি বিচার করা যেতে পারে।
মাল্টি টাইম ফ্রেম বিশ্লেষণ: উচ্চতর সময়কালের প্রবণতা তথ্য একত্রিত করুন, শুধুমাত্র উচ্চতর সময়কালের প্রবণতা দিক একমত হলে ট্রেড করুন, বিজয়ী হার বাড়ান।
গড় রেখার মান অপ্টিমাইজ করুন: বর্তমান কৌশলটি স্থির গড়-রেখার সময়কাল ব্যবহার করে ((14, 25, 50, 100, 200), যা বিভিন্ন প্যারামিটার সমন্বয়কে পুনরায় পরীক্ষা করে একটি নির্দিষ্ট বাজারের জন্য আরও উপযুক্ত সর্বোত্তম প্যারামিটার খুঁজে পেতে পারে।
যোগদান নিশ্চিতকরণ: ট্রেডিং-এর মাত্রা নিশ্চিত করার জন্য ট্রেডিং-এর মাত্রা সূচকগুলিকে একত্রিত করা, শুধুমাত্র ট্রেডিং-এর মাত্রা সমর্থিত ট্রেডিং-এর মধ্যে ট্রেড করা, মিথ্যা-ব্রেকিংয়ের ফলে ক্ষতি হ্রাস করা।
প্রবেশের শর্ত পরিবর্তন: মাল্টিহেড এবং ফাঁকা হেডের প্রবেশের লজিককে আরও সমান্তরাল করে তোলা, বা বিভিন্ন বাজার দিকের বৈশিষ্ট্যগুলির জন্য আরও সূক্ষ্ম সমন্বয় করা। উদাহরণস্বরূপ, মাল্টিহেড প্রবেশের সময় ওভাররাইটিং ফিল্টার বাড়ানো বা প্রবণতা স্বীকৃতির কঠোরতা সামঞ্জস্য করার বিষয়টি বিবেচনা করা যেতে পারে।
সময় ফিল্টার যুক্ত করুন
মাল্টিপল মিডলাইন ট্রেন্ড ক্যাপচার এবং ক্রস কনফার্মেশন ট্রেডিং সিস্টেম একটি প্রযুক্তিগত বিশ্লেষণের উপর ভিত্তি করে একটি পরিমাণগত ট্রেডিং কৌশল যা বিভিন্ন সময়কালের সমান্তরাল সমন্বয় দ্বারা বাজারের প্রবণতা নির্ধারণ করে এবং প্রবণতা স্পষ্ট হলে পজিশন খোলার এবং প্রবণতা দুর্বল হলে পজিশন খোলার। কৌশলটির মূল সুবিধা হল মাল্টিপল মিডলাইন ক্রস কনফার্মেশন ট্রেন্ড ব্যবহার করা, ত্রুটিপূর্ণ সংকেত হ্রাস করা এবং লেনদেনের গুণমান উন্নত করা।
এই কৌশলটি স্পষ্ট প্রবণতাযুক্ত বাজারে ভাল কাজ করে, তবে অস্থির বাজারে অতিরিক্ত ব্যবসায়ের ঝুঁকির সম্মুখীন হতে পারে। কৌশলটির স্থিতিশীলতা এবং অভিযোজনশীলতা আরও বাড়ানো যেতে পারে RSI এবং MACD সূচকগুলির সাথে সংযুক্ত করে, একটি গতিশীল স্টপ-অফ ব্যবস্থা চালু করে, গড় প্যারামিটার প্যাকেজটি অপ্টিমাইজ করে এবং বাজার অবস্থার শ্রেণিবদ্ধকরণ বাড়ায়।
বাস্তব প্রয়োগের জন্য, বিভিন্ন বাজার পরিবেশ এবং লেনদেনের জাতের উপর পর্যাপ্ত প্রতিক্রিয়া জানানো, নির্দিষ্ট বাজারের বৈশিষ্ট্য অনুসারে প্যারামিটারগুলি সামঞ্জস্য করা এবং তহবিল পরিচালনার কৌশলগুলির সাথে একক লেনদেনের ঝুঁকি নিয়ন্ত্রণের পরামর্শ দেওয়া হয়। এছাড়াও, এই কৌশলটি একটি পোর্টফোলিওর অংশ হিসাবে বিবেচনা করা যেতে পারে, অন্যান্য পরিপূরক কৌশলগুলির সাথে মিলিতভাবে ব্যবহার করা, লেনদেনের ঝুঁকি বিচ্ছিন্ন করা এবং সামগ্রিক পোর্টফোলিওর স্থিতিশীলতা বাড়ানো।
/*backtest
start: 2025-02-23 00:00:00
end: 2025-03-02 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("etude9", shorttitle="etude 9", overlay=true)
//on tente de comlbiner avec le RSi un stratégie pas si mauvaise sur les longs
// un d7 r rsi qui donne des indiciataions pas mal pour les short pour les long pas très concluant
// === Paramètres d'entrée ===
// Source de prix
// et merde rendement sur long est plus efficace sans condition sur ATR !!
// par contre j'ai l'imression que le rsi ça va être bien pour les shorts
// bon avec le RSi ça donne rien, et avec le macd, ç ce stade c'est foireux mmm
pricetype = input(close, title="Source de prix pour les moyennes mobiles")
// Périodes des moyennes mobiles
instant = input(14, title="Période de la moyenne instantanée (10)")
interm = input(25, title="Perdiode intermediaire (25)")
shortperiod = input(50, title="Période de la moyenne mobile courte (20)")
mediumperiod = input(100, title="Période de la moyenne mobile moyenne (50)")
longperiod = input(200, title="Période de la moyenne mobile longue (100)")
// Paramètres du RSI
rsi_length = input.int(14, title="Période RSI")
rsi_overbought = input.int(78, title="Niveau de surachat (RSI)")
rsi_oversold = input.int(30, title="Niveau de survente (RSI)")
// Paramètres pour le MACD
fast_length = input.int(12, title="Longueur Rapide MACD")
slow_length = input.int(26, title="Longueur Lente MACD")
signal_length = input.int(9, title="Longueur du Signal MACD")
// Paramètres de l'ATR
atr_length = input.int(14, title="Période ATR")
atr_multiplier = input.float(1.5, title="Multiplicateur ATR pour le Stop-Loss")
// Calcul de l'ATR
atr = ta.atr(atr_length)
// === Calcul des moyennes mobiles (EMA uniquement) ===
instant_ma = ta.ema(pricetype, instant) // Moyenne mobile instantanée
short_ma = ta.ema(pricetype, shortperiod) // Moyenne mobile courte (20)
medium_ma = ta.ema(pricetype, mediumperiod) // Moyenne mobile moyenne (50)
long_ma = ta.ema(pricetype, longperiod) // Moyenne mobile longue (100)
interm_ma = ta.ema(pricetype, interm)
// Calcul du RSI
rsi = ta.rsi(close, rsi_length)
// Calcul du MACD
[macd_line, signal_line, hist_line] = ta.macd(close, fast_length, slow_length, signal_length)
// Stocker les résultats de crossover et crossunder dans des variables globales
is_crossover = ta.crossover(macd_line, signal_line)
is_crossunder = ta.crossunder(macd_line, signal_line)
// Filtre ATR : on ne trade que si la volatilité est suffisante
min_atr = atr > ta.sma(atr, atr_length) // ATR supérieur à sa moyenne
// === Conditions de tendance ===
trending_up = instant_ma > short_ma and instant_ma > medium_ma and instant_ma > long_ma and short_ma > medium_ma // Tendance haussière
trending_down = instant_ma< short_ma and instant_ma<medium_ma and instant_ma<long_ma and short_ma<long_ma // Tendance baissière
// Filtre RSI
rsi_filter_buy = rsi < rsi_overbought // RSI n'est pas en surachat pour un achat
rsi_filter_sell = rsi > rsi_oversold // RSI n'est pas en survente pour une vente
// === Gestion des positions ===
var bool in_position = false // Variable pour suivre si une position est ouverte
var bool is_long = false // Variable pour suivre si la position est longue ou courte
// === Signaux d'ouverture et de fermeture ===
bool buy_signal = false // Signal d'ouverture d'une position longue
bool close_signal = false // Signal de fermeture d'une position longue
bool sell_signal = false // Signal d'ouverture d'une position courte
bool close_short_signal = false // Signal de fermeture d'une position courte
// Ouvrir une position longue
if (trending_up and not in_position)
strategy.entry("Long", strategy.long)
in_position := true
is_long := true
buy_signal := true // Signal d'ouverture
else
buy_signal := false
// Fermer la position longue si instant_ma < medium_ma
if (in_position and is_long and instant_ma < short_ma)
strategy.close("Long")
in_position := false
is_long := false
close_signal := true // Signal de fermeture
else
close_signal := false
// Ouvrir une position courte
if (trending_down and not in_position and min_atr)
strategy.entry("Short", strategy.short)
in_position := true
is_long := false
sell_signal := true // Signal d'ouverture
else
sell_signal := false
// Fermer la position courte si instant_ma > medium_ma
if (in_position and not is_long and instant_ma > medium_ma)
strategy.close("Short")
in_position := false
close_short_signal := true // Signal de fermeture
else
close_short_signal := false
// === Affichage des signaux sur le graphique ===
plotshape(series=buy_signal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="Buy", size=size.small)
plotshape(series=sell_signal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell", size=size.small)
plotshape(series=close_signal, title="Close Long Signal", location=location.abovebar, color=color.orange, style=shape.labeldown, text="Close Long", size=size.small)
plotshape(series=close_short_signal, title="Close Short Signal", location=location.belowbar, color=color.blue, style=shape.labelup, text="Close Short", size=size.small)
// === Affichage des moyennes mobiles sur le graphique ===
plot(short_ma, color=color.blue, title="Moyenne mobile courte (20)", linewidth=2)
plot(medium_ma, color=color.orange, title="Moyenne mobile moyenne (50)", linewidth=2)
plot(long_ma, color=color.red, title="Moyenne mobile longue (100)", linewidth=2)
plot(instant_ma, color=color.rgb(43, 14, 111), title="Moyenne mobile instantanée (10)", linewidth=2)
plot(interm_ma, color=color.rgb(26, 192, 34), title="Moyenne mobile instantanée (10)", linewidth=2)
// Coloration de fond pour les tendances
bgcolor(color=trending_up ? color.new(color.green, 90) : trending_down ? color.new(color.red, 90) : na, title="Coloration de fond")