এই কৌশলটি দ্বৈত চলমান গড় ক্রসওভারের উপর ভিত্তি করে একটি বুদ্ধিমান ট্রেডিং সিস্টেম, যা মূল সূচক হিসাবে 9 পেরিওড এবং 21 পেরিওড এক্সপোনেনশিয়াল মুভিং গড় (ইএমএ) ব্যবহার করে। কৌশলটি একটি গতিশীল স্টপ-লস এবং লাভের প্রক্রিয়া অন্তর্ভুক্ত করে, স্বয়ংক্রিয়ভাবে ইএমএ ক্রসওভার সংকেতগুলি রিয়েল-টাইমে পর্যবেক্ষণ করে ট্রেডিং অর্ডারগুলি কার্যকর করে। সিস্টেমটি শতাংশ-ভিত্তিক ট্রেলিং স্টপ এবং স্থির অনুপাতের লাভের স্তরগুলি ব্যবহার করে, ট্রেডিং সুরক্ষা এবং লাভের সম্ভাবনা উভয়ই নিশ্চিত করে।
মূল যুক্তিটি দ্রুত EMA (9-period) এবং ধীর EMA (21-period) এর মধ্যে ক্রসওভার সম্পর্কের উপর কাজ করে। যখন দ্রুত লাইনটি ধীর লাইনের উপরে অতিক্রম করে, তখন সিস্টেমটি একটি উত্থান সংকেত স্বীকৃতি দেয়, স্বয়ংক্রিয়ভাবে কোনও শর্ট পজিশন বন্ধ করে এবং দীর্ঘ অবস্থানগুলি খোলে। যখন দ্রুত লাইনটি ধীর লাইনের নীচে অতিক্রম করে, তখন সিস্টেমটি একটি হ্রাস সংকেত সনাক্ত করে, কোনও দীর্ঘ অবস্থান বন্ধ করে এবং শর্ট পজিশনগুলি খোলে। অতিরিক্তভাবে, সিস্টেমটি গতিশীল স্টপ-লস এবং লাভ গ্রহণের প্রক্রিয়া বাস্তবায়ন করেঃ দীর্ঘ অবস্থানের জন্য, স্টপ-লস প্রবেশ মূল্যের 5% নীচে এবং লাভ গ্রহণের 10% উপরে সেট করা হয়; সংক্ষিপ্ত অবস্থানের জন্য, স্টপ-লস প্রবেশ মূল্যের 5% উপরে এবং লাভ গ্রহণের 10% এর নীচে সেট করা হয়।
এই কৌশলটি একটি সম্পূর্ণ এবং যৌক্তিকভাবে সুস্থ স্বয়ংক্রিয় ট্রেডিং সিস্টেমকে উপস্থাপন করে। গতিশীল স্টপ-লস এবং লাভ নেওয়ার প্রক্রিয়াগুলির সাথে মিলিত ইএমএ ক্রসওভার সংকেতগুলির মাধ্যমে, এটি ট্রেন্ডিং বাজারে ভাল পারফর্ম করতে পারে। তবে ব্যবহারকারীদের বাজারের পরিস্থিতি পর্যবেক্ষণ করতে হবে, সেই অনুযায়ী পরামিতিগুলি সামঞ্জস্য করতে হবে এবং যথাযথ ঝুঁকি নিয়ন্ত্রণ বজায় রাখতে হবে। ক্রমাগত অপ্টিমাইজেশন এবং পরিমার্জনের মাধ্যমে, এই কৌশলটির একটি স্থিতিশীল এবং নির্ভরযোগ্য ট্রেডিং সরঞ্জাম হওয়ার সম্ভাবনা রয়েছে।
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-28 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Cross Strategy", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // 添加策略参数设置 var showLabels = input.bool(true, "显示标签") var stopLossPercent = input.float(5.0, "止损百分比", minval=0.1, maxval=20.0, step=0.1) var takeProfitPercent = input.float(10.0, "止盈百分比", minval=0.1, maxval=50.0, step=0.1) // 计算EMA ema9 = ta.ema(close, 9) ema21 = ta.ema(close, 21) // 绘制EMA线 plot(ema9, "EMA9", color=color.blue, linewidth=2) plot(ema21, "EMA21", color=color.red, linewidth=2) // 检测交叉 crossOver = ta.crossover(ema9, ema21) crossUnder = ta.crossunder(ema9, ema21) // 格式化时间显示 (UTC+8) utc8Time = time + 8 * 60 * 60 * 1000 timeStr = str.format("{0,date,MM-dd HH:mm}", utc8Time) // 计算止损止盈价格 longStopLoss = strategy.position_avg_price * (1 - stopLossPercent / 100) longTakeProfit = strategy.position_avg_price * (1 + takeProfitPercent / 100) shortStopLoss = strategy.position_avg_price * (1 + stopLossPercent / 100) shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPercent / 100) // 交易逻辑 if crossOver if strategy.position_size < 0 // 如果持有空仓 strategy.close("做空") // 先平掉空仓 strategy.entry("做多", strategy.long) // 开多仓 if showLabels label.new(bar_index, high, text="做多入场\n" + timeStr, color=color.green, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar) if crossUnder if strategy.position_size > 0 // 如果持有多仓 strategy.close("做多") // 先平掉多仓 strategy.entry("做空", strategy.short) // 开空仓 if showLabels label.new(bar_index, low, text="做空入场\n" + timeStr, color=color.red, textcolor=color.white, style=label.style_label_up, yloc=yloc.belowbar) // 设置止损止盈 if strategy.position_size > 0 // 多仓止损止盈 strategy.exit("多仓止损止盈", "做多", stop=longStopLoss, limit=longTakeProfit) if strategy.position_size < 0 // 空仓止损止盈 strategy.exit("空仓止损止盈", "做空", stop=shortStopLoss, limit=shortTakeProfit)