
এটি একটি সমন্বিত ট্রেডিং কৌশল যা চলমান গড়ের ক্রস, সরবরাহ এবং চাহিদা অঞ্চল সনাক্তকরণ এবং গতিশীল স্টপ লস স্টপগুলিকে একত্রিত করে। এই কৌশলটি স্বল্প ও দীর্ঘমেয়াদী চলমান গড়ের ক্রসগুলির মাধ্যমে লেনদেনের দিকনির্দেশ দেয়, যখন সরবরাহ এবং চাহিদা অঞ্চলগুলিকে মূল্যের গুরুত্বপূর্ণ সমর্থন এবং প্রতিরোধের স্থান হিসাবে ব্যবহার করে এবং শতাংশের স্টপ লস স্টপগুলির সাথে ঝুঁকি পরিচালনা করে। কৌশলটির মূলটি হ’ল কেবলমাত্র নির্দিষ্ট সরবরাহ এবং চাহিদা অঞ্চলের আশেপাশে পজিশন খোলার ফলে লেনদেনের সাফল্যের সম্ভাবনা বৃদ্ধি পায়।
কৌশলটি ট্রেন্ডের দিকনির্দেশনা নির্ধারণের জন্য 9 এবং 21 চক্রের একটি সরল চলমান গড় (এসএমএ) ব্যবহার করে। যখন দাম চাহিদা অঞ্চলের (সমর্থন) 1% এর মধ্যে থাকে এবং স্বল্পমেয়াদী গড়টি দীর্ঘমেয়াদী গড়কে অতিক্রম করে তখন সিস্টেমটি একাধিক সংকেত দেয়; যখন দাম সরবরাহ অঞ্চলের (প্রতিরোধ) 1% এর মধ্যে থাকে এবং স্বল্পমেয়াদী গড়টি দীর্ঘমেয়াদী গড়কে অতিক্রম করে তখন সিস্টেমটি একটি ফাঁকা সংকেত দেয়। সরবরাহ অঞ্চলটি 50 টি চক্রের মধ্যে উল্লেখযোগ্য উচ্চ এবং নিম্নের উপর ভিত্তি করে চিহ্নিত করা হয় এবং এটির জন্য কমপক্ষে 2 টি মূল নিশ্চিতকরণের প্রয়োজন হয়। সিস্টেমটি স্বয়ংক্রিয়ভাবে দামের ভিত্তিতে গতিশীল স্টপ লস (ডিফল্ট 1%) এবং স্টপ লস (ডিফল্ট 2%) সেট করে।
এটি একটি কৌশলগত ব্যবস্থা যা ক্লাসিক প্রযুক্তিগত বিশ্লেষণ পদ্ধতির সাথে আধুনিক ঝুঁকি ব্যবস্থাপনার ধারণাকে একত্রিত করে। গুরুত্বপূর্ণ মূল্য অঞ্চলের কাছাকাছি ট্রেডিং করে এবং একটি চলমান গড় ক্রস সংকেতের সাথে মিলিত হয়ে কৌশলটি একটি অপেক্ষাকৃত নির্ভরযোগ্য ট্রেডিং ফ্রেমওয়ার্ক সরবরাহ করে। গতিশীল ক্ষতি স্টপ স্টপগুলির নকশাটি বিভিন্ন বাজার পরিবেশের সাথে খাপ খাইয়ে নিতে সহায়তা করে, তবে কৌশলটির বাস্তব প্রয়োগের জন্য নির্দিষ্ট বাজার বৈশিষ্ট্যগুলির উপর ভিত্তি করে অপ্টিমাইজ করা দরকার।
/*backtest
start: 2024-12-01 00:00:00
end: 2025-02-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("MA Crossover with Demand/Supply Zones + Stop Loss/Take Profit", overlay=true)
// Input parameters for Moving Averages
shortLength = input.int(9, title="Short MA Length", minval=1)
longLength = input.int(21, title="Long MA Length", minval=1)
// Input parameters for Demand/Supply Zones
zoneLookback = input.int(50, title="Zone Lookback Period", minval=10)
zoneStrength = input.int(2, title="Zone Strength (Candles)", minval=1)
// Input parameters for Stop Loss and Take Profit
stopLossPerc = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100
takeProfitPerc = input.float(2.0, title="Take Profit (%)", minval=0.1) / 100
// Calculate moving averages
shortMA = ta.sma(close, shortLength)
longMA = ta.sma(close, longLength)
// Plot moving averages
plot(shortMA, color=color.blue, title="Short MA")
plot(longMA, color=color.red, title="Long MA")
// Identify Demand and Supply Zones
var float demandZone = na
var float supplyZone = na
// Detect Demand Zones (Price makes a significant low and bounces up)
if (ta.lowest(low, zoneLookback) == low[zoneStrength] and close[zoneStrength] > open[zoneStrength])
demandZone := low[zoneStrength]
// Detect Supply Zones (Price makes a significant high and drops down)
if (ta.highest(high, zoneLookback) == high[zoneStrength] and close[zoneStrength] < open[zoneStrength])
supplyZone := high[zoneStrength]
// Draw Demand and Supply Zones using lines
var line demandLine = na
var line supplyLine = na
// Trade Logic: Only open trades near Demand/Supply Zones
isNearDemand = demandZone > 0 and close <= demandZone * 1.01 // Within 1% of demand zone
isNearSupply = supplyZone > 0 and close >= supplyZone * 0.99 // Within 1% of supply zone
// Calculate Stop Loss and Take Profit levels
stopLossLevel = strategy.position_avg_price * (1 - stopLossPerc) // Stop loss for long positions
takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPerc) // Take profit for long positions
stopLossLevelShort = strategy.position_avg_price * (1 + stopLossPerc) // Stop loss for short positions
takeProfitLevelShort = strategy.position_avg_price * (1 - takeProfitPerc) // Take profit for short positions
// Generate buy/sell signals based on MA crossover and zones
if (ta.crossover(shortMA, longMA) and isNearDemand)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=stopLossLevel, limit=takeProfitLevel)
if (ta.crossunder(shortMA, longMA) and isNearSupply)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=stopLossLevelShort, limit=takeProfitLevelShort)
// Optional: Plot buy/sell signals on the chart
plotshape(series=ta.crossover(shortMA, longMA) and isNearDemand, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=ta.crossunder(shortMA, longMA) and isNearSupply, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")