
यह एक ट्रेंड ट्रैकिंग रणनीति है जो एक नजर में संतुलन तालिका के संकेतकों के आधार पर बनाई गई है। यह रणनीति एक नजर में संतुलन तालिका के रूपांतरण लाइन, बेंचमार्क लाइन और क्लाउड की आकृति का उपयोग करती है, जो एक बहुत ही सख्त प्रवेश शर्तों को निर्धारित करती है, जबकि एक साधारण स्टॉप-लॉस विधि का उपयोग करके ऑर्डर को बंद करने के लिए करती है। यह रणनीति लंबी लाइन ट्रेंड ट्रेडिंग के लिए उपयुक्त है।
यह रणनीति प्रवृत्ति की दिशा और ताकत का आकलन करने के लिए पहली नजर में संतुलन तालिका की रूपांतरण रेखा, बेंचमार्क रेखा, अग्रिम रेखा ए, अग्रिम रेखा बी और कीमत के संबंध का उपयोग करती है। विशिष्ट आकलन मानदंड इस प्रकार हैंः
जब उपरोक्त सभी शर्तें एक साथ पूरी होती हैं तो एक खरीद संकेत उत्पन्न होता है; जब सभी शर्तें उलट होती हैं, तो एक बेचने का संकेत उत्पन्न होता है।
इस रणनीति के साथ ही स्टॉप लॉस लाइन के रूप में फ्रंटलाइन ए सेट किया गया है। जब कीमत स्टॉप लॉस लाइन से नीचे जाती है, तो संबंधित स्थिति को खत्म कर दिया जाता है।
यह एक बहुत ही सख्त शर्त वाली रणनीति है, इसलिए यह झूठे संकेतों के हस्तक्षेप से बचने के लिए प्रभावी है, जिससे बड़े रुझानों के अवसरों को बंद कर दिया जाता है। साथ ही, रणनीति कई संकेतकों का उपयोग करके रुझानों का आकलन करती है, जिससे एक एकल संकेतक के गलत होने का प्रणालीगत जोखिम होता है।
यह रणनीति लंबी लाइन के लिए उपयुक्त है, जो ट्रेडिंग आवृत्ति को कम कर सकती है, जिससे ट्रेडिंग लागत और स्लाइड पॉइंट के प्रभाव को कम करने में मदद मिलती है।
इस रणनीति के लिए स्टॉप लॉस लाइन अपेक्षाकृत ढीली है, भविष्य की अग्रिम रेखा A. यह एक एकल हानि के लिए एक बड़ा जोखिम पैदा कर सकता है. स्टॉप लॉस लाइन को कसने पर विचार किया जा सकता है, या सहायक संकेतकों का उपयोग करके जोखिम नियंत्रण किया जा सकता है।
इसके अलावा, कम रणनीतिक संकेतों के साथ, कुछ शॉर्ट-लाइन अवसरों को याद किया जा सकता है। यदि आप अधिक आवृत्ति वाले ट्रेडों की तलाश करते हैं, तो कुछ प्रवेश आवश्यकताओं की कठोरता को कम करने पर विचार करें।
प्रवेश की शर्तों पर ढीले संतुलन पर विचार किया जा सकता है, प्रवेश द्वार को कम करने के लिए और अधिक संकेत प्राप्त करें; या मानक को बढ़ाने के लिए और अधिक शोर को छानने के लिए, कम परिष्कृत संकेतों को लॉक करें।
नुकसान को रोकने के तरीके को अनुकूलित किया जा सकता है, एकल नुकसान को नियंत्रित करने के लिए स्वचालित या दूरस्थ रोकथाम जैसे तरीकों का परीक्षण किया जा सकता है।
परिणाम पर विभिन्न मापदंडों के प्रभाव का परीक्षण किया जा सकता है, सबसे इष्टतम मापदंडों का संयोजन ढूंढें। अन्य संकेतकों को जोड़कर स्कोर किया जा सकता है, जिससे अधिक सटीक आदेश प्रबंधन संभव हो सके।
यह एक बहुत ही सख्त प्रवृत्ति ट्रैकिंग रणनीति है। यह प्रवृत्ति की दिशा और ताकत का आकलन करने के लिए और झूठे संकेतों से बचने के लिए संतुलन तालिका के कई संकेतकों का उपयोग करता है। साथ ही, एक आरामदायक स्टॉप-लॉकिंग विधि का उपयोग करते हुए, यह एक उत्कृष्ट रणनीतिक विचार है जो पैरामीटर और स्टॉप-लॉस के अनुकूलन के माध्यम से एक बहुत ही व्यावहारिक मात्रात्मक व्यापारिक रणनीति बन सकती है।
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="BadaBing Ichimoku", shorttitle="BadaBing", overlay=true)
atr_period = input(title="ATR Period", defval=20)
conversion_period = input(title="Conversion Line Period", defval=9, minval=1)
base_period = input(title="Base Line Period", defval=26, minval=1)
span_b_period = input(title="Span B Period", defval=52, minval=1)
displacement = input(title="Displacement", defval=26, minval=1)
min_current_cloud_atr = input(title="Min Current Cloud ATR", type=float, defval=1.0)
min_future_cloud_atr = input(title="Min Future Cloud ATR", type=float, defval=0)
check_base_line_above_cloud = input(title="Check Base Line above Cloud?", type=bool, defval=true)
check_conversion_line_above_base_line = input(title="Check Conversion Line above Base Line?", type=bool, defval=true)
check_price_above_conversion_line = input(title="Check Price above Conversion Line?", type=bool, defval=true)
check_span_a_point_up = input(title="Check Current Span A is pointing Up?", type=bool, defval=false)
check_span_b_point_up = input(title="Check Current Span B is pointing Up?", type=bool, defval=false)
check_future_span_a_point_up = input(title="Check Future Span A is pointing Up?", type=bool, defval=true)
check_future_span_b_point_up = input(title="Check Future Span B is pointing Up?", type=bool, defval=true)
check_base_line_point_up = input(title="Check Base Line is Pointing Up?", type=bool, defval=true)
check_conversion_line_point_up = input(title="Check Conversion Line is Pointing Up?", type=bool, defval=true)
bullish_color = #ccff99
bearish_color = #ff704d
span_a_color = #0000cc
span_b_color = #000066
conversion_color = #ff99ff
base_color = #4da6ff
bull_signal_color = #228b22
bear_signal_color = #990000
donchian(len) => avg(lowest(len), highest(len))
bchange(series) => series and not series[1]
conversion_line = donchian(conversion_period)
base_line = donchian(base_period)
future_span_a = avg(conversion_line, base_line)
future_span_b = donchian(span_b_period)
span_a = future_span_a[displacement]
span_b = future_span_b[displacement]
current_atr = atr(atr_period)
min_cloud_width = min_current_cloud_atr * current_atr
current_cloud_long_flag = span_a > (span_b + min_cloud_width)
current_cloud_short_flag = span_a < (span_b - min_cloud_width)
future_cloud_long_flag = future_span_a > (future_span_b + min_cloud_width)
future_cloud_short_flag = future_span_a < (future_span_b - min_cloud_width)
base_line_long_flag = check_base_line_above_cloud ? (base_line > span_a) : true
base_line_short_flag = check_base_line_above_cloud ? (base_line < span_a) : true
conversion_line_long_flag = check_conversion_line_above_base_line ? (conversion_line > base_line) : true
conversion_line_short_flag = check_conversion_line_above_base_line ? (conversion_line < base_line) : true
price_long_flag = check_price_above_conversion_line ? (close > conversion_line) : true
price_short_flag = check_price_above_conversion_line ? (close < conversion_line) : true
span_a_point_long_flag = check_span_a_point_up ? (span_a > span_a[1]) : true
span_a_point_short_flag = check_span_a_point_up ? (span_a < span_a[1]) : true
span_b_point_long_flag = check_span_b_point_up ? (span_b > span_b[1]) : true
span_b_point_short_flag = check_span_b_point_up ? (span_b < span_b[1]) : true
future_span_a_point_long_flag = check_future_span_a_point_up ? (future_span_a > future_span_a[1]) : true
future_span_a_point_short_flag = check_future_span_a_point_up ? (future_span_a < future_span_a[1]) : true
future_span_b_point_long_flag = check_future_span_b_point_up ? (future_span_b > future_span_b[1]) : true
future_span_b_point_short_flag = check_future_span_b_point_up ? (future_span_b < future_span_b[1]) : true
base_line_point_long_flag = check_base_line_point_up ? (base_line > base_line[1]) : true
base_line_point_short_flag = check_base_line_point_up ? (base_line < base_line[1]) : true
conversion_line_point_long_flag = check_conversion_line_point_up ? (conversion_line > conversion_line[1]) : true
conversion_line_point_short_flag = check_conversion_line_point_up ? (conversion_line < conversion_line[1]) : true
bada_long = bchange(current_cloud_long_flag)
or bchange(future_cloud_long_flag)
or bchange(base_line_long_flag)
or bchange(conversion_line_long_flag)
or bchange(price_long_flag)
or bchange(span_a_point_long_flag)
or bchange(span_b_point_long_flag)
or bchange(future_span_a_point_long_flag)
or bchange(future_span_b_point_long_flag)
or bchange(base_line_point_long_flag)
or bchange(conversion_line_point_long_flag)
bada_short = bchange(current_cloud_short_flag)
or bchange(future_cloud_short_flag)
or bchange(base_line_short_flag)
or bchange(conversion_line_short_flag)
or bchange(price_short_flag)
or bchange(span_a_point_short_flag)
or bchange(span_b_point_short_flag)
or bchange(future_span_a_point_short_flag)
or bchange(future_span_b_point_short_flag)
or bchange(base_line_point_short_flag)
or bchange(conversion_line_point_short_flag)
bada_color = bada_long ? bull_signal_color : bear_signal_color
plotshape(bada_long or bada_short, title="bada",
style=shape.circle,
location=location.belowbar,
color=bada_color,
transp=50)
bing_long = current_cloud_long_flag
and future_cloud_long_flag
and base_line_long_flag
and conversion_line_long_flag
and price_long_flag
and span_a_point_long_flag
and span_b_point_long_flag
and future_span_a_point_long_flag
and future_span_b_point_long_flag
and base_line_point_long_flag
and conversion_line_point_long_flag
bing_short = current_cloud_short_flag
and future_cloud_short_flag
and base_line_short_flag
and conversion_line_short_flag
and price_short_flag
and span_a_point_short_flag
and span_b_point_short_flag
and future_span_a_point_short_flag
and future_span_b_point_short_flag
and base_line_point_short_flag
and conversion_line_point_short_flag
bing_color = bing_long ? bull_signal_color : bear_signal_color
plotshape(bchange(bing_long or bing_short), title="bing",
style=shape.diamond,
location=location.abovebar,
color=bing_color,
transp=0)
c = plot(conversion_line, color=conversion_color, title="Conversion Line", linewidth=2)
b = plot(base_line, color=base_color, title="Base Line", linewidth=2)
p1 = plot(future_span_a, offset = displacement, color=span_a_color, title="Span A", linewidth=3)
p2 = plot(future_span_b, offset = displacement, color=red, title="Span B", linewidth=3)
fill(p1, p2, color = future_span_a > future_span_b ? bullish_color : bearish_color, transp = 60)
strategy.entry("long", true, 1, when=bing_long)
strategy.exit("stop", "long", stop=span_a)
strategy.close("long", when=close < base_line)
strategy.entry("short", false, 1, when=bing_short)
strategy.exit("stop", "short", stop=span_a)
strategy.close("short", when=close > base_line)