एक चलती औसत रेखा के पार एक बहुत ही आम मात्रात्मक ट्रेडिंग रणनीति है। यह रणनीति चलती औसत रेखा का उपयोग करती है ताकि प्रवृत्ति का आकलन किया जा सके और लाभ कमाया जा सके। जब एक लंबी अवधि की चलती औसत रेखा को एक छोटी अवधि की चलती औसत रेखा के ऊपर से पार किया जाता है, तो यह दर्शाता है कि स्टॉक की कीमत बढ़ना शुरू हो गई है, और अधिक किया जा सकता है; जब एक लंबी अवधि की चलती औसत रेखा को एक छोटी अवधि की चलती औसत रेखा के नीचे से पार किया जाता है, तो यह दर्शाता है कि स्टॉक की कीमत गिरना शुरू हो गई है, और खाली किया जा सकता है।
यह रणनीति खरीद और बिक्री के समय को निर्धारित करने के लिए एक चलती औसत रेखा पर आधारित है। कोड में उपयोग किया गयाupOrDownऔरlongOrShortदो बुल प्रकार के इनपुट मापदंडों का उपयोग करनाpercentInputइनपुट पैरामीटर सेट करने के लिए शेयर मूल्य में परिवर्तन के मूल्यह्रास प्रतिशत; उपयोगclosePositionDaysस्थिति रखने के दिनों की संख्या निर्धारित करने के लिए पैरामीटर दर्ज करें
रणनीति का मुख्य तर्क यह है कि आज की तुलना में कल की गिरावट की गणना करें, यदि इनपुट का गिरावट प्रतिशत प्राप्त होता है, तो ट्रेडिंग सिग्नल जारी करें। यदि यह पूर्वाग्रह है, तो अधिक करें जब आज की तुलना में कल की वृद्धि से अधिक है; यदि यह गिरावट है, तो शून्य करें जब आज की तुलना में कल की गिरावट से अधिक है।
एक बार जब आप एक अतिरिक्त रिक्त स्थान करते हैं, तो आप चार्ट पर उस दिन और उसके बाद के 4 दिनों के लिए अलग-अलग रंगों के साथ चिह्नित करेंगे। 4 दिनों के बाद, आप स्वचालित रूप से अपने स्थान को खाली कर देंगे।
जोखिम नियंत्रण उपाय:
चलती समानांतर रेखा क्रॉसिंग रणनीति एक बहुत ही सरल और व्यावहारिक मात्रात्मक ट्रेडिंग रणनीति है। यह अल्पकालिक और दीर्घकालिक रुझानों के संबंधों का न्याय करके स्टॉक की कीमतों की प्रवृत्ति का लाभ उठाता है। यह रणनीति लागू करने में आसान है, तर्क स्पष्ट है, और कई मात्रात्मक ट्रेडिंग रणनीतियों का आधार है। पैरामीटर को समायोजित और अनुकूलित करके बेहतर रणनीतिक प्रभाव प्राप्त किया जा सकता है। लेकिन हमें जोखिम को नियंत्रित करने के लिए भी सावधानी बरतने की आवश्यकता है ताकि इसके विचारों को गलत तरीके से और अंधाधुंध उपयोग से बचा जा सके।
/*backtest
start: 2023-01-01 00:00:00
end: 2023-10-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Created by Leon Ross
strategy(title = "DaysAfterCertainPercentChangev1", shorttitle = "DACPCv1", overlay = true,
pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100,
calc_on_every_tick=true, initial_capital=100000)
//Inputs
longOrShort = input(title="Long=Checked Short=Unchecked", type=bool, defval=true) //long=true, down=false
upOrDown = input(title="Direction of Today vs. Previous day: Up=Checked Down=Unchecked", type=bool, defval=true) //up=true, down=false: this is the direction of days vs previous day
percentInput = input(title="Percent", type=float, defval=4.5)
closePositionDays = input(title="How Many Days to Close Position", defval=4)
//Conditions
//percentUpValue = (close / close[1]) - 1
//percentUp = percentUpValue >= (percentInput/100.0)
//upConditions = percentUp
//percentDownValue = 1- (close / close[1])
//percentDown = percentDownValue >= (percentInput/100.0)
//downConditions = percentDown
upValue = (close / close[1]) - 1
downValue = 1 - (close / close[1])
allConditions = if(upOrDown)
upValue >= (percentInput/100.0)
else
downValue >= (percentInput/100.0)
//Plots
bgcolor(allConditions ? (upOrDown ? green : red) : na, transp=70)
bgcolor(allConditions ? silver : na, transp=70, offset=1)
bgcolor(allConditions ? silver : na, transp=70, offset=2)
bgcolor(allConditions ? silver : na, transp=70, offset=3)
bgcolor(allConditions ? silver : na, transp=70, offset=4)
//bgcolor(downConditions == 1 ? red : na, transp=70)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=1)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=2)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=3)
//bgcolor(downConditions == 1 ? silver : na, transp=70, offset=4)
//Entires
if(longOrShort)
strategy.entry(id = "Long", long = true, when = allConditions)
else
strategy.entry(id = "Short", long = false, when = allConditions)
//Exits
if (barssince(allConditions) == closePositionDays)
if(longOrShort)
strategy.close("Long")
else
strategy.close("Short")