এই কৌশলটি একাধিক এক্সপোনেনশিয়াল মুভিং এভারেজ (ইএমএ) এবং গড় সত্য পরিসীমা (এটিআর) এর উপর ভিত্তি করে একটি প্রবণতা অনুসরণকারী ট্রেডিং সিস্টেম। এটি গতিশীল ঝুঁকি ব্যবস্থাপনা এবং মুনাফা লক্ষ্যবস্তুর জন্য এটিআর এর সাথে একত্রে তিনটি ইএমএ (20, 50, এবং 100 সময়কাল) ব্যবহার করে। এই পদ্ধতিটি গতিশীল ঝুঁকি নিয়ন্ত্রণ বজায় রেখে পদ্ধতিগত ট্রেডিং নিশ্চিত করে।
মূল যুক্তি মূল্য এবং একাধিক EMA এর মধ্যে মিথস্ক্রিয়া উপর নির্মিত হয়ঃ
এই কৌশলটি একাধিক ইএমএ এবং এটিআর-ভিত্তিক গতিশীল ঝুঁকি নিয়ন্ত্রণকে একত্রিত করে এমন একটি ট্রেডিং সিস্টেম তৈরি করে যা ট্রেন্ড-অনুসরণ এবং সুইং ট্রেডিং উভয় বৈশিষ্ট্যই বৈশিষ্ট্যযুক্ত। এর শক্তিগুলি পদ্ধতিগত পদ্ধতি এবং নিয়ন্ত্রিত ঝুঁকিতে রয়েছে, তবে ব্যবহারিক প্রয়োগের জন্য প্রকৃত অবস্থার উপর ভিত্তি করে বাজারের অভিযোজনযোগ্যতা এবং নির্দিষ্ট অপ্টিমাইজেশনের দিকে মনোযোগ প্রয়োজন। সঠিক পরামিতি সেটিং এবং কঠোর ঝুঁকি নিয়ন্ত্রণের মাধ্যমে কৌশলটির বেশিরভাগ বাজারের পরিবেশে স্থিতিশীল ট্রেডিং ফলাফল অর্জনের সম্ভাবনা রয়েছে।
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=6 strategy("EMA Swing Strategy with ATR", overlay=true) // Inputs emaShort = input.int(20, "Short EMA") emaMid = input.int(50, "Mid EMA") emaLong = input.int(100, "Long EMA") rrRatio = input.float(1.5, "Risk-Reward Ratio") contracts = input.int(5, "Number of Contracts") // Calculations ema20 = ta.ema(close, emaShort) ema50 = ta.ema(close, emaMid) ema100 = ta.ema(close, emaLong) atr = ta.atr(14) // Conditions longCondition = ta.crossover(close, ema20) and close > ema50 shortCondition = ta.crossunder(close, ema20) and close < ema50 // Variables for trades var float entryPrice = na var float stopLoss = na var float takeProfit = na // Long Trades if (longCondition) entryPrice := close stopLoss := close - atr takeProfit := close + atr * rrRatio strategy.entry("Long", strategy.long, contracts) strategy.exit("Exit Long", from_entry="Long", stop=stopLoss, limit=takeProfit) // Short Trades if (shortCondition) entryPrice := close stopLoss := close + atr takeProfit := close - atr * rrRatio strategy.entry("Short", strategy.short, contracts) strategy.exit("Exit Short", from_entry="Short", stop=stopLoss, limit=takeProfit) // Plot EMAs plot(ema20, color=color.green, title="EMA 20") plot(ema50, color=color.red, title="EMA 50") plot(ema100, color=color.white, title="EMA 100") // Visualization for Entries plotshape(series=longCondition, style=shape.labelup, color=color.green, location=location.belowbar, title="Long Entry") plotshape(series=shortCondition, style=shape.labeldown, color=color.red, location=location.abovebar, title="Short Entry")