
यह रणनीति शेयरों के तेजी से 30 दिन के सरल और धीमी गति से 33 दिन के सरल चलती औसत की गणना करके गोल्डफ़ॉर्क या डेडफ़ॉर्क होने पर LONG या SHORT में प्रवेश करती है। इसके विपरीत संकेत होने पर तुरंत बंद हो जाता है। यह ट्रेंड में बदलाव को प्रभावी ढंग से पकड़ सकता है।
इस रणनीति का मूल यह है कि तेज 30 दिन की औसत रेखा और धीमी 33 दिन की औसत रेखा की गणना की जाती है। तेज रेखा मूल्य परिवर्तनों के लिए तेजी से प्रतिक्रिया करती है जबकि धीमी रेखा बेहतर लहर प्रभाव डालती है। जब तेज रेखा नीचे से धीमी रेखा को तोड़ती है और ऊपर जाती है, तो एक खरीद संकेत उत्पन्न होता है। इसका मतलब है कि कीमतें बढ़ना शुरू हो जाती हैं और तेज रेखा प्रतिक्रिया करती है, लेकिन धीमी रेखा पीछे रह जाती है। जब तेज रेखा ऊपर से गिरती है और धीमी रेखा को तोड़ती है, तो एक बिक्री संकेत उत्पन्न होता है। इसका मतलब है कि कीमतें गिरने लगती हैं और तेज रेखा प्रतिक्रिया करती है, लेकिन धीमी रेखा पीछे रह जाती है।
इस तरह के तेजी से और धीरे-धीरे औसत रेखा क्रॉसिंग डिजाइन के माध्यम से, ट्रेड सिग्नल की शुरुआत में ट्रेड सिग्नल उत्पन्न किया जा सकता है, और जब विपरीत सिग्नल दिखाई देता है तो स्टॉपओवर, प्रभावी रूप से मध्य-लंबी रेखा की कीमत की प्रवृत्ति को पकड़ता है। साथ ही साथ अत्यधिक बाजार में उतार-चढ़ाव से भ्रमित होने से बचा जाता है।
इस रणनीति के कुछ फायदे हैं:
इस रणनीति के कुछ जोखिम भी हैं:
इन जोखिमों को नियंत्रित और कम किया जा सकता है जैसे कि पैरामीटर अनुकूलन, स्टॉपलॉस सेट करना और केवल जब ट्रेंड स्पष्ट हो तो व्यापार करना।
इस रणनीति को निम्नलिखित पहलुओं से अनुकूलित किया जा सकता हैः
परीक्षण और अनुकूलन के माध्यम से, रणनीतिक नियमों में निरंतर सुधार किया जा सकता है, जिससे विभिन्न बाजार स्थितियों में अधिक विश्वसनीय व्यापारिक संकेत प्राप्त किए जा सकते हैं।
यह द्वि-समानता रेखा क्रॉस-ब्रेकिंग रणनीति समग्र रूप से सरल और व्यावहारिक है, और तेज औसत और धीमी औसत के संयोजन के माध्यम से, मध्यम-लंबी प्रवृत्ति की शुरुआत को प्रभावी ढंग से पहचानने के लिए और अधिक विश्वसनीय व्यापारिक संकेत उत्पन्न करने के लिए। इसके स्टॉप-लॉस नियम को लागू करना भी आसान है। आगे के अनुकूलन के साथ, यह रणनीति एक लंबी अवधि के लिए रखने योग्य एक मात्रात्मक प्रणाली बन सकती है।
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//future strategy
//strategy(title = "es1!_1minute_hull", default_qty_type = strategy.fixed, initial_capital=250000, overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2, calc_on_order_fills=false, calc_on_every_tick=false,pyramiding=0)
//strategy.risk.max_position_size(2)
//stock strategy
strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, initial_capital=1000000, overlay = false)//, calc_on_order_fills=true, calc_on_every_tick=true)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true,initial_capital=250000, default_qty_type = strategy.percent_of_equity)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100, overlay = true, commission_type=strategy.commission.percent,commission_value=.005,default_qty_value=10000)
//strategy.risk.allow_entry_in(strategy.direction.long) // There will be no short entries, only exits from long.
testStartYear = 2010
testStartMonth = 1
testStartDay = 1
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testEndYear = 2039
testEndMonth = 1
testEndDay = 1
testPeriodEnd = timestamp(testEndYear,testEndMonth,testEndDay,0,0)
testPeriod() =>
//true
time >= testPeriodStart and time <= testPeriodEnd ? true : false
fast_length = 30
slow_length = 33
ema1 = 0.0
ema2 = 0.0
volumeSum1 = sum(volume, fast_length)
volumeSum2 = sum(volume, slow_length)
//ema1 := (((volumeSum1 - volume) * nz(ema1[1]) + volume * close) / volumeSum1)
ema1 := ema(close,fast_length)
//ema2 := (((volumeSum2 - volume) * nz(ema2[1]) + volume * close) / volumeSum2)
ema2 := ema(close,slow_length)
plot(ema1,color=#00ff00, linewidth=3)
plot(ema2, color=#ffff00, linewidth=3)
go_long = crossover(ema1,ema2)
go_short = crossunder(ema1,ema2)
if testPeriod()
strategy.entry("long_ride", strategy.long, when=go_long)
strategy.entry("short_ride", strategy.short,when=go_short)
strategy.close("long_ride",when=go_short)
strategy.close("short_ride",when=go_long)