गति का पता लगाने की रणनीति

लेखक:चाओझांग, दिनांकः 2024-03-01 11:08:43
टैगः

img

अवलोकन

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

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

प्रवेश संकेतों को निर्धारित करने के लिए इस रणनीति के मुख्य संकेतक निम्नलिखित हैंः

  1. प्रतिशत मूल्य परिवर्तन (isFourPercentBull) - यह निर्धारित करने के लिए कि क्या मूल्य प्रभावी रूप से टूट गया है, पिछले दिन की समापन मूल्य के सापेक्ष समापन मूल्य के प्रतिशत परिवर्तन की गणना करें।

  2. समापन मूल्य का उच्चतम मूल्य से अनुपात (HighCloseRatio) - मूल्य ब्रेकआउट की ताकत निर्धारित करने के लिए समापन मूल्य का उच्चतम मूल्य से अनुपात की गणना करें।

  3. ट्रेडिंग वॉल्यूम (वॉल्यूम) - वैध सफलता सुनिश्चित करने के लिए ट्रेडिंग वॉल्यूम को पिछले दिन से अधिक होना आवश्यक है।

  4. 200-दिवसीय सरल चलती औसत (एसएमए) - प्रवृत्ति की दिशा निर्धारित करने के लिए 200-दिवसीय रेखा से अधिक होने के लिए समापन मूल्य और उद्घाटन मूल्य की आवश्यकता होती है।

जब उपरोक्त कई शर्तें एक ही समय में पूरी हो जाती हैं, तो एक खरीद संकेत जारी किया जाता है। इसके बाद, रणनीति सक्रिय रूप से नुकसान को रोकने और लाभ में लॉक करने के लिए मूल्य ट्रैकिंग स्टॉप लॉस का उपयोग करती है। विशेष रूप से, ट्रेलिंग स्टॉप लॉस लाइन के लिए गणना सूत्र हैः

trailPrice = close * (100 - trailPercent) / 100

जहां trailPercent कॉन्फ़िगर करने योग्य ट्रेलिंग स्टॉप लॉस प्रतिशत है। यह सुनिश्चित करता है कि जब तक कीमतें बढ़ती हैं, स्टॉप लॉस लाइन भी लाभ में लॉक करने के लिए बढ़ेगी। जब कीमतें स्टॉप लॉस लाइन पर वापस गिरती हैं, तो नुकसान को रोकने के लिए पदों को बंद करें।

रणनीति के फायदे

एक विशिष्ट ब्रेकआउट रणनीति के रूप में, इसके निम्नलिखित फायदे हैंः

  1. मल्टी-कंडीशन फिल्टरिंग ब्रेकआउट की वैधता सुनिश्चित करती है और झूठे ब्रेकआउट से बचती है।

  2. मूल्य ट्रैकिंग स्टॉप लॉस को अपनाएं, जो सक्रिय रूप से नुकसान को कम कर सकता है और ड्रॉडाउन से बचने के लिए लाभ को अधिकतम कर सकता है।

  3. रणनीति का तर्क सरल और स्पष्ट है, इसे समझना और अनुकूलित करना आसान है।

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

इस रणनीति में कुछ जोखिम भी हैं:

  1. अभी भी असफल ब्रेकआउट की संभावना है जो नुकसान से पूरी तरह बच नहीं सकते।

  2. अत्यधिक आक्रामक ट्रैकिंग स्टॉप से लगातार स्टॉप हो सकते हैं।

  3. गलत पैरामीटर सेटिंग्स से अत्यधिक ट्रेडिंग आवृत्तियों या मिस किए गए संकेतों का कारण बन सकता है।

संबंधित जोखिमों के समाधान इस प्रकार हैंः

  1. पर्याप्त स्थान सुनिश्चित करने के लिए मापदंडों को अनुकूलित करें और स्टॉप लॉस परिमाण को कम करें।

  2. यह सुनिश्चित करने के लिए कि स्पष्ट रुझानों को याद नहीं किया जाता है, ब्रेकआउट स्थितियों को उचित रूप से ढीला करें।

  3. रणनीति की स्थिरता का आकलन करने के लिए विभिन्न किस्मों का परीक्षण करें।

अनुकूलन दिशाएँ

इस रणनीति में रुके जाने की उच्च आवृत्ति को ध्यान में रखते हुए निम्नलिखित दिशाओं को और अधिक अनुकूलित किया जा सकता हैः

  1. अन्य स्टॉप लॉस ट्रैकिंग विधियों का प्रयोग करें, जैसे कि चलती औसत ट्रैकिंग, एटीआर और अस्थिरता ट्रैकिंग।

  2. ऐतिहासिक आंकड़ों के आधार पर बेहतर प्रदर्शन करने वाले पैरामीटर संयोजनों के निर्णयों को प्रशिक्षित करने के लिए मशीन लर्निंग एल्गोरिदम बढ़ाएं।

  3. प्रभावकारिता सुनिश्चित करने के लिए वॉल्यूम ब्रेकआउट के आधार पर सहायक निर्णय की शर्तें जोड़ें।

  4. सर्वोत्तम फिट खोजने के लिए विभिन्न किस्मों में पैरामीटर सेटिंग्स में अंतर का मूल्यांकन करें।

निष्कर्ष

मोमेंटम बर्स्ट ट्रैकिंग रणनीति समग्र रूप से एक बहुत ही व्यावहारिक ट्रेंड ट्रैकिंग रणनीति है। यह ब्रेकआउट रणनीतियों में नुकसान और लाभ लेने को प्रभावी ढंग से रोकने में असमर्थता की समस्या को हल करती है, जबकि अभी भी रुझानों को पकड़ते समय जोखिमों को अच्छी तरह से नियंत्रित करती है। अनुकूलन और मशीन लर्निंग की शुरुआत करके आगे सुधार के लिए जगह के साथ, यह गहन शोध और अनुप्रयोग के लायक है।


/*backtest
start: 2023-03-01 00:00:00
end: 2023-12-10 05:20: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/
// © doks23

//@version=5
strategy(title = "SD:Momentum Burst", overlay=true, initial_capital=1000,commission_value = 0,slippage = 0,process_orders_on_close=true)

//Check Vol
checkVol = input.bool(defval=false,title="IncludeAvgVolume?")
volSMAlength = input(50, title="VolumeLength")
volumeSma = ta.sma(volume, volSMAlength)
highvolume = volume >= volumeSma
volumeCond=checkVol?highvolume:true

// Profit and Loss
trailPercent    = input.float(title="Trail%", defval=3, step=0.1)

//longCondition
PercentThreshold=input.float(3.8,'BreakoutPercent', step=0.1)
MaxThreshold=input.float(10,'Max Breakout', step=0.1)
HighCloseRatio=input.float(70,'Close to High Ratio', step=1)
float candleCloseBull = ((close[0] - open[0]) / (high[0] - open[0]) * 100)
float isFourPercentBull = (((close[0] - close[1]) / close[1]) * 100)
LongCond=volume > volume[1] and isFourPercentBull > PercentThreshold and candleCloseBull > HighCloseRatio and isFourPercentBull<MaxThreshold
barcolor(color=(LongCond?color.yellow: na),title='BObar')
longCondition= LongCond and volumeCond and close>ta.sma(close,200) and open>ta.sma(close,200)

//Input Strategy
DateCheck=  input.bool(title = 'Custom Date Range?', defval=true,group = 'Strategy')
FromDate=   input(defval = timestamp("1 Jan 2019 00:00"),group = 'Strategy')
ToDate      =input(defval = timestamp("31 Dec 2023 00:00"),group = 'Strategy')
PostionSize =input.string('Contract','Select Position Size',options = ['Percent of Equity','Contract'],group = 'Strategy')
ContractQty =input.int(1,'No of Contract',group = 'Strategy')

//Backtesting Date Range
TimeWindow=true
// Number of Contract
var int trade_qty=na
if(PostionSize=='Contract')
    trade_qty:=ContractQty
else
    trade_qty:= (strategy.equity>strategy.initial_capital)?math.floor(strategy.equity/strategy.initial_capital):ContractQty


//Position Buy
BuyTriggerPrice = ta.valuewhen(longCondition,high,0)
//Trailing price
var float trailPrice    = na
float percentMulti = (100 - trailPercent) / 100
longCondition2=longCondition and TimeWindow
if longCondition2
    strategy.entry("Long", strategy.long,qty=trade_qty,stop = BuyTriggerPrice)
    trailPrice := close*percentMulti
if strategy.position_size>0
    trailPrice := math.max(close*percentMulti,trailPrice[1])
    if low <= trailPrice
        strategy.exit('Exit','Long',stop = trailPrice)
        if strategy.position_size==0     
            trailPrice:=na
// Plot Strategy
var float trail_long_SL=na
if strategy.position_size>0
    trail_long_SL:=trailPrice
else
    trail_long_SL:=na
//Strategy Plot
PlotMA=input.bool(title="Plot MA?", defval=false)
plot(PlotMA?ta.sma(close,10):na,color = color.red,title = '10MA')
plot(PlotMA?ta.sma(close,21):na,color = color.white,title = '21MA')
plot(PlotMA?ta.sma(close,200):na,color = color.orange,title = '200MA')
// plot(trail_long_SL,color = color.gray,style = plot.style_steplinebr,linewidth = 1)

अधिक