सीसीआई और ईएमए पर आधारित अल्पकालिक दोलन रणनीति


निर्माण तिथि: 2024-01-31 16:01:21 अंत में संशोधित करें: 2024-01-31 16:01:21
कॉपी: 0 क्लिक्स: 1117
1
ध्यान केंद्रित करना
1617
समर्थक

सीसीआई और ईएमए पर आधारित अल्पकालिक दोलन रणनीति

अवलोकन

यह रणनीति एक शॉर्ट लाइन शेक ट्रेडिंग रणनीति है, जो शॉर्ट लाइन मूल्य में उतार-चढ़ाव के अवसरों को पकड़ने के लिए बाजार में शॉर्ट लाइन प्रवृत्ति और ओवरबॉट ओवरसोल्ड स्थिति की पहचान करने के लिए ईएमए औसत और सीसीआई संकेतकों को जोड़ती है।

रणनीति सिद्धांत

यह रणनीति मुख्य रूप से 10 दिन ईएमए, 21 दिन ईएमए और 50 दिन ईएमए की तीन औसत रेखाओं और सीसीआई सूचकांक का उपयोग करके प्रवेश और बाहर निकलने के समय को निर्धारित करती है।

यह तर्क है: जब अल्पकालिक औसत रेखा ((१० दिन ईएमए) पर मध्यवर्ती औसत रेखा ((२१ दिन ईएमए) और अल्पकालिक औसत रेखा लंबी अवधि की औसत रेखा ((५० दिन ईएमए) से अधिक है, और सीसीआई संकेतक ० से अधिक है, तो इसे बहु-हेड संकेत माना जाता है, अधिक करें; जब अल्पकालिक औसत रेखा से नीचे मध्यवर्ती औसत रेखा और अल्पकालिक औसत रेखा लंबी अवधि की औसत रेखा से कम है, और सीसीआई संकेतक ० से कम है, तो इसे खाली सिर संकेत माना जाता है, खाली करें।

समस्थानिक तर्क एक समस्थानिक है जब अल्पकालिक औसत रेखा मध्यवर्ती औसत रेखा को फिर से पार करती है।

रणनीतिक लाभ

  1. सीसीआई के साथ सम-रेखा प्रणाली के संयोजन में, शॉर्ट-रेखा मूल्य में उतार-चढ़ाव की प्रवृत्ति की दिशा और ओवरबॉय ओवरसोल की स्थिति को प्रभावी ढंग से पहचाना जा सकता है।

  2. entries और exists का न्याय करने के लिए एक समान रेखीय कांटा और एक मृत कांटा का उपयोग करना आसान और व्यावहारिक है।

  3. सीसीआई सूचकांक के पैरामीटर और आवधिक सेटिंग्स उचित हैं, जो कुछ झूठे संकेतों को खत्म कर सकते हैं।

  4. मल्टी-टाइम साइक्लिक एवरेज लाइन का उपयोग करके, आप अस्थिरता वाले शहरों में बेहतर संचालन के अवसर प्राप्त कर सकते हैं।

रणनीतिक जोखिम

  1. शॉर्ट लाइन ऑपरेशन में भारी उतार-चढ़ाव होता है, और लगातार स्टॉप लॉस अधिक हो सकता है।

  2. CCI सूचकांक पैरामीटर को गलत तरीके से सेट करना झूठे संकेतों को बढ़ा सकता है।

  3. इस रणनीति में कई छोटे-छोटे नुकसान हो सकते हैं।

  4. केवल उन व्यापारियों के लिए उपयुक्त है जो अक्सर शॉर्ट लाइन का संचालन करते हैं, लंबे समय तक रखने के लिए उपयुक्त नहीं है।

इसी तरह के जोखिम प्रतिक्रिया उपायों में शामिल हैंः सीसीआई पैरामीटर का अनुकूलन, स्टॉप लॉस स्थिति को समायोजित करना, फ़िल्टर शर्तों को बढ़ाना आदि।

रणनीति अनुकूलन दिशा

  1. विभिन्न लंबाई के ईएमए औसत रेखा संयोजनों का परीक्षण किया जा सकता है, पैरामीटर को अनुकूलित किया जा सकता हैः

  2. कुछ झूठे संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों या फ़िल्टर शर्तों को जोड़ा जा सकता है। जैसे कि MACD, KDJ आदि।

  3. एकल घाटे को गतिशील रूप से ट्रैक किए गए स्टॉपलॉस द्वारा नियंत्रित किया जा सकता है।

  4. प्रवृत्ति सूचक को उच्च समय अवधि के साथ जोड़ा जा सकता है, जिससे विपरीत संचालन से बचा जा सकता है।

संक्षेप

यह रणनीति एक सामान्य शॉर्ट-लाइन स्ट्रॉबेरी रणनीति है, जो मूल्य में अल्पकालिक पलटाव के अवसरों को पकड़ने के लिए समानांतर संकेतक के गोल्ड-फोर्क-डेड-फोर्क के साथ-साथ सीसीआई संकेतक के ओवरबॉट-ओवरबॉट स्थिति का उपयोग करती है। यह रणनीति शॉर्ट-लाइन पर लगातार व्यापार के लिए उपयुक्त है, लेकिन कुछ स्टॉप-लॉस दबाव का सामना करने की आवश्यकता है। पैरामीटर अनुकूलन और फ़िल्टर शर्तों को जोड़ने से रणनीति की स्थिरता और लाभप्रदता को और बढ़ाया जा सकता है।

रणनीति स्रोत कोड
/*backtest
start: 2023-12-31 00:00:00
end: 2024-01-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//study(title="Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)
strategy("Strat CCI EMA scalping", shorttitle="EMA-CCI-strat", overlay=true)

exponential = input(true, title="Exponential MA")

// the risk management inputs
inpTakeProfit   = input(defval = 1000, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 200, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 200, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// === RISK MANAGEMENT VALUE PREP ===
// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

src = close

ma10 = exponential ? ema(src, 10) : sma(src, 10)
ma21 = exponential ? ema(src, 21) : sma(src, 21)
ma50 = exponential ? ema(src, 50) : sma(src, 50)

xCCI = cci(close, 200)

//buy_cond = cross(ma21, ma50) and ma10 > ma21 and (xCCI > 0)
//sell_cond = cross(ma21, ma50) and ma10 < ma21  and (xCCI < 0)

buy_cond = ma10 > ma21 and ma10 > ma50 and xCCI > 0
sell_cond = ma10 < ma21 and ma10 < ma50 and xCCI < 0



// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() => buy_cond
exitLong() => ma10 < ma21
strategy.entry(id = "Long", long = true, when = enterLong()) // use function or simple condition to decide when to get in
strategy.close(id = "Long", when = exitLong()) // ...and when to get out
// === STRATEGY - SHORT POSITION EXECUTION ===
enterShort() => sell_cond
exitShort() => ma10 > ma21
strategy.entry(id = "Short", long = false, when = enterShort())
strategy.close(id = "Short", when = exitShort())

// === STRATEGY RISK MANAGEMENT EXECUTION ===
// finally, make use of all the earlier values we got prepped
//strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
//strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)




//longCondition = buy_cond
//if(longCondition)
//    strategy.entry("Long", strategy.long)
//    strategy.exit("Close Long", "Long", when = exitLong())
    
//shortCondition = sell_cond
//if(shortCondition)
//    strategy.entry("Short", strategy.short)
//    strategy.exit("Close Short", "Short",  when = exitShort())

//plotshape(buy_cond, style=shape.flag, color=green, size=size.normal)
//plotshape(sell_cond, style=shape.flag, color=red, size=size.normal)

c1 = buy_cond==1 ? lime : sell_cond==1 ? red : #a3a3a3 // color

plot( ma10, color=red, style=line, title="10", linewidth=1)
plot( ma21, color=orange, style=line, title="21", linewidth=1)
plot( ma50, color=c1, style=line, title="50", linewidth=3)

//alertcondition(buy_cond, title = "Buy Condition", message = "Buy Condition Alert")
//alertcondition(sell_cond, title = "Sell Condition", message = "Sell Condition Alert")