Dies ist eine Hochfrequenz-Handelsstrategie, die auf der 3-minütigen K-Linie der Coinbase-Börse basiert. Sie berechnet die oberen und unteren Schattenlinien der K-Linie, um festzustellen, ob es kurzfristig eine Umkehrmöglichkeit gibt.
Die Strategie beurteilt hauptsächlich, ob es kurzfristig Chancen für "Überkauf" oder "Überverkauf" gibt. "Überverkauf" und "Überkauf" entstehen in der Regel aus übermäßig optimistischen oder pessimistischen Emotionen auf dem Markt.
Insbesondere berechnet die Strategie die Größe der oberen und unteren Schattenlinien der K-Linie. Je größer die Schattenlinie, desto intensiver ist die Konfrontation zwischen Kaufkraft und Verkaufskraft vor dem Schließen der aktuellen K-Linie. Wenn die oberen Schattenlinien zu groß sind, bedeutet dies, dass viele Kauforders vor dem Schließen der K-Linie durch Verkaufsaufträge besiegt wurden, was darauf hindeutet, dass die bullische Macht schwächeln wird. Wenn die unteren Schattenlinien zu groß sind, bedeutet dies, dass viele Verkaufsaufträge vor dem Schließen der K-Linie durch Kauforders absorbiert wurden, was darauf hindeutet, dass die bärische Macht schwächeln wird.
Nach dieser Logik wählt die Strategie, wenn die Schattenlinie zu groß ist (d. h. wenn der Preis kurzfristig
Der größte Vorteil dieser Strategie besteht darin, die kurzfristigen irrationalen Schwankungen des Marktes zu nutzen, um eine umgekehrte Arbitrage zu erreichen.
Ein weiterer Vorteil ist, dass Coinbase eine Börse mit größeren Schwankungen ist.
Das größte Risiko, mit dem diese Strategie konfrontiert ist, ist, dass kurzfristige Kursschwankungen möglicherweise nicht viel Vorhersagbarkeit haben. Die Größe der oberen und unteren Schattenlinien kann nicht vollständig alle Informationen über Preisumkehrungen erfassen. Irrationale Emotionen der Händler folgen möglicherweise auch nicht logischen Regeln. Daher besteht in dieser Strategie immer noch ein gewisses Zufallsrisiko.
Darüber hinaus ist die Einstellung von Stop-Loss-Punkten ebenfalls von entscheidender Bedeutung. Zu lockere Stop-Loss-Punkte können den Verlust der Strategie erhöhen. Zu strenge Stop-Loss-Punkte können Chancen verpassen. Es muss ein Gleichgewicht zwischen Risiko-Belohnung-Verhältnis und Gewinnrate gefunden werden.
Diese Strategie kann in folgenden Dimensionen weiter optimiert werden:
Insgesamt ist diese Strategie eine typische statistische Arbitrage-Strategie. Sie versucht, kurzfristige irrationale Preisschwankungen zu nutzen, um Gewinne zu erzielen, mit etwas Logik und Machbarkeit. Der nächste Schritt besteht darin, Optimierungsexperimente aus mehr Dimensionen durchzuführen, um die Parameter-Einstellungen und Handelsregeln der Strategie wissenschaftlicher und systematischer zu machen.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //for coinbase, 3min logic //This strategy trades against the short term trend. The first position can be either long or short. //In the short term, prices fluctuate up and down on wide spread exchanges. //And if the price moves to one side, the price tends to return to its original position momentarily. //This strategy set stop order. Stop price is calculated with upper and lower shadows. strategy("ndb_mm_for_coinbase_btcusd", overlay=true, initial_capital=100000, slippage=50) fromyear = input(2019, minval = 2017, maxval = 2100, title = "From Year") frommonth = input(12, minval = 1, maxval = 12, title = "From Month") fromday = input(1, minval = 01, maxval = 31, title = "From day") toyear = input(2100, minval = 1900, maxval = 2100, title = "To Year") tomonth = input(12, minval = 01, maxval = 12, title = "To Month") today = input(31, minval = 01, maxval = 31, title = "To day") end = true length = input(3, title="period") mag = input(1.2, title="sigma", minval=0.1, step=0.1) up_shadow = abs(high - max(open, close)) dn_shadow = abs(low - min(open, close)) up_shadow_ma = sma(up_shadow, length) * mag dn_shadow_ma = sma(dn_shadow, length) * mag upper = close + dn_shadow_ma lower = close - up_shadow_ma plot(upper, color=red) plot(lower, color=blue) if strategy.position_size == 0 strategy.entry("Long", strategy.long) if 0 < strategy.position_size strategy.entry("Short", strategy.short, stop=lower, when=end) if 0 > strategy.position_size strategy.entry("Long", strategy.long, stop=upper, when=end)