संसाधन लोड हो रहा है... लोड करना...

123 रिवर्सल और फ्रैक्टल कैओस ऑसिलेटर की कॉम्बो रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-02 16:43:41
टैगः

img

अवलोकन

यह एक कॉम्बो रणनीति है जो अधिक विश्वसनीय ट्रेडिंग संकेत प्राप्त करने के लिए 123 रिवर्सल रणनीति और फ्रैक्टल कैओस ऑसिलेटर रणनीति को जोड़ती है।

रणनीति तर्क

इस रणनीति के दो भाग हैंः

  1. 123 प्रतिवर्तन रणनीति

    यह रणनीति पुस्तक से है How I Tripled My Money in The Futures Market by Ulf Jensen, पृष्ठ 183. यह एक उल्टा प्रकार की रणनीति है। तर्क हैः

    • लंबे समय तक जाएं जब बंद मूल्य पिछले बंद से 2 लगातार दिनों के लिए अधिक हो, और 9-दिवसीय धीमी स्टॉक 50 से नीचे हो।

    • शॉर्ट तब करें जब क्लोजर की कीमत पिछले क्लोजर से 2 लगातार दिनों के लिए कम हो और 9 दिन का फास्ट स्टॉक 50 से ऊपर हो।

  2. फ्रैक्टल अराजकता थरथरानवाला रणनीति

    एफसीओ बाजार में सबसे सूक्ष्म आंदोलनों के बीच अंतर की गणना करता है। इसका मूल्य -1 और 1 के बीच में उतार-चढ़ाव करता है। मूल्य जितना अधिक होगा, प्रवृत्ति उतनी ही मजबूत होगी, चाहे ऊपर की प्रवृत्ति हो या नीचे की प्रवृत्ति।

    जब एफसीओ उच्च स्तर पर पहुंचता है तो लंबा जाओ। जब एफसीओ निम्न स्तर पर पहुंचता है तो छोटा जाओ। यह संकेतक इंट्राडे ट्रेडिंग के लिए उपयुक्त है।

जब दोनों रणनीतियों के संकेत मिलते हैं, तो उस दिशा में व्यापार किया जाएगा।

लाभ विश्लेषण

  • उल्टा और रुझान रणनीतियों का संयोजन गलत संकेतों को फ़िल्टर करने में मदद करता है और विश्वसनीयता में सुधार करता है।

  • उल्टा करने की रणनीति अल्पकालिक उल्टा होने के अवसरों को पकड़ती है, जबकि एफसीओ की रणनीति मध्यम-लंबी अवधि के रुझानों को पकड़ती है।

  • अनुकूलित स्टॉक मापदंड प्रभावी रूप से सीमा-बाधित बाजारों में झूठे संकेतों को फ़िल्टर करते हैं।

  • एफसीओ बाजार के सूक्ष्म उतार-चढ़ाव के प्रति संवेदनशील है और शुरुआती रुझान परिवर्तनों का पता लगा सकता है।

जोखिम और समाधान

  • रिवर्स रणनीतियों को प्रचंड रुझान रिवर्स द्वारा अभिभूत किया जा सकता है। मापदंडों को समायोजित करें या रुझान रणनीतियों के साथ संयोजन करें।

  • सूचक रणनीतियाँ अत्यधिक संकेत उत्पन्न कर सकती हैं। मापदंडों को समायोजित करें या फ़िल्टरिंग संकेतकों को जोड़ें।

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

  • एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस जोड़ें.

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

  • इष्टतम का पता लगाने के लिए विभिन्न उलट पैरामीटर संयोजनों का परीक्षण करें।

  • सबसे अच्छा खोजने के लिए विभिन्न एफसीओ मापदंडों का परीक्षण करें।

  • विभिन्न पैरामीटर अनुकूलन विधियों जैसे आनुवंशिक एल्गोरिदम, यादृच्छिक वन आदि का प्रयास करें।

  • अतिरिक्त फ़िल्टर संकेतों के लिए अधिक सहायक संकेतक जोड़ें।

  • सिग्नल की सटीकता में सुधार के लिए मशीन लर्निंग मॉडल जोड़ें।

  • जोखिम प्रबंधन तंत्र जैसे स्टॉप लॉस, पोजीशन साइजिंग आदि को लागू करें।

सारांश

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


/*backtest
start: 2023-10-02 00:00:00
end: 2023-10-26 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 07/10/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//   The value of Fractal Chaos Oscillator is calculated as the difference between 
// the most subtle movements of the market. In general, its value moves between 
// -1.000 and 1.000. The higher the value of the Fractal Chaos Oscillator, the 
// more one can say that it follows a certain trend – an increase in prices trend, 
// or a decrease in prices trend.
//
//   Being an indicator expressed in a numeric value, traders say that this is an 
// indicator that puts a value on the trendiness of the markets. When the FCO reaches 
// a high value, they initiate the “buy” operation, contrarily when the FCO reaches a 
// low value, they signal the “sell” action. This is an excellent indicator to use in 
// intra-day trading.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

fractalUp(pattern) =>
    p = high[pattern+1]
    okl = 1
    okr = 1
    res = 0.0
	for i = pattern to 1
		okl := iff(high[i] < high[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(high[i] < high[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

fractalDn(pattern) =>
    p = low[pattern+1]
    okl = 1
    okr = 1
    res = 0.0
	for i = pattern to 1
		okl := iff(low[i] > low[i+1] and okl == 1 , 1, 0)
	for i = pattern+2 to pattern*2+1
		okr := iff(low[i] > low[i-1] and okr == 1, 1, 0)
	res := iff(okl == 1 and okr == 1, p, res[1])
    res

FCO(Pattern) =>
    pos = 0.0
    xUpper = fractalUp(Pattern) 
    xLower = fractalDn(Pattern)
    xRes = iff(xUpper != xUpper[1], 1, 
             iff(xLower != xLower[1], -1, 0))
    pos := iff(xRes == 1, 1,
             iff(xRes == -1, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Fractal Chaos Oscillator", shorttitle="Combo", overlay = true)
Length = input(15, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Pattern = input(1, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posFCO = FCO(Pattern)
pos = iff(posReversal123 == 1 and posFCO == 1 , 1,
	   iff(posReversal123 == -1 and posFCO == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1 , 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

अधिक