Ichimoku Kinko Hyo ist eine Trend-Folge-Strategie, die auf der Grundlage des Ichimoku Kinko Hyo-Indikators entwickelt wurde.
Die Strategie verwendet die Beziehung zwischen Konversionslinie, Basislinie, Leading-Span A, Leading-Span B und dem Preis selbst aus dem Ichimoku-System, um die Trendrichtung und Stärke zu bestimmen.
Es löst ein Kaufsignal aus, wenn alle oben genannten Bedingungen erfüllt sind, und ein Verkaufssignal, wenn alle Bedingungen umgekehrt sind.
Die Strategie setzt auch die führende Spanne A als Stop-Loss-Linie.
Dies ist eine äußerst strenge Strategie, die effektiv falsche Signale und Sperren in wichtigen Trends vermeidet. Sie verwendet auch mehrere Indikatoren, um den Trend zu bestimmen und systemische Ausfälle einzelner Metriken zu verhindern.
Die Strategie begünstigt lange Haltedauer, wodurch die Handelsfrequenz und die Kosten für Provisionen und Slippage reduziert werden.
Der Stop-Loss dieser Strategie ist relativ breit und liegt bei der Spannweite A, was das Risiko von großen Verlusten pro Handel mit sich bringt.
Auch werden weniger Signale generiert, was einige kurzfristige Chancen verpassen kann.
Feine Tone-Eingangsregeln, um ein Gleichgewicht zwischen mehr Signalen und Filtern von Lärm zu finden.
Erforschen Sie fortschrittlichere Stop-Loss-Techniken wie automatisierte oder Remote-Stopps, um Einzelhandelsverluste zu kontrollieren.
Testwirkung verschiedener Parametermengen, um optimale Werte zu finden.
Das ist eine außergewöhnlich strenge Trend-Folge-Strategie, die auf dem Ichimoku Kinko Hyo-System basiert. Durch die Verwendung mehrerer Ichimoku-Metriken zur Messung des Trends vermeidet es zuverlässig falsche Signale. Der breite Stop-Loss ermöglicht es, langfristige Trends zu fahren. Mit Parameter-Tuning und Risikomanagement-Verbesserungen kann sich diese Strategie zu einem formidablen System für den quantitativen Handel entwickeln.
/*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)