इचिमोकू क्लाउड चार्ट के आधार पर एक प्रवृत्ति रणनीति अनुकूलन

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

img

अवलोकन

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

सिद्धांत

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

विशेष रूप से, लंबे संकेत को तब ट्रिगर किया जाता है जबः

  1. Tenkan-sen बादल के ऊपर पार करता है
  2. बादल व्यापक है और Tenkan-सेन Kijun-सेन के ऊपर है
  3. चिकू स्पैन शून्य रेखा से ऊपर है
  4. समापन मूल्य बादल के ऊपर है
  5. एमएसीडी हिस्टोग्राम 0 से ऊपर है
  6. सीएमएफ 0.1 से अधिक है
  7. एसटीआई 0 से ऊपर है

उपरोक्त स्थितियों के उलट जाने पर शॉर्ट सिग्नल ट्रिगर होता है। इस तरह के व्यापक मानदंडों से अधिकांश झूठे संकेतों को फ़िल्टर किया जा सकता है और बाजार में प्रमुख रुझानों को कैप्चर किया जा सकता है।

लाभ

इस रणनीति का सबसे बड़ा लाभ कई संकेतकों के संयोजन से झूठे संकेतों को फ़िल्टर करना और मजबूत रुझानों को पकड़ना है। विशेष रूप सेः

  1. Ichimoku बादल प्रमुख प्रवृत्ति दिशा निर्धारित करता है
  2. सहायक संकेतक संकेतों को और फ़िल्टर करते हैं और जोखिमों को कम करते हैं
  3. अधिक विश्वसनीय संकेतों के लिए व्यापक रूप से कई समय सीमाओं पर विचार करता है
  4. केवल उच्च गुणवत्ता वाले सेटअपों का व्यापार करने और अस्थिर बाजारों से बचने के लिए सख्त नियम
  5. रुझान लाभ को अधिकतम करने के लिए रुझान के बाद तंत्र

इस तरह के निर्णयों के माध्यम से, रणनीति प्रभावी रूप से मध्यम और दीर्घकालिक गर्म क्षेत्रों की पहचान कर सकती है और ट्रेंड ट्रेडिंग से लाभान्वित हो सकती है।

जोखिम

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

  1. गलत संकेत देने वाला झूठा ब्रेकआउट जोखिम
  2. सभी लाभों के नुकसान का कारण बनने वाला रुझान उलटने का जोखिम
  3. अपेक्षाकृत कम व्यापारिक आवृत्ति से छूटने वाले अवसर

समाधान:

  1. व्यापारिक आवृत्ति बढ़ाने के लिए फ़िल्टरिंग मानदंडों को ठीक से ढीला करें
  2. हानि के आकार को सीमित करने के लिए स्टॉप लॉस की स्थिति जोड़ें
  3. संकेत सटीकता में सुधार के लिए मापदंडों का अनुकूलन

सुधार

मुख्य अनुकूलन दिशाएं:

  1. बेहतर पैरामीटर संयोजन खोजने के लिए अधिक बैकटेस्ट के माध्यम से पैरामीटर अनुकूलन

  2. जोखिमों को नियंत्रित करने के लिए स्टॉप लॉस तंत्र जोड़ें

  3. मुनाफे में लॉक करने के लिए ट्रेलिंग स्टॉप लॉस जोड़ें

  4. बेहतर फ़िल्टर संयोजन खोजने के लिए अधिक संकेतकों का परीक्षण करें

  5. वास्तविक ब्रेकआउट को अलग करने के लिए नियम जोड़ें

निष्कर्ष

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


/*backtest
start: 2024-01-11 00:00:00
end: 2024-01-13 14:00:00
period: 1m
basePeriod: 1m
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/
// © exlux99

//@version=4
strategy("Ichimoku with MACD/ CMF/ TSI", overlay=true, margin_long=0, margin_short=0)



//Inputs
ts_bars = input(10, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(30, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(52, minval=1, title="Senkou-Span B Bars")
cs_offset = input(26, minval=1, title="Chikou-Span Offset")
ss_offset = input(26, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")

middle(len) => avg(lowest(len), highest(len))

// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)


ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])

// Entry/Exit Signals
fast_length = input(title="Fast Length", type=input.integer, defval=17)
slow_length = input(title="Slow Length", type=input.integer, defval=28)
src = input(title="Source", type=input.source, defval=close)
signal_length = input(title="Signal Smoothing", type=input.integer, minval = 1, maxval = 50, defval = 5)
sma_source = input(title="Simple MA(Oscillator)", type=input.bool, defval=true)
sma_signal = input(title="Simple MA(Signal Line)", type=input.bool, defval=true)

// Calculating
fast_ma = sma_source ? sma(src, fast_length) : ema(src, fast_length)
slow_ma = sma_source ? sma(src, slow_length) : ema(src, slow_length)
macd = fast_ma - slow_ma
signal = sma_signal ? sma(macd, signal_length) : ema(macd, signal_length)
hist = macd - signal


tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(close, cs_offset-1) > 0
cs_cross_bear = mom(close, cs_offset-1) < 0
price_above_kumo = close > ss_high
price_below_kumo = close < ss_low


//CMF
lengthA = input(8, minval=1, title="CMF Length")
ad = close==high and close==low or high==low ? 0 : ((2*close-low-high)/(high-low))*volume
mf = sum(ad, lengthA) / sum(volume, lengthA)


//TSI
long = input(title="Long Length", type=input.integer, defval=8)
short = input(title="Short Length", type=input.integer, defval=8)
price = close
double_smooth(src, long, short) =>
	fist_smooth = ema(src, long)
	ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)



bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and hist > 0 and mf > 0.1 and tsi_value > 0
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and hist < 0  and mf < -0.1 and tsi_value < 0



strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.entry("Short", strategy.short, when=bearish and short_entry)

strategy.close("Long", when=bearish and not short_entry)
strategy.close("Short", when=bullish and not long_entry)

अधिक