
यह एक बहुत ही क्लासिक चलती औसत की रणनीति है। यह रणनीति TENKAN और KIJUN के दो अलग-अलग चक्रों की चलती औसत का उपयोग करती है, जिससे गोल्डफ़ॉर्क और डेडफ़ॉर्क सिग्नल बनते हैं।
यह रणनीति मुख्य रूप से एक जापानी स्टॉक तकनीकी विश्लेषण पद्धति पर आधारित है, जिसे एक नज़र में संतुलन तालिका कहा जाता है, जो बाजार के रुझान की दिशा का आकलन करने के लिए TENKAN लाइन और KIJUN लाइन जैसे कई चलती औसत का उपयोग करता है।
सबसे पहले, TENKAN लाइन 9 दिनों की है, जो अल्पकालिक रुझान का प्रतिनिधित्व करती है; KIJUN लाइन 26 दिनों की है, जो मध्यवर्ती रुझान का प्रतिनिधित्व करती है। जब यह अल्पकालिक पर मध्यवर्ती से गुजरता है, तो यह एक खरीद संकेत उत्पन्न करता है; जब यह अल्पकालिक के नीचे मध्यवर्ती से गुजरता है, तो यह एक बेचने का संकेत उत्पन्न करता है। इस प्रकार, यह एक क्लासिक चलती औसत रणनीति का गठन करता है।
फिर, रणनीति में हवा और बादल की रेखाएं भी शामिल की जाती हैं। हवा की रेखा अल्पकालिक और मध्यावधि चलती औसत का औसत है, और बादल की रेखा B 52 दिनों की चलती औसत है। वे बादल की बैंडिंग का गठन करते हैं और लंबी अवधि के रुझान की दिशा निर्धारित करते हैं। बादल के ऊपर की जगह में कीमतें बहु-दिशात्मक बाजार हैं, और बादल के नीचे की जगह में कीमतें हैं।
अंत में, झूठे संकेतों को फ़िल्टर करने के लिए, यह रणनीति यह भी जांचती है कि क्या कीमत ओटीओ लाइन (२६ दिन की कीमतों की विलंबता रेखा) के साथ संबंध है। खरीद संकेत केवल तभी उत्पन्न होता है जब कीमत ओटीओ लाइन के नीचे होती है; बिक्री संकेत केवल तभी उत्पन्न होता है जब कीमत ओटीओ लाइन के ऊपर होती है।
यह एक बहुत ही विशिष्ट चलती औसत रणनीति है, जिसका लाभ मुख्य रूप से तीन पहलुओं में है:
दो अलग-अलग चक्रों की औसत रेखाओं का उपयोग करके, अल्पकालिक और मध्यम अवधि के दो समय आयामों की प्रवृत्ति दिशा का प्रभावी ढंग से आकलन किया जा सकता है।
प्रकाश बादल की रेखा का उपयोग करके दीर्घकालिक रुझानों का आकलन करें और लंबे समय तक गिरावट वाले बाजारों में अधिक देखने से बचें।
मूल्य और विलंब मूल्य के बीच संबंध का पता लगाने से कई झूठे संकेतों को फ़िल्टर किया जा सकता है और अनावश्यक लेनदेन को कम किया जा सकता है।
इसलिए, इस रणनीति में औसत रेखा की कई विशेषताओं का व्यापक उपयोग किया गया है, ताकि समय के साथ लघु, मध्यम और दीर्घकालिक तीन आयामों में रुझान के अवसरों को पकड़ने में मदद मिल सके।
इस रणनीति के मुख्य जोखिम हैंः
औसत रेखा रणनीतियों में बहुत सारे झूठे सिग्नल पैदा करने की संभावना होती है। यदि आप पैरामीटर को अच्छी तरह से सेट नहीं कर सकते हैं, तो आप अक्सर व्यापार करने के लिए कैद हो सकते हैं।
इस रणनीति में तकनीकी पहलुओं को प्राथमिकता दी गई है, बुनियादी कारकों को ध्यान में नहीं रखा गया है। यदि कंपनी के प्रदर्शन या बाजार नीति में कोई महत्वपूर्ण परिवर्तन होता है, तो तकनीकी संकेत भी विफल हो सकते हैं।
यह रणनीति केवल खरीद और बिक्री के निर्णयों को ध्यान में रखती है और इसमें कोई रोकथाम नहीं है। एक गलत निर्णय के कारण नुकसान बढ़ सकता है।
इसलिए, हमें या तो एक अधिक उन्नत सम-रेखा प्रणाली की तलाश करनी चाहिए, या एक उचित स्टॉप-लॉस सेट करना चाहिए, या बुनियादी संकेतों को जोड़ना चाहिए, ताकि रणनीति को और बेहतर बनाया जा सके और जोखिम को कम किया जा सके।
इस रणनीति को निम्नलिखित पहलुओं से भी अनुकूलित किया जा सकता हैः
अधिक स्थिर और अधिक कुशल पैरामीटर संयोजन की तलाश करें. हम अधिक डेटा के माध्यम से पैरामीटर के मूल्यों को पा सकते हैं जो रणनीति के प्रदर्शन को बेहतर बनाते हैं.
बढ़ी हुई रोकथाम तंत्र. उचित रोकथाम रणनीति के अधिकतम नुकसान को प्रभावी ढंग से नियंत्रित कर सकता है.
मूलभूत संकेतों को शामिल करना। उदाहरण के लिए, प्रदर्शन की उम्मीदों के संशोधन के आंकड़े कंपनी के भविष्य को निर्धारित कर सकते हैं, जिससे रणनीति की प्रभावशीलता में सुधार हो सकता है।
ओटीओ लाइन रणनीति का अनुकूलन करना मौजूदा कार्यान्वयन बहुत सरल है, हम कीमतों और ऐतिहासिक कीमतों के बीच संबंधों को अधिक स्थिर और सटीक तरीके से आंकने के लिए खोज कर सकते हैं
चयनित शेयरों के संकेतों के साथ, PE, ROE जैसे कारकों की रेटिंग को जोड़ा गया है, जो कुछ खराब गुणवत्ता वाले संकेतों को फ़िल्टर कर सकता है।
यह एक बहुत ही विशिष्ट और व्यावहारिक चलती औसत रणनीति है. यह एक ही समय में तीन आयामों के छोटे, मध्यम और लंबे समय के रुझानों पर ध्यान केंद्रित करता है, व्यापार संकेतों को डिजाइन करने के लिए समान रेखा की विभिन्न विशेषताओं का उपयोग करता है, और यह बहुत अच्छा काम करता है. हम इस आधार पर, पैरामीटर अनुकूलन, स्टॉप लॉस, स्टॉक चयन आदि के माध्यम से सुधार कर सकते हैं, और इसके प्रदर्शन को बेहतर बना सकते हैं। कुल मिलाकर, यह एक मात्रात्मक रणनीति है जिसका अध्ययन और दीर्घकालिक ट्रैकिंग पर ध्यान दिया जाना चाहिए।
/*backtest
start: 2022-11-28 00:00:00
end: 2023-12-04 00:00: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/
// © mdeous
//@version=4
strategy(
title="Ichimoku Kinko Hyo Strategy",
shorttitle="Ichimoku Strategy",
overlay=true,
pyramiding=0,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
initial_capital=1000,
currency="USD",
commission_type=strategy.commission.percent,
commission_value=0.0
)
//
// SETTINGS
//
// Ichimoku
int TENKAN_LEN = input(title="Tenkan-Sen Length", defval=9, minval=1, step=1)
int KIJUN_LEN = input(title="Kijun-Sen Length", defval=26, minval=1, step=1)
int SSB_LEN = input(title="Senkou Span B Length", defval=52, minval=1, step=1)
int OFFSET = input(title="Offset For Chikou Span / Kumo", defval=26, minval=1, step=1)
// Strategy
int COOLDOWN = input(title="Orders Cooldown Period", defval=5, minval=0, step=1)
bool USE_CHIKOU = input(title="Use Imperfect Chikou Position Detection", defval=false)
//
// HELPERS
//
color _red = color.red
color _blue = color.blue
color _lime = color.lime
color _fuchsia = color.fuchsia
color _silver = color.silver
color _aqua = color.aqua
f_donchian(_len) => avg(lowest(_len), highest(_len))
//
// ICHIMOKU INDICATOR
//
float tenkan = f_donchian(TENKAN_LEN)
float kijun = f_donchian(KIJUN_LEN)
float ssa = avg(tenkan, kijun)
float ssb = f_donchian(SSB_LEN)
plot(tenkan, title="Tenkan", color=_silver)
plot(close, title="Chikou", offset=-OFFSET+1, color=_aqua)
_ssa = plot(ssa, title="SSA", offset=OFFSET-1, color=_lime)
_ssb = plot(ssb, title="SSB", offset=OFFSET-1, color=_red)
fill(_ssa, _ssb, color=ssa > ssb ? _lime : _fuchsia, transp=90)
//
// STRATEGY
//
// Check if price is "above or below" Chikou (i.e. historic price line):
// This detection is highly imperfect, as it can only know what Chikou position
// was 2*offset candles in the past, therefore if Chikou crossed the price
// line in the last 2*offset periods it won't be detected.
// Use of this detection is disabled by default,
float _chikou_val = close[OFFSET*2+1]
float _last_val = close[OFFSET+1]
bool above_chikou = USE_CHIKOU ? _last_val > _chikou_val : true
bool below_chikou = USE_CHIKOU ? _last_val < _chikou_val : true
// Identify short-term trend with Tenkan
bool _above_tenkan = min(open, close) > tenkan
bool _below_tenkan = max(open, close) < tenkan
// Check price position compared to Kumo
bool _above_kumo = min(open, close) > ssa
bool _below_kumo = max(open, close) < ssb
// Check if Kumo is bullish or bearish
bool bullish_kumo = ssa > ssb
bool bearish_kumo = ssa < ssb
// Correlate indicators to confirm the trend
bool bullish_trend = _above_tenkan and _above_kumo and bullish_kumo
bool bearish_trend = _below_tenkan and _below_kumo and bearish_kumo
// Build signals
bool buy1 = (close > open) and ((close > ssa) and (open < ssa)) // green candle crossing over SSA
bool buy2 = bullish_kumo and bearish_kumo[1] // bullish Kumo twist
bool sell1 = (close < open) and ((close < ssb) and (open > ssb)) // red candle crossing under SSB
bool sell2 = bearish_kumo and bullish_kumo[1] // bearish Kumo twist
bool go_long = below_chikou and (bullish_trend and (buy1 or buy2))
bool exit_long = above_chikou and (bearish_trend and (sell1 or sell2))
//
// COOLDOWN
//
f_cooldown() =>
_cd_needed = false
for i = 1 to COOLDOWN by 1
if go_long[i]
_cd_needed := true
break
_cd_needed
go_long := f_cooldown() ? false : go_long
//
// ORDERS
//
strategy.entry("buy", strategy.long, when=go_long)
strategy.close_all(when=exit_long)
//
// ALERTS
//
alertcondition(
condition=go_long,
title="Buy Signal",
message="{{exchange}}:{{ticker}}: A buy signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})."
)
alertcondition(
condition=exit_long,
title="Sell Signal",
message="{{exchange}}:{{ticker}}: A sell signal for {{strategy.market_position_size}} units has been detected (last close: {{close}})."
)