फ्रैक्टल और पैटर्न आधारित मात्रात्मक ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-19 14:32:45
टैगः

img

अवलोकन

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

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

यह रणनीति विस्तृत मूल्य कार्रवाई विश्लेषण पर आधारित है, प्रवृत्ति को पकड़ने के लिए स्पष्ट प्रवेश और स्टॉप लॉस तर्क को परिभाषित करने के लिए फ्रैक्टल विश्लेषण और कैंडलस्टिक पैटर्न मान्यता के संयोजन का उपयोग करके।

विशेष रूप से, इसकी प्रवेश स्थिति हैः मूल्य पिछले 2 बार के उच्च से ऊपर टूट जाता है, और एक फ्रैक्टल ब्रेकआउट या तेजी से गला घोंटने या हथौड़ा पैटर्न होता है। यह संयोजन लंबे संकेतों की ठोस पुष्टि करता है। स्टॉप लॉस तर्क जो पिछले 2 बार के निचले स्तर से नीचे मूल्य ब्रेकआउट को परिभाषित करता है, त्वरित और प्रभावी स्टॉप सुनिश्चित करता है।

पैटर्न का पता लगाने के लिए, यह रणनीति प्रमुख उलट बिंदुओं की पहचान करने के लिए आम तौर पर इस्तेमाल किए जाने वाले फ्रैक्टल सिद्धांत का उपयोग करती है, साथ ही 3 क्लासिक कैंडलस्टिक उलट पैटर्न का पता लगाने के लिए एल्गोरिदम भी।

कोडिंग पाइन लिपि में की जाती है। जब कीमत 3-बार नई उच्च/निम्न बनाती है तो फ्रैक्टल उच्च/निम्न की पहचान की जाती है, और खोलने/बंद करने की कीमतों पर सख्त नियमों का उपयोग गल्फिंग पैटर्न के लिए किया जाता है।

लाभ

इस रणनीति के मुख्य लाभ:

  1. फ्रैक्टल और पैटर्न को जोड़कर सटीक संकेत
  2. स्पष्ट प्रवेश और स्टॉप लॉस तर्क
  3. परिपक्व सिद्धांत अति-फिटिंग को रोकते हैं
  4. पाइन स्क्रिप्ट बैकटेस्टिंग की अनुमति देता है

जोखिम

अभी भी कुछ जोखिम हैं:

  1. फ्रैक्टल और पैटर्न का पता लगाने में व्यक्तिवाद
  2. संभावित रूप से लगातार घाटे में ट्रेड उत्पन्न करने वाले Whipsaws
  3. स्टॉप लॉस साइजिंग को उच्च आवृत्ति व्यापार के लिए समायोजन की आवश्यकता होती है

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

सुधार

आगे सुधार के लिए क्षेत्र:

  1. मजबूती के लिए ठीक से ट्यून कैंडलस्टिक पैटर्न पैरामीटर
  2. Whipsaws से बचने के लिए प्रवृत्ति पूर्वाग्रह फ़िल्टर जोड़ें
  3. स्वचालित पैरामीटर अनुकूलन के लिए मशीन सीखने का परिचय

ये सुधार रणनीति की स्थिरता और लाभप्रदता को और मजबूत करेंगे।

निष्कर्ष

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


/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Fractal & Pattern Entry/Exit Strategy", overlay=true)

// Fractal calculation
fractalHigh = high == highest(3)
fractalLow = low == lowest(3)

// Pattern detection
bullishEngulfing = open < close[1] and close > open[1] and close > open + (open[1] - close[1]) * 2 and low < min(open, close) and high > max(open, close) and open[1] > close[1]
bearishEngulfing = open > close[1] and close < open[1] and open > close + (close[1] - open[1]) * 2 and high > max(open, close) and low < min(open, close) and open[1] < close[1]
hammer = open < close and close > (high + low + open * 2) / 4 and close - open > (high - low) * 0.6 and high - close < (high - low) * 0.1 and open - low < (high - low) * 0.1
hangingMan = open > close and open < (high + low + close * 2) / 4 and open - close > (high - low) * 0.6 and high - open < (high - low) * 0.1 and close - low < (high - low) * 0.1

// Entry condition
longCondition = crossover(close, highest(2)[1]) and (fractalHigh or bullishEngulfing or hammer)
shortCondition = crossunder(close, lowest(2)[1]) and (fractalLow or bearishEngulfing or hangingMan)

// Exit condition
exitLongCondition = crossunder(close, lowest(2)[1])
exitShortCondition = crossover(close, highest(2)[1])

// Entry and exit orders
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)
if (exitLongCondition)
    strategy.close("Long")
if (exitShortCondition)
    strategy.close("Short")

// Plot fractals
plotshape(fractalHigh, title="Fractal High", style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small)
plotshape(fractalLow, title="Fractal Low", style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small)

// Plot patterns
plotshape(bullishEngulfing, title="Bullish Engulfing", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(bearishEngulfing, title="Bearish Engulfing", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)
plotshape(hammer, title="Hammer", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small)
plotshape(hangingMan, title="Hanging Man", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)


अधिक