यह तीन तकनीकी संकेतकों: वीडब्ल्यूएपी, एमएसीडी और आरएसआई पर आधारित एक मात्रात्मक ट्रेडिंग रणनीति है। यह रणनीति वॉल्यूम वेटेड एवरेज प्राइस (वीडब्ल्यूएपी), मूविंग एवरेज कन्वर्जेंस डिवर्जेंस (एमएसीडी), और रिलेटिव स्ट्रेंथ इंडेक्स (आरएसआई) के संकेतों को मिलाकर ट्रेडिंग के अवसरों की पहचान करती है। इसमें जोखिम प्रबंधन के लिए प्रतिशत-आधारित लाभ और स्टॉप-लॉस तंत्र शामिल हैं और पूंजी उपयोग को अनुकूलित करने के लिए रणनीति स्थिति आकार का उपयोग करता है।
मूल तर्क तीन मुख्य संकेतकों के व्यापक विश्लेषण पर आधारित हैः
खरीद की शर्तों में निम्नलिखित की आवश्यकता होती हैः
बिक्री की शर्तों में निम्नलिखित की आवश्यकता होती हैः
यह रणनीति तीन क्लासिक तकनीकी संकेतकों को मिलाकर एक अपेक्षाकृत पूर्ण ट्रेडिंग प्रणाली का निर्माण करती हैः वीडब्ल्यूएपी, एमएसीडी और आरएसआई। यह डिजाइन व्यापार की गुणवत्ता में सुधार के लिए कई संकेतकों के क्रॉस-वैधता के माध्यम से सिग्नल विश्वसनीयता और जोखिम प्रबंधन पर जोर देता है। जबकि ऐसे पहलू हैं जिन्हें अनुकूलन की आवश्यकता है, समग्र ढांचा ध्वनि है और अच्छी स्केलेबिलिटी प्रदान करता है। व्यापारियों को सलाह दी जाती है कि वे विभिन्न बाजार स्थितियों में बैकटेस्टिंग के माध्यम से रणनीति को मान्य करें और लाइव कार्यान्वयन से पहले विशिष्ट आवश्यकताओं के अनुसार मापदंडों को अनुकूलित करें।
/*backtest start: 2024-10-27 00:00:00 end: 2024-11-26 00:00:00 period: 4h basePeriod: 4h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("pbs", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Input for take-profit and stop-loss takeProfitPercent = input.float(0.5, title="Take Profit (%)", step=0.1) / 100 stopLossPercent = input.float(0.25, title="Stop Loss (%)", step=0.1) / 100 macdFastLength = input.int(12, title="MACD Fast Length") macdSlowLength = input.int(26, title="MACD Slow Length") macdSignalLength = input.int(9, title="MACD Signal Length") rsiLength = input.int(14, title="RSI Length") rsiOverbought = input.int(70, title="RSI Overbought Level", step=1) rsiOversold = input.int(30, title="RSI Oversold Level", step=1) vwap = ta.vwap(close) [macdLine, signalLine, _] = ta.macd(close, macdFastLength, macdSlowLength, macdSignalLength) macdHistogram = macdLine - signalLine rsi = ta.rsi(close, rsiLength) plot(vwap, color=color.purple, linewidth=2, title="VWAP") hline(rsiOverbought, "Overbought", color=color.red, linestyle=hline.style_dotted) hline(rsiOversold, "Oversold", color=color.green, linestyle=hline.style_dotted) plot(macdLine, color=color.blue, title="MACD Line") plot(signalLine, color=color.orange, title="Signal Line") // Buy Condition longCondition = ta.crossover(close, vwap) and macdHistogram > 0 and rsi < rsiOverbought // Sell Condition shortCondition = ta.crossunder(close, vwap) and macdHistogram < 0 and rsi > rsiOversold // Execute trades based on conditions if (longCondition) strategy.entry("Long", strategy.long) strategy.exit("Take Profit/Stop Loss", "Long", limit=close * (1 + takeProfitPercent), stop=close * (1 - stopLossPercent)) if (shortCondition) strategy.entry("Short", strategy.short) strategy.exit("Take Profit/Stop Loss", "Short", limit=close * (1 - takeProfitPercent), stop=close * (1 + stopLossPercent)) // Plot Buy/Sell Signals plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal") plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")