
এই কৌশলটি চলমান গড়ের ক্রস, তুলনামূলকভাবে দুর্বল সূচক (RSI) এবং প্রচুর পরিমাণে বাণিজ্যের বৃহত্তর বিচারকে একত্রিত করে, উচ্চ বাণিজ্যের পরে দামের একটি নির্দিষ্ট পরিমাণে প্রত্যাবর্তন ক্যাপচার করার সময় অতিরিক্ত খালি অবস্থান তৈরি করে এবং বিভিন্ন অনুপাতের লাভকে লক করার জন্য তিনটি ধারাবাহিক স্টপ কার্ড সেট করে। এই কৌশলটিতে একটি বিকল্প ট্র্যাকিং স্টপ লস বৈশিষ্ট্য রয়েছে যাতে দামগুলি আরও অনুকূল পরিবর্তনের সুযোগ নেয়।
দ্রুত চলমান গড় এবং ধীর চলমান গড়ের গোল্ডেন ক্রসগুলি প্রবণতা পরিবর্তনের সূচনার জন্য একটি প্রাথমিক সংকেত সরবরাহ করে। আরএসআই সূচকটি ওভার-বয় ওভার-সেলের অবস্থা মূল্যায়নের জন্য ব্যবহৃত হয়, যা সংকেত স্থিতিশীলতা নিশ্চিত করার জন্য এই পরিস্থিতিতে প্রবেশের সংকেতগুলি এড়াতে সহায়তা করে। যখন লেনদেনের পরিমাণ গড়ের তুলনায় উল্লেখযোগ্যভাবে বেশি হয়, তখন বাজারের মনোযোগ কোনও সম্ভাব্য দামের পরিবর্তনের দ্বারা প্ররোচিত হয়। এই লেনদেনের পরিমাণের তীব্রতা বাজারে প্রবেশের সংকেতকে শক্তিশালী করে। লেনদেনের পরিমাণ এবং দামের উত্থানের পরে, যখন দাম এবং লেনদেনের পরিমাণ নির্দিষ্ট স্তরে ফিরে আসে, তখন একাধিক সংকেত ট্রিপল স্টপ ইউনিট সেট করা হয়। প্রতিটি স্টপ লেভেলের জন্য একটি লাভজনক লক্ষ্যমাত্রা রয়েছে। এছাড়াও, প্রতিটি স্টপ লিস্টের জন্য স্টপ লস ট্র্যাকিং বৈশিষ্ট্যটি সেট করা যেতে পারে।
খালি করার সংকেত প্রাপ্তি এবং স্টপ-আউট প্রিন্সিপলটি পল্টু করার মতোই, এখানে আর আলোচনা করা হবে না। এটি উল্লেখ করা দরকার যে এই কৌশলটি একই সাথে পল্টু এবং খালি করার ক্ষমতা রাখে।
এই কৌশলটির কয়েকটি প্রধান সুবিধা রয়েছেঃ
আরএসআই সূচকগুলির সাথে ক্রস-এভারেজ লাইনের ক্রস-এভারেজ লাইনের সমন্বয় একটি শক্তিশালী সময় নির্ধারণের সিদ্ধান্ত তৈরি করে, অতিরিক্ত ক্রয় ও বিক্রয় অঞ্চলে পজিশন তৈরি করা এড়াতে এবং লাভের সম্ভাবনা বাড়িয়ে তোলে।
ট্রেডিং ভলিউমের বৃদ্ধিকে সহায়ক বিচার হিসাবে ব্যবহার করে, দামের ওঠানামার বৃহত্তর পরিমাণের সাথে ব্যবধানের বেছে নেওয়ার বিষয়টি নিশ্চিত করুন, সংকেতের নির্দেশক শক্তি বাড়ান।
দাম এবং লেনদেনের পরিমাণের একটি নির্দিষ্ট শতাংশের কৌশল অবলম্বন করে পজিশন তৈরি করা, বাজারে প্রবেশের সময়সীমা বাড়িয়ে দেয়, বিপরীত বা উত্তোলনের ভাল সুযোগগুলি দখল করে।
তিনটি ধারাবাহিক স্টপ কার্ড স্থাপন করা হয়েছে, যাতে মুনাফা লক করার জন্য মূল্যের ওঠানামা বাড়ানোর সুযোগটি ব্যবহার করা যায়। বিনিয়োগকারীরা তাদের ঝুঁকি গ্রহণের ক্ষেত্রে কয়েকটি স্টপ কার্ড ব্যবহার করতে পারেন।
বিকল্প ট্র্যাকিং স্টপ লস ফাংশন, যা বিনিয়োগকারীদের বাজার অস্থিরতার উপর ভিত্তি করে সক্রিয় করা বা না করার অনুমতি দেয় এবং একই সাথে জামিনের সাথে আরও বেশি লাভ অর্জন করতে পারে।
এই কৌশলটি একাধিক এবং শূন্য ট্রেডিংয়ের জন্য প্রযোজ্য, যা বাজার ওঠানামা এবং পতনের সময় উভয়ই লাভজনক, যা কৌশলটির ব্যবহারিকতা বৃদ্ধি করে।
যদিও এই কৌশলটি খুব ভালভাবে পরিকল্পিত, তবে যে কোনও আর্থিক পণ্যের লেনদেনের ঝুঁকি রয়েছে, তাই সতর্কতা অবলম্বন করুনঃ
ধীরে ধীরে গড় লাইন ক্রস সবসময় বাজারের গতিবিধি সম্পর্কে সঠিক বিচার করে না, এবং যদি গড় লাইন প্যারামিটারগুলি ভুলভাবে ব্যবহৃত হয় তবে একটি ভুল সংকেত দেখা যায়।
আরএসআই সূচক প্যারামিটারগুলি ভুলভাবে সেট করাও ওভার-বিক্রয় ওভার-বিক্রয় অঞ্চলে প্রবেশের কারণ হতে পারে। বাজার অনুসারে আরএসআই চক্রের প্যারামিটারগুলি সামঞ্জস্য করা উচিত।
লেনদেনের পরিমাণ বৃদ্ধি পুরোপুরি মূল্যের উল্লেখযোগ্য পরিবর্তনের সমান নয়, লেনদেনের পরিমাণের রেফারেন্স মানদণ্ড যথাযথভাবে সামঞ্জস্য করা যেতে পারে।
দাম এবং লেনদেনের পরিমাণের মধ্যে যেহেতু বড় বা ছোট হ্রাস রয়েছে, তাই এটি বাজারে প্রবেশের সময়কে প্রভাবিত করতে পারে।
স্টপ ওয়ারেন্টি গ্যারান্টি দেয় না যে স্টপ ওয়ারেন্টি সম্পূর্ণরূপে বিক্রি হবে, বাজার হঠাৎ পরিবর্তিত হতে পারে যা স্লাইড পয়েন্ট হতে পারে।
ট্র্যাকিং স্টপ লস যদি আপনি খুব বেশি পরিমাণে সেট করেন তবে আপনি খুব তাড়াতাড়ি স্টপ লস থেকে বেরিয়ে যেতে পারেন এবং আরও বেশি লাভ হারাতে পারেন।
উপরের ঝুঁকির জন্য, কোড অপ্টিমাইজেশান, প্যারামিটার সমন্বয় এবং কঠোর প্রতিক্রিয়া দ্বারা কৌশল স্থিতিশীলতা এবং নির্ভরযোগ্যতা নিশ্চিত করা প্রয়োজন।
এই কৌশলটি আরও উন্নত করার সুযোগ রয়েছেঃ
অন্যান্য সূচক যুক্ত করে, যেমন ব্রিনব্যান্ড, কেডি ইত্যাদি সূচকগুলির সমন্বয় ব্যবহার করে সংকেতের নির্ভুলতা আরও বাড়ানো যেতে পারে।
মেশিন লার্নিং পদ্ধতি যেমন এলএসটিএম এর সাথে ডায়নামিক মুভিং এভারেজ তৈরি করা, যা সাম্প্রতিক বাজার পরিস্থিতির উপর ভিত্তি করে গড়ের প্যারামিটারগুলিকে স্বয়ংক্রিয়ভাবে সামঞ্জস্য করতে পারে, যা প্রবণতা সম্পর্কে বিচার করার ক্ষমতা উন্নত করে।
বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ/স্টপ লস ডায়নামিক অ্যাডজাস্টমেন্ট ফাংশন যুক্ত করা হয়েছে, যাতে কৌশলটি স্বয়ংক্রিয়ভাবে বর্তমান বাজারের অস্থিরতার উপর ভিত্তি করে স্টপ ওয়ারেন্টি সামঞ্জস্য করতে পারে।
ডায়নামিক অ্যাডজাস্ট পদ্ধতি ব্যবহার করে, একটি বড় প্যাকেজের সামগ্রিক পতন এবং পৃথক শেয়ারের মধ্যে সম্পর্কের উপর ভিত্তি করে রিয়েল-টাইমে অপ্টিমাইজড রিবাউন্ড ফ্যাক্টর ব্যবহার করে, যাতে পজিশন স্থাপনের সর্বোত্তম সময় বেছে নেওয়া যায়।
মাল্টি-ফ্যাক্টর মডেলিং, সংবেদনশীলতা বিশ্লেষণ, সংযুক্ত নিয়ম বিশ্লেষণ এবং অন্যান্য বিকল্পগুলি ব্যবহার করে কৌশলগুলি প্রয়োগ করুন যা সর্বাধিক দামের প্রাসঙ্গিকতা এবং লেনদেনের পরিমাণের পরিবর্তনের জন্য প্রযোজ্য, কৌশলটির কার্যকারিতা উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারে।
এই কৌশলটি সামগ্রিকভাবে স্বল্প-রেখা বিনিয়োগকারীদের ব্যবহারের জন্য উপযুক্ত। অপ্টিমাইজড কৌশল বৈশিষ্ট্যগুলি আরও উন্নত এবং বুদ্ধিমান হবে, যার উচ্চতর বাস্তব যুদ্ধের প্রয়োগের মূল্য রয়েছে। একটি ইতিবাচক-অভিজ্ঞ পরিমাণগত ট্রেডিং কৌশল হিসাবে, এটি প্রচুর বিনিয়োগের রিটার্ন সরবরাহ করার সাথে সাথে ঝুঁকি হ্রাস করার চেষ্টা করবে এবং সত্যিকারের স্থিতিশীল হবে।
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Advanced Strategy with Volume and Price Retracement and Multi-Take Profit (USDT)", overlay=true)
// Parametreler
fastLength = input(12, minval=1, title="Fast Moving Average")
slowLength = input(26, minval=1, title="Slow Moving Average")
rsiPeriod = input(14, minval=1, title="RSI Period")
volLength = input(20, minval=1, title="Volume MA Length")
volMultiplier = input(2.0, title="Volume Spike Multiplier")
trailOffset = input(1, title="Trailing Offset (%)")
usdtPerTrade = input(50000, title="USDT per Trade")
retraceFactor = input(0.8, title="Retracement Factor for Entry")
takeProfit1 = input(1, title="Take Profit 1 (%)")
takeProfit2 = input(2, title="Take Profit 2 (%)")
takeProfit3 = input(3, title="Take Profit 3 (%)")
trailForTP = input(true, title="Use Trailing Stop for Take Profits")
// Hesaplamalar
fastMA = sma(close, fastLength)
slowMA = sma(close, slowLength)
rsi = rsi(close, rsiPeriod)
volMA = sma(volume, volLength)
volumeSpike = volume > volMA * volMultiplier
// Durum Değişkenleri ve Saklanan Değerler
var float spikeVolume = na
var float spikePrice = na
var int direction = 0
// Alım/Satım Sinyalleri
longCondition = crossover(fastMA, slowMA) and rsi < 70
shortCondition = crossunder(fastMA, slowMA) and rsi > 30
// Hacim Spike ve Fiyat Hareketinin Saklanması
if (longCondition and volumeSpike)
spikeVolume := volume
spikePrice := close
direction := 1
else if (shortCondition and volumeSpike)
spikeVolume := volume
spikePrice := close
direction := -1
// Retracement Kontrolü ve Giriş Emirleri
if (direction == 1 and volume < spikeVolume * retraceFactor and close < spikePrice * (1 - trailOffset / 100))
strategy.entry("Long", strategy.long, qty=usdtPerTrade / close)
spikeVolume := na
direction := 0
else if (direction == -1 and volume < spikeVolume * retraceFactor and close > spikePrice * (1 + trailOffset / 100))
strategy.entry("Short", strategy.short, qty=usdtPerTrade / close)
spikeVolume := na
direction := 0
// Take Profit Emirleri
if strategy.position_size > 0
strategy.exit("TP1", "Long", limit=strategy.position_avg_price * (1 + takeProfit1 / 100), qty_percent=33, trail_offset=trailForTP ? atr(14) / 2 : na)
strategy.exit("TP2", "Long", limit=strategy.position_avg_price * (1 + takeProfit2 / 100), qty_percent=33, trail_offset=trailForTP ? atr(14) : na)
strategy.exit("TP3", "Long", limit=strategy.position_avg_price * (1 + takeProfit3 / 100), qty_percent=34, trail_offset=trailForTP ? atr(14) * 1.5 : na)
if strategy.position_size < 0
strategy.exit("TP1", "Short", limit=strategy.position_avg_price * (1 - takeProfit1 / 100), qty_percent=33, trail_offset=trailForTP ? atr(14) / 2 : na)
strategy.exit("TP2", "Short", limit=strategy.position_avg_price * (1 - takeProfit2 / 100), qty_percent=33, trail_offset=trailForTP ? atr(14) : na)
strategy.exit("TP3", "Short", limit=strategy.position_avg_price * (1 - takeProfit3 / 100), qty_percent=34, trail_offset=trailForTP ? atr(14) * 1.5 : na)
// Pozisyon çıkışları
strategy.close("Long", when=shortCondition)
strategy.close("Short", when=longCondition)