
यह रणनीति एक बहुस्तरीय गतिशील लागत-संतुलन (डीसीए) ट्रेडिंग प्रणाली है जिसमें एक अपेक्षाकृत मजबूत सूचकांक (आरएसआई) और औसत वास्तविक तरंग (एटीआर) शामिल है। यह मुख्य रूप से ओवरसोल्ड बाजार की स्थितियों की पहचान करके बैचों में स्टॉक बनाने के लिए है और एटीआर का उपयोग करके बंद-बंद स्थिति को गतिशील रूप से समायोजित करने के लिए है। रणनीति में जोखिम-वितरण, लागत अनुकूलन और आय स्थिरता जैसी विशेषताएं हैं।
रणनीति 4 घंटे या दिन के स्तर पर चलती है, और इसके मुख्य तर्क में शामिल हैंः
रणनीति RSI और ATR संकेतकों के संयोजन के माध्यम से, एक व्यापार प्रणाली है कि दोनों जोखिम नियंत्रण और लाभ स्थिरता को लागू करता है। बैचों के निर्माण के तंत्र लागत अनुकूलन की संभावना प्रदान करता है, जबकि गतिशील स्टॉप डिजाइन लाभ के उचित प्रदर्शन को सुनिश्चित करता है। हालांकि कुछ संभावित जोखिम मौजूद हैं, उचित पैरामीटर सेटिंग और अनुकूलन दिशा के कार्यान्वयन के माध्यम से रणनीति के समग्र प्रदर्शन को और बढ़ाया जाएगा।
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("DCA-Based Swing Strategy (Risk $200) with Signals", overlay=true)
// === Main Indicators ===
// RSI for identifying oversold conditions
rsi = ta.rsi(close, 14)
// ATR for volatility estimation
atr = ta.atr(14)
// === Strategy Parameters ===
// Risk management
riskPerTrade = 200 // Total risk ($200)
atrRisk = 2 * atr // Risk in dollars per buy (2 ATR)
positionSize = riskPerTrade / atrRisk // Position size (shares)
// DCA Parameters
maxEntries = 4 // Maximum of 4 buys
takeProfitATR = 3 // Take profit: 3 ATR
// === Position Management ===
var float avgEntryPrice = na // Average entry price
var int entryCount = 0 // Number of buys
var line takeProfitLine = na // Take profit line
var line avgPriceLine = na // Average entry price line
// === Buy and Sell Conditions ===
buyCondition = rsi < 30 and entryCount < maxEntries // Buy when oversold
if (buyCondition)
strategy.entry("DCA Buy", strategy.long, qty=positionSize)
// Update the average entry price
avgEntryPrice := na(avgEntryPrice) ? close : (avgEntryPrice * entryCount + close) / (entryCount + 1)
entryCount += 1
// Display "BUY" signal on the chart
label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.green, textcolor=color.white, size=size.normal)
// Update lines for average entry price and take profit
if (not na(takeProfitLine))
line.delete(takeProfitLine)
if (not na(avgPriceLine))
line.delete(avgPriceLine)
takeProfitPrice = avgEntryPrice + takeProfitATR * atr
// Sell condition: Take profit = 3 ATR from average entry price
takeProfitPrice = avgEntryPrice + takeProfitATR * atr
if (close >= takeProfitPrice and entryCount > 0)
strategy.close("DCA Buy")
// Reset parameters after closing
avgEntryPrice := na
entryCount := 0
// Remove lines after selling
if (not na(takeProfitLine))
line.delete(takeProfitLine)
if (not na(avgPriceLine))
line.delete(avgPriceLine)