এটি দ্বৈত চলমান গড় ক্রসওভারের উপর ভিত্তি করে একটি স্বয়ংক্রিয় ট্রেডিং কৌশল সিস্টেম। সিস্টেমটি মূল সূচক হিসাবে 9 পিরিয়ড এবং 21 পিরিয়ড এক্সপোনেন্সিয়াল মুভিং গড় (ইএমএ) ব্যবহার করে, তাদের ক্রসওভারের মাধ্যমে ট্রেডিং সংকেত উত্পন্ন করে। এটি স্টপ-লস এবং টেক-লাভ ম্যানেজমেন্টকে অন্তর্ভুক্ত করে, একটি ভিজ্যুয়াল ইন্টারফেসের সাথে যা ট্রেডিং সংকেত এবং মূল মূল্য স্তর প্রদর্শন করে।
এই কৌশলটি ট্রেডিং সিস্টেম তৈরির জন্য একটি দ্রুত ইএমএ (৯-পরিয়ড) এবং একটি ধীর ইএমএ (২১-পরিয়ড) ব্যবহার করে। দ্রুত ইএমএ ধীর ইএমএ এর উপরে অতিক্রম করলে লং সিগন্যাল তৈরি হয়, যখন দ্রুত ইএমএ ধীর ইএমএ এর নীচে অতিক্রম করে তখন সংক্ষিপ্ত সংকেত ঘটে। সিস্টেমটি স্বয়ংক্রিয়ভাবে প্রতিটি ব্যবসায়ের জন্য পূর্বনির্ধারিত শতাংশের ভিত্তিতে স্টপ-লস এবং লাভ গ্রহণের স্তর সেট করে। পজিশন সাইজিং একটি শতাংশ ভিত্তিক পদ্ধতির ব্যবহার করে, অ্যাকাউন্ট ইক্যুইটি 100% ডিফল্ট করে।
এটি একটি সু-ডিজাইন করা, যৌক্তিকভাবে সুষম চলমান গড় ক্রসওভার কৌশল সিস্টেম। EMA ক্রসওভার সংকেতগুলিকে ঝুঁকি পরিচালনার প্রক্রিয়াগুলির সাথে একত্রিত করে, কৌশলটি ট্রেন্ডিং বাজারে মুনাফা অর্জন করতে পারে। যদিও অন্তর্নিহিত ঝুঁকি রয়েছে, প্রস্তাবিত অপ্টিমাইজেশনগুলি কৌশলটির স্থিতিশীলতা এবং নির্ভরযোগ্যতা আরও বাড়িয়ে তুলতে পারে। এই কৌশলটি মাঝারি থেকে দীর্ঘমেয়াদী প্রবণতা ট্র্যাকিংয়ের জন্য বিশেষভাবে উপযুক্ত এবং ধৈর্যশীল ব্যবসায়ীদের জন্য একটি শক্ত পছন্দ।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 // // ██╗ █████╗ ██████╗ ██████╗ ██╗ ██╗ ██╗ // ██║ ██╔══██╗ ██╔═══██╗ ██╔══██╗ ██║ ██║ ██║ // ██║ ███████║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ // ██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║ ██║ ██║ // ███████╗ ██║ ██║ ╚██████╔╝ ██████╔╝ ╚██████╔╝ ██║ // ╚══════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═════╝ ╚═╝ // // BTC-EMA做多策略(5分钟确认版) - 作者:LAODUI // 版本:2.0 // 最后更新:2024 // ═══════════════════════════════════════════════════════════════════════════ 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, "显示标签", group="显示设置") var stopLossPercent = input.float(5.0, "止损百分比", minval=0.1, maxval=20.0, step=0.1, group="风险管理") var takeProfitPercent = input.float(10.0, "止盈百分比", step=0.1, group="风险管理") // EMA参数设置 var emaFastLength = input.int(9, "快速EMA周期", minval=1, maxval=200, group="EMA设置") var emaSlowLength = input.int(21, "慢速EMA周期", minval=1, maxval=200, group="EMA设置") // 计算EMA ema_fast = ta.ema(close, emaFastLength) ema_slow = ta.ema(close, emaSlowLength) // 绘制EMA线 plot(ema_fast, "快速EMA", color=color.blue, linewidth=2) plot(ema_slow, "慢速EMA", color=color.red, linewidth=2) // 检测交叉 crossOver = ta.crossover(ema_fast, ema_slow) crossUnder = ta.crossunder(ema_fast, ema_slow) // 格式化时间显示 (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 + "\n入场价: " + str.tostring(close) + "\n止损价: " + str.tostring(longStopLoss) + "\n止盈价: " + str.tostring(longTakeProfit), 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 + "\n入场价: " + str.tostring(close) + "\n止损价: " + str.tostring(shortStopLoss) + "\n止盈价: " + str.tostring(shortTakeProfit), 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)