Die Kernidee dieser Strategie ist es, die K-Linienform, die zwischen den Zyklen enthalten sind, zu nutzen, um die Richtung des Trends zu bestimmen und als Einstiegssignal zu dienen. Wenn eine K-Linienform, die den vorherigen K-Linien enthält, zwischen den Zyklen enthalten ist, können wir daraus schließen, dass der Moment ein Trendwechsel ist.
Beurteilen Sie, ob eine K-Linienform zwischen den inhaltlichen Perioden auftritt. Die spezifische Beurteilungslogik lautet: Der Höhepunkt der aktuellen K-Line ist niedriger als der Höhepunkt der vorherigen K-Line, und der Tiefpunkt der aktuellen K-Line ist höher als der Tiefpunkt der vorherigen K-Line.
Beurteilen Sie den Fall der vorherigen K-Linie. Wenn der Schlusskurs höher als der Eröffnungskurs ist, wird er als Erfolg bezeichnet; wenn der Schlusskurs niedriger als der Eröffnungskurs ist, wird er als Fall bezeichnet.
Wenn die vorherige K-Linie rückläufig ist und eine Form von In-Zweck-Zwischen-Perioden auftritt, setzen wir einen Kauf-Stopp-Auftrag im Bereich von 10% des Höchstwerts der vorherigen K-Linie.
Wenn die vorherige K-Linie rückläufig ist und eine Form zwischen den impliziten Zyklen auftritt, setzen wir den Stop-Sell-Bill in der 10%-Reihe des vorherigen K-Linie-Tiefs.
Sobald ein Stopp-Signal ausgelöst wird, um eine Position zu bilden, setzen wir ein Stop-Loss-Signal und ein Stop-Signal ein. Die spezifische Stop-Loss-Distanz und die Stop-Signal-Distanz sind jeweils proportional zum vorherigen K-Linienamplitude.
Sollte es wieder zu einem Zwischen-Zyklus kommen, werden wir die Position vorrangig stilllegen und eine neue Laufzeit einrichten.
Die Vorteile dieser Strategie sind:
Mit Hilfe von K-Linien-Intranet-Logik wird der Einstiegszeitpunkt genau erfasst. Die Form der Intranet-Zyklen bedeutet oft eine bevorstehende Trendwende oder -beschleunigung, was uns einen besseren Einstiegszeitpunkt bietet.
Die Regeln der Strategie sind klar und verständlich und einfach zu handhaben.
Das Risiko kann kontrolliert werden, indem man die Höhe und Tiefe des vorherigen Zyklus nutzt, um den Stop-Loss-Stopp zu setzen.
Jedes Mal, wenn ein neues Angebot auftaucht, wird eine neue Liste erstellt, um den neuen Trends zu folgen.
Es gibt einige Risiken bei dieser Strategie:
Die in- und interzyklische Form führt nicht unbedingt zu einer Trendumkehr oder -beschleunigung. Es besteht ein gewisses Risiko für falsche Signale.
Die Schadensdistanz kann zu klein eingestellt sein, um die größeren Erschütterungen der Situation zu überstehen.
Die Stopp-Distanz kann zu groß sein, um rechtzeitig zu profitieren.
Die Strategie ist eher auf Trends angewiesen und hat nur begrenzten Gewinnraum bei der Bilanzierung.
Die Anzahl der Transaktionen kann zu häufig sein und die Transaktionskosten zu hoch.
Gegenmaßnahmen:
In Kombination mit anderen Indikatoren kann ein Bestätigungssignal, das zwischen den Zyklen in einem Filter enthalten ist, verwendet werden, um die Falschsignalrate zu reduzieren.
Die Stop-Loss-Distanz kann entsprechend gelockert werden, jedoch nicht mehr als 50% der Vibration der vorherigen K-Linie.
Die Distanz zwischen dem Stopp und der vorherigen K-Linie kann um etwa 50% verkürzt werden.
Optimierung der Kapitalverwaltung, Verringerung der Einzelleistungen und Reaktion auf die Sanierung.
Eine angemessene Lockerung der Zugangsbedingungen und eine Verringerung der Anzahl der Transaktionen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
In Kombination mit Trendindikatoren trenden Sie die Richtung der Tendenz und vermeiden Sie häufige Transaktionen bei der Bilanzierung. Zum Beispiel, wenn Sie die MACD-Trendentscheidung aufnehmen, sollten Sie nur berücksichtigen, wenn die MACD gleichgewichtig ist.
Optimierung der Stop-Loss-Strategie durch mobile Stop-Loss- oder Gewinnschutz-Stopp-Strategien, um die Stop-Loss-Elastizität zu erhöhen.
Verschiedene Stop-Loss-Stopp-Ratio-Einstellungen werden getestet, um die optimale Kombination von Parametern zu finden.
Die Einführung eines Wiedereintrittsmechanismus, um den Trend nach einem Verlust-Exit erneut zu erfassen.
Optimierung der Positionsverwaltung und Anpassung der einzelnen Positionen an die Marktschwankungen.
Optimierung der Kapitalverwaltung, z. B. der Auslastung von Fixkapital.
Testen Sie die Wirksamkeit der Strategie für verschiedene Sorten und Zeiträume.
Zusammenfassend ist dies eine Strategie, die Trendwendepunkte nutzt, um die Form zwischen den Zyklen zu beurteilen, und die Aufstellung von Anleihen, um einen umkehrenden Trend zu erfassen. Sie hat Vorteile wie die klare Eintrittszeit, einfache Strategievorschriften und kontrollierte Risiken, aber es gibt auch ein gewisses Risiko für Falschsignale und Optimierungsraum.
/*backtest
start: 2023-01-01 00:00:00
end: 2023-03-10 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Inside Bar Momentum Strategy
// As defined on Babypips.com
// https://www.babypips.com/trading/forex-inside-bar-20170113
// strategy("Babypips: Inside Bar Momentum Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=5)
From_Year = input(defval = 2018, title = "From Year")
From_Month = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
From_Day = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
To_Year = input(defval = 9999, title = "To Year")
To_Month = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
To_Day = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
Start = timestamp(From_Year, From_Month, From_Day, 00, 00) // backtest start window
Finish = timestamp(To_Year, To_Month, To_Day, 23, 59) // backtest finish window
Window = true
Stop_Buy_Perc = input(10, "Stop Buy Order Percentage From Previous Candle's Range")/100
Stop_Loss_Perc = input(20, "Stop Loss Distance from High/Low of Previous Candle")/100
Take_Prof_Perc = input(80, "Take Profit Distance from High/Low of Previous Candle")/100
Risk = input(2, "Percentage Of EQUITY to risk per trade", step=0.1, minval=0, maxval=100)/100
Inside_Bar = high[1] > high[0] and low[1] < low[0]
Prev_Range = high[1] - low[1]
Bullish = open[1] < close[1]
Bearish = open[1] > close[1]
// Get Key Levels
Long_Stop_Buy_Level = high[1] + (Prev_Range * Stop_Buy_Perc)
Short_Stop_Buy_Level = low[1] - (Prev_Range * Stop_Buy_Perc)
Long_Stop_Loss_Level = high[1] - (Prev_Range * Stop_Loss_Perc)
Short_Stop_Loss_Level = low[1] + (Prev_Range * Stop_Loss_Perc)
Long_Take_Prof_Level = high[1] + (Prev_Range * Take_Prof_Perc)
Short_Take_Prof_Level = low[1] - (Prev_Range * Take_Prof_Perc)
// Position Sizing
long_qty = floor((strategy.equity * Risk) / (Long_Stop_Buy_Level - Long_Stop_Loss_Level))
short_qty = floor((strategy.equity * Risk) / (Short_Stop_Loss_Level - Short_Stop_Buy_Level))
// -------------------------- LONG CONDITIONS --------------------------------//
// The first candlestick must be bullish (green or white) and if the second
// candlestick is completely contained by the first, set a buy stop order at
// the first candle’s high plus 10% of its range (high minus low).
// Place the stop loss at the first candle’s high minus 20% of its range
// and set the target at the first candle’s high plus 80% of its range
// If another inside bar pattern forms, the current position should be closed
// or the pending buy/sell order must be canceled and entry orders must be
// updated to the latest candles.
Long_Condition = Window and Inside_Bar and Bullish
if (Long_Condition)
// Incase we still have a buy stop order in the market
strategy.cancel_all()
// Close any existing positions according to the rules
strategy.close_all()
strategy.entry("Bullish IB", strategy.long, stop=Long_Stop_Buy_Level)
strategy.exit("Bullish Exit","Bullish IB", stop=Long_Stop_Loss_Level, limit=Long_Take_Prof_Level)
// -------------------------- SHORT CONDITIONS -------------------------------//
// The first candlestick must be bearish (red or black) and if the second
// candlestick is completely contained by the first, set a sell stop order at
// the first candle’s low minus 10% of its range (high minus low).
// Place the stop loss at the first candle’s low plus 20% of its range and
// set the target at the first candle’s low minus 80% of its range.
// If another inside bar pattern forms, the current position should be closed
// or the pending buy/sell order must be canceled and entry orders must be
// updated to the latest candles.
Short_Condition = Window and Inside_Bar and Bearish
if (Short_Condition)
// Incase we still have a buy stop order in the market
strategy.cancel_all()
// Close any existing positions according to the rules
strategy.close_all()
strategy.entry("Bearish IB", strategy.short, stop=Short_Stop_Buy_Level)
strategy.exit("Bearish Exit","Bearish IB", stop=Short_Stop_Loss_Level, limit=Short_Take_Prof_Level)
// ----------------------------- PLOTTING ------------------------------------//
plotshape(Inside_Bar, style=shape.arrowdown, location=location.abovebar, color=purple)