
Die Strategie beurteilt die Richtung und Stärke des Marktes, indem sie hauptsächlich die Durchbrüche der K-Linien beobachtet. Wenn ein aufwärts gerichteter K-Linienbruch eintritt, setzt die Strategie einen positiven Eintrittspunkt in der Nähe des Durchbruchs ein.
Die Strategie definiert einen Zeitrahmen für den Handel und sucht nur in diesem Zeitrahmen nach Handelsmöglichkeiten.
Die Strategie beurteilt nach der Bildung jeder K-Linie, ob es zu einem signifikanten Durchbruch der Höchst- und Tiefstpreise der ersten beiden K-Linien gekommen ist.
2.1 Wenn der Minimalpreis der zweiten K-Linie höher ist als der Maximalpreis der ersten K-Linie, tritt ein Aufwärts-Boxenbruch auf.
2.2 Wenn der Höchstwert der zweiten K-Linie niedriger ist als der Mindestwert der ersten K-Linie, tritt ein Abwärts-Boxenbruch auf.
Nach der Bestätigung des Box-Break-Signals setzt die Strategie einen positiven oder umgekehrten Einstiegspunkt in der Nähe des Höchst- oder Tiefstpreises der K-Linie.
Sobald eine Position gebildet wird, wird die Strategie auf die doppelte Breakout-Wertung eingestellt, um die Beschleunigung des Trends zu erfassen.
Die Strategie setzt auch einen Stop-Loss-Punkt an der Stelle des niedrigsten oder höchsten Preises der zweiten K-Linie, um das Risiko von Verlusten zu verringern.
Diese Strategie hat folgende Vorteile:
Die Grundsätze sind einfach zu verstehen und zu befolgen.
Der Einsatz von K-Strahl-Körper-Breakthroughs zur Bestimmung der Richtung und Stärke des Marktes hat eine hohe Genauigkeit.
Durch die Einstellung des Stop-Levels können die Chancen auf eine Trendbeschleunigung erfasst werden.
Es gibt eine eindeutige Stop-Loss-Logik, um einzelne Verluste zu kontrollieren.
Die Strategie ist flexibel und kann nach dem persönlichen Stil angepasst werden.
Es gibt jedoch einige Risiken bei der Strategie:
Ein Durchbruchsignal kann ein falscher Durchbruch sein und kann nicht vollständig verhindern, dass Verluste auftreten.
Die Stop-Loss-Position in der Nähe der Einstiegspunkte kann leicht durch einen aggressiven Markt ausgelöst werden.
Es ist unmöglich, die Trendstruktur zu bestimmen, und bei Erschütterungen kann der Ausfall häufig ausgelöst werden.
Die Auswirkungen der unterschiedlichen Handelsarten und Zeitabschnitte werden nicht berücksichtigt.
Um diese Strategie weiter zu optimieren, können wir folgende Schritte unternehmen:
Adaptive Stop-Loss-Parameter für verschiedene Sorten und Zeiträume.
Es ist wichtig, die technischen Indikatoren für Trends zu ergänzen, um nicht in Schwankungen verwickelt zu werden.
Setzen Sie nachfolgende Aufschlagsmöglichkeiten ein, um Trends zu verfolgen.
Die Kombinationsmenge kann als Indikator für die Wahrscheinlichkeit eines Durchbruchs verwendet werden, um das Signal zu filtern.
Die Einführung von Machine-Learning-Algorithmen, um Trends zu bestimmen.
Die Strategie basiert auf einer einfachen Durchbruch-Prinzipien-Design, um überschüssige Gewinne durch die Erfassung der beschleunigten Betrieb nach dem Durchbruch zu gewinnen. Die Strategie ist leicht zu verstehen und zu implementieren, kann angepasst und optimiert werden, je nach individuellen Bedürfnissen und Marktumgebung, hat eine starke Praxis.
/*backtest
start: 2024-01-07 00:00:00
end: 2024-01-14 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Dvitash
//@version=5
strategy("Casper SMC Silver Bullet", shorttitle = "Casper SB", overlay=true, calc_on_order_fills = true)
startTime = input(defval = "1000", title = "Start Time")
endTime = input(defval = "1600", title = "End Time")
contractAmt = input.int(defval = 2, title = "Contract Amount")
fvgCol = input.color(defval = color.rgb(63, 61, 179, 41), title = "FVG Color")
borderCol = input.color(defval = color.rgb(35, 33, 172, 41), title = "FVG Border Color")
fvgExtendLength = input.int(defval = 0, minval = 0, title = "FVG Extend Length")
allowedTime = not na(time(timeframe.period, startTime + "-" + endTime +":23456", "America/New_York"))
newDay = bool(ta.change(time('D')))
h = hour(time('1'), "America/New_York")
var bool fvgDrawn = na
var float entryPrice = na
var float stopPrice = na
var float tpPrice = na
if newDay
fvgDrawn := false
// a_allBoxes = box.all
// if array.size(a_allBoxes) > 0
// for i = 0 to array.size(a_allBoxes) - 1
// box.delete(array.get(a_allBoxes, i))
if allowedTime and barstate.isconfirmed and h <= 16
//Long FVG
if high[2] < low and not fvgDrawn
// box.new(bar_index[2], low, bar_index + fvgExtendLength, high[2], bgcolor = fvgCol, border_color = borderCol)
stopPrice := low[2]
entryPrice := low
tpPrice := entryPrice + (math.abs(low[2] - entryPrice) * 2)
// log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
strategy.entry("long", strategy.long, contractAmt, limit = entryPrice, comment = "Long Entry")
fvgDrawn := true
if low[2] > high and not fvgDrawn
// box.new(bar_index[2], high, bar_index + fvgExtendLength, low[2], bgcolor = fvgCol, border_color = borderCol)
stopPrice := high[2]
entryPrice := high
tpPrice := entryPrice - (math.abs(high[2] - entryPrice) * 2)
// log.info("SL: " + str.tostring(stopPrice) + " Entry: " + str.tostring(entryPrice) + " TP: " + str.tostring(tpPrice))
strategy.entry("short", strategy.short, contractAmt, limit = entryPrice, comment = "Short Entry")
fvgDrawn := true
if h >= 16
strategy.close_all()
strategy.cancel_all()
strategy.exit("long exit", from_entry = "long", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Long Exit")
strategy.exit("short exit", from_entry = "short", qty = contractAmt, limit = tpPrice, stop = stopPrice, comment = "Short Exit")