ट्रेडिंग रणनीति के बाद वॉल्यूम आधारित रुझान

लेखक:चाओझांग, दिनांकः 2024-01-29 15:04:18
टैगः

img

अवलोकन

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

रणनीति तर्क

  1. vol_length की लंबाई के साथ वॉल्यूम चलती औसत vol_sum की गणना करें और इसे vol_smooth अवधि चलती औसत द्वारा चिकना करें।
  2. जब वॉल्यूम सीमा से ऊपर उठता है तो लंबे सिग्नल उत्पन्न करता है और जब वॉल्यूम सीमा से नीचे गिरता है तो छोटे सिग्नल उत्पन्न करता है।
  3. झूठे संकेतों को फ़िल्टर करने के लिए, केवल उस समय लंबा समय लगता है जब पिछले दिशा पट्टी में जाँच की गई कीमत की प्रवृत्ति ऊपर है और इसके विपरीत।
  4. दो थ्रेशोल्ड मान threshold और threshold2 सेट करें। threshold ट्रेड सिग्नल उत्पन्न करता है जबकि threshold2 स्टॉप लॉस के रूप में कार्य करता है।
  5. राज्य मशीन तर्क के माध्यम से खुले/बंद आदेशों का प्रबंधन करें।

लाभ विश्लेषण

  1. वॉल्यूम संकेतक अधिक सटीक संकेतों के लिए बाजार की खरीद/बिक्री शक्ति में परिवर्तन को कैप्चर करता है।
  2. मूल्य प्रवृत्ति के साथ संयोजन मूल्य उतार-चढ़ाव के दौरान गलत संकेतों से बचाता है।
  3. दो सीमा मान जोखिमों को बेहतर ढंग से नियंत्रित करते हैं।

जोखिम विश्लेषण

  1. वॉल्यूम संकेतक में विलंब है और मूल्य मोड़ बिंदुओं को याद कर सकता है।
  2. गलत पैरामीटर सेटिंग्स से ओवर-ट्रेडिंग या सिग्नल में देरी होती है।
  3. ट्रेडिंग वॉल्यूम में स्पाइक के दौरान स्टॉप लॉस हो सकता है।

मापदंडों को समायोजित करके, संकेतक गणना को अनुकूलित करके और अन्य पुष्टिकरणों को जोड़कर जोखिमों को कम किया जा सकता है।

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

  1. बाजार की स्थितियों के आधार पर मापदंडों का अनुकूलन अनुकूलन।
  2. संकेतों को और अधिक सत्यापित करने के लिए अस्थिरता सूचकांक जैसे अन्य संकेतक शामिल करें।
  3. सिग्नल की सटीकता में सुधार के लिए मशीन लर्निंग मॉडल लागू करने वाला अनुसंधान।

निष्कर्ष

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


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy('Volume Advanced', default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Start Month"), input(17, "Start Day"), 0, 0)
end    = timestamp(input(9999, "End Year"),   input(1, "End Month"),   input(1, "End Day"),   0, 0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)

source = close 
vol_length  = input(34, title = "Volume - Length")
vol_smooth  = input(200,title = "Volume - Smoothing")
volriselen  = input(21,  title = "Volume - Risinglength")
volfalllen  = input(13, title = "Volume - Fallinglength")
threshold   = input(1,"threshold")
threshold2  = input(1.2,step=0.1, title="Threshold 2")
direction = input(13,"amount of bars")


volsum  = sum(volume, vol_length) / (sum(volume, vol_smooth) / (vol_smooth / vol_length))


LongEntry  = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close > close[direction]
ShortEntry = (rising(volsum, volriselen) or crossover (volsum, threshold)) and close < close[direction]
LongExit1  = falling (volsum,volfalllen)
ShortExit1 = falling (volsum,volfalllen)
LongExit2= (crossover(volsum, threshold2) and close < close[direction])


_state = 0
_prev = nz(_state[1])
_state := _prev

if _prev == 0
    if LongEntry
        _state := 1
        _state
    if ShortEntry
        _state := 2
        _state
if _prev == 1
    if ShortEntry or LongExit1
        _state := 0
        _state
if _prev == 2
    if LongEntry or ShortExit1
        _state := 0
        _state

_bLongEntry = _state == 1 
_bLongClose = _state == 0 

long_condition = _bLongEntry and close > close[direction]
strategy.entry('BUY', strategy.long, when=long_condition)  
 
short_condition =  _bLongClose or LongExit2
strategy.close('BUY', when=short_condition)

plot(volsum,      color = color.green,    title="Vol_Sum")
plot(threshold, color = color.fuchsia, transp=50, title="Threshold")
plot(threshold2, color=color.white, transp = 50, title="Threshold 2")

अधिक