
এই কৌশলটি স্বল্প-কালের এক্সপোনেনশিয়াল মুভিং এভারেজ (EMA) ক্রসওভার সিগন্যালের উপর ভিত্তি করে একটি উচ্চ-ফ্রিকোয়েন্সি ট্রেডিং সিস্টেম। এটি গতিশীল অবস্থান ব্যবস্থাপনা এবং কঠোর ঝুঁকি নিয়ন্ত্রণের মাধ্যমে স্বল্পমেয়াদী বাজারের ওঠানামা দ্রুত ক্যাপচার করার জন্য একটি অভিযোজিত অস্থিরতা ট্র্যাকিং প্রক্রিয়াকে একত্রিত করে। কৌশলটি 1 মিনিট বা 5 মিনিটের মতো ছোট সময়ের জন্য কাজ করে এবং সক্রিয় ব্যবসায়ীদের জন্য উপযুক্ত যারা ঘন ঘন ট্রেডিং সুযোগগুলি অনুসরণ করে।
কৌশলটির মূল যুক্তি দ্রুত EMA (3 পিরিয়ড) এবং ধীর EMA (8 পিরিয়ড) এর ক্রস সিগন্যালের উপর ভিত্তি করে। যখন দ্রুত লাইনটি ধীর লাইন অতিক্রম করে, একটি দীর্ঘ সংকেত উত্পন্ন হয় এবং যখন দ্রুত লাইনটি ধীর লাইনের নীচে অতিক্রম করে তখন একটি সংক্ষিপ্ত সংকেত তৈরি হয়। কৌশলটি বাজারের অস্থিরতা পরিমাপ করতে ATR সূচক ব্যবহার করে এবং গতিশীলভাবে সেই অনুযায়ী স্টপ লস এবং লাভের লক্ষ্য নির্ধারণ করে। সিস্টেম দুটি মোড সমর্থন করে: নির্দিষ্ট চুক্তি পরিমাণ ট্রেডিং এবং অ্যাকাউন্ট ইক্যুইটির উপর ভিত্তি করে গতিশীল অবস্থান ব্যবস্থাপনা। গতিশীল অবস্থান মোডে, প্রতিটি লেনদেনের ঝুঁকি অ্যাকাউন্ট ইক্যুইটির 0.5% এর মধ্যে নিয়ন্ত্রণ করা হয়। কৌশলটি 1.2 গুণের ঝুঁকি-থেকে-রিটার্ন অনুপাত ব্যবহার করে এবং 1.5 গুণ ATR-কে ট্রেলিং স্টপের ট্রেইলিং দূরত্বের সাথে একত্রিত করে।
এই কৌশলটি স্বল্প-কালের EMA ক্রসওভার সংকেত এবং গতিশীল ঝুঁকি ব্যবস্থাপনার সমন্বয় করে একটি সম্পূর্ণ উচ্চ-ফ্রিকোয়েন্সি ট্রেডিং সিস্টেম তৈরি করে। কৌশলটির সুবিধাগুলি দ্রুত প্রতিক্রিয়া এবং কঠোর ঝুঁকি নিয়ন্ত্রণের মধ্যে রয়েছে, তবে আপনাকে মিথ্যা সংকেত এবং লেনদেনের খরচের মতো বিষয়গুলিতেও মনোযোগ দিতে হবে। ক্রমাগত অপ্টিমাইজেশান এবং প্যারামিটার সমন্বয়ের মাধ্যমে, কৌশলগুলি বিভিন্ন বাজারের পরিবেশের সাথে আরও ভালভাবে খাপ খাইয়ে নিতে পারে এবং লেনদেনের দক্ষতা এবং স্থিতিশীলতা উন্নত করতে পারে।
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("High-Frequency EMA Scalping Strategy - Adjustable Contracts", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// Input parameters
fastEmaLength = input.int(3, title="Fast EMA Length", minval=1)
slowEmaLength = input.int(8, title="Slow EMA Length", minval=1)
atrLength = input.int(10, title="ATR Length", minval=1)
riskRewardRatio = input.float(1.2, title="Risk/Reward Ratio", minval=1)
useDynamicPositionSizing = input.bool(false, title="Use Dynamic Position Sizing?")
fixedContracts = input.int(1, title="Number of Contracts (if Fixed)", minval=1) // Fixed number of contracts
// Calculate EMA values
fastEma = ta.ema(close, fastEmaLength)
slowEma = ta.ema(close, slowEmaLength)
// Calculate ATR for dynamic stop-loss and take-profit
atr = ta.atr(atrLength)
// Dynamic position sizing (if enabled)
capital = strategy.equity
riskPerTrade = capital * 0.005 // Risk 0.5% per trade
dynamicTradeQty = riskPerTrade / (atr * 1.5)
// Use fixed or dynamic position sizing
tradeQty = useDynamicPositionSizing ? dynamicTradeQty : fixedContracts
// Entry conditions
longCondition = ta.crossover(fastEma, slowEma)
shortCondition = ta.crossunder(fastEma, slowEma)
// Long trade execution
if longCondition
risk = atr * 1.0
reward = risk * riskRewardRatio
strategy.entry("Long", strategy.long, qty=tradeQty)
strategy.exit("Trailing Stop Long", from_entry="Long", trail_points=atr * 1.5, trail_offset=atr * 1.0)
strategy.exit("Take Profit", from_entry="Long", limit=close + reward, stop=close - risk)
// Short trade execution
if shortCondition
risk = atr * 1.0
reward = risk * riskRewardRatio
strategy.entry("Short", strategy.short, qty=tradeQty)
strategy.exit("Trailing Stop Short", from_entry="Short", trail_points=atr * 1.5, trail_offset=atr * 1.0)
strategy.exit("Take Profit", from_entry="Short", limit=close - reward, stop=close + risk)
// Plot EMA lines for reference
plot(fastEma, color=color.blue, title="Fast EMA")
plot(slowEma, color=color.red, title="Slow EMA")