Diese Strategie ist ein anpassungsfähiges Handelssystem, das auf Lücken und Preisbewegungen basiert und durch flexible Einstiegspunkte und dynamische Take-Profit/Stop-Loss-Einstellungen stabile Renditen erzielt.
Die Strategie arbeitet durch mehrere Kernmechanismen: 1. Gap-Trading-Mechanismus: Identifiziert Aufwärts- und Abwärtslücken und platziert Stop-Orders auf Gap-Niveaus 2. Trendverfolgung: Bestimmt die Trendrichtung anhand des Verhältnisses zwischen Eröffnungs- und Schließpreisen 3. Pyramiden: Ermöglicht bis zu 100 Befehle in die gleiche Richtung 4. Dynamisches TP/SL: Setzt auf Basis des durchschnittlichen Positionspreises dynamisch Take-Profit- und Stop-Loss-Levels fest 5. OCA-Auftragsverwaltung: Benutzt OCA-Auftragsgruppen, um die gegenseitige Exklusivität von TP- und SL-Aufträgen sicherzustellen 6. Grenzwerte für den Intraday-Handel: Kontrolle des Risikos durch Festlegung der maximalen innerhalb des Tages ausgeführten Aufträge
Dies ist eine gut konzipierte Handelsstrategie mit strenger Logik, die die Handelsstabilität und -sicherheit durch mehrere Mechanismen gewährleistet. Die Hauptvorteile liegen in ihrer Anpassungsfähigkeit und Risikokontrolle, während auf Risiken durch Marktvolatilität geachtet werden muss. Durch kontinuierliche Optimierung und Verbesserung hat die Strategie das Potenzial, eine stabile Performance in verschiedenen Marktumgebungen zu erhalten.
/*backtest start: 2024-12-04 00:00:00 end: 2024-12-11 00:00:00 period: 10m basePeriod: 10m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) backtestStartDate = input(timestamp("1 Jan 1990"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") backtestEndDate = input(timestamp("1 Jan 2023"), title="End Date", group="Backtest Time Period", tooltip="This end date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") inTradeWindow = true tp = input(10) sl = input(10) maxidf = input(title="Max Intraday Filled Orders", defval=5) // strategy.risk.max_intraday_filled_orders(maxidf) upGap = open > high[1] dnGap = open < low[1] dn = strategy.position_size < 0 and open > close up = strategy.position_size > 0 and open < close if inTradeWindow and upGap strategy.entry("GapUp", strategy.long, stop = high[1]) else strategy.cancel("GapUp") if inTradeWindow and dn strategy.entry("Dn", strategy.short, stop = close) else strategy.cancel("Dn") if inTradeWindow and dnGap strategy.entry("GapDn", strategy.short, stop = low[1]) else strategy.cancel("GapDn") if inTradeWindow and up strategy.entry("Up", strategy.long, stop = close) else strategy.cancel("Up") XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size dir = strategy.position_size < 0 ? -1 : 1 lmP = strategy.position_avg_price + dir*tp*syminfo.mintick slP = strategy.position_avg_price - dir*sl*syminfo.mintick float nav = na revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false) if inTradeWindow and not revCond and XQty > 0 strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL", "TPSL") strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL") if XQty == 0 or revCond strategy.cancel("TP") strategy.cancel("SL") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)