
यह रणनीति कम ज्ञात कोप्पोक वक्र तकनीकी संकेतकों का उपयोग करके व्यापार को मापने के लिए करती है। कोप्पोक वक्र को स्टैंडर्ड 500 सूचकांक या ट्रेडिंग समकक्षों के परिवर्तन की दर के भारित चलती औसत की गणना करके व्युत्पन्न किया जाता है। जब कोप्पोक वक्र शून्य रेखा पार करता है तो एक खरीद संकेत उत्पन्न होता है और जब शून्य रेखा पार करता है तो एक बिक्री संकेत उत्पन्न होता है। लाभ को लॉक करने के लिए ट्रैक स्टॉपलॉस का उपयोग करना एक विकल्प है। यह रणनीति $SPY के कोप्पोक वक्र को अन्य ईटीएफ और शेयरों को खरीदने और बेचने के लिए एक एजेंट संकेत के रूप में उपयोग करती है।
यह रणनीति कॉप्पोक वक्र का उपयोग करती है, जो ट्रेडिंग सिग्नल उत्पन्न करने के लिए एक तकनीकी संकेतक है। कॉप्पोक वक्र के लिए गणना सूत्र हैः
कोप्पोक वक्र = 10 चक्र भारित चलती औसत ((14 चक्र परिवर्तन दर ROC + 11 चक्र परिवर्तन दर ROC)
जिसमें परिवर्तन दर आरओसी की गणना करने के लिए सूत्र हैः ((वर्तमान क्लोज़ - एन चक्र से पहले क्लोज़) / एन चक्र से पहले क्लोज़
रणनीति $SPY के समापन मूल्य पर आधारित है, इसकी कॉप्पोक वक्र की गणना की गई है। जब वक्र शून्य रेखा पार करता है तो एक खरीद संकेत उत्पन्न होता है, और जब शून्य रेखा पार करता है तो एक बेचने का संकेत उत्पन्न होता है।
यह रणनीति व्यापार संकेतों को उत्पन्न करने के लिए कॉप्पोक वक्र की अनूठी वक्र-आकार की विशेषताओं का उपयोग करती है। कॉप्पोक वक्र सामान्य संकेतकों की तुलना में अधिक पूर्वानुमानित है। लेकिन एक स्वतंत्र संकेतक के रूप में इसकी विश्वसनीयता को सत्यापित करने की आवश्यकता है। अन्य कारकों के साथ संयोजन में, झूठे संकेतों को फ़िल्टर करने के लिए उपयोग करने की सिफारिश की जाती है। पैरामीटर अनुकूलन, स्टॉप-लॉस अनुकूलन और अन्य संकेतकों के संयोजन के माध्यम से, यह रणनीति एक प्रभावी मात्रात्मक व्यापार प्रणाली बन सकती है।
/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RolandoSantos
//@version=4
strategy(title = "Coppock Curve", shorttitle = "Copp Curve Strat", default_qty_type=strategy.cash, default_qty_value=10000, initial_capital=10000)
///trail stop
longTrailPerc = input(title="Trail Long Loss (%)", minval=0.0, step=0.1, defval=100) * 0.01
// Determine trail stop loss prices
longStopPrice = 0.0
longStopPrice := if (strategy.position_size > 0)
stopValue = close * (1 - longTrailPerc)
max(stopValue, longStopPrice[1])
else
0
//Use SPY for Copp Curve entries and exits//
security = input("SPY")
ticker = security(security, "D", close)
///Copp Curve////
wmaLength = input(title="WMA Length", type=input.integer, defval=10)
longRoCLength = input(title="Long RoC Length", type=input.integer, defval=14)
shortRoCLength = input(title="Short RoC Length", type=input.integer, defval=11)
source = ticker
curve = wma(roc(source, longRoCLength) + roc(source, shortRoCLength), wmaLength)
///Lower Band Plot///
band1 = hline(0)
band0 = hline(100)
band2 = hline(-100)
fill(band1, band0, color=color.green, transp=90)
fill(band2, band1, color=color.red, transp=90)
plot(curve, color=color.white)
///Trade Conditions///
Bull = curve > 0
Bear = curve < 0
///Entries and Exits//
if (Bull)
strategy.entry("Long", strategy.long, comment = "LE")
if (Bear)
strategy.close("Long", qty_percent=100, comment="close")
// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
strategy.exit(id="Long Trail Stop", stop=longStopPrice)